123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- # This is like 'xmlrpc-c-config', but for testing Xmlrpc-c from its build
- # directory instead of for an installed instance of Xmlrpc-c.
- #
- # For example, the make file in the src/test/ directory uses this program
- # to link the test programs with the Xmlrpc-c libraries in the build
- # directory. A real application program would instead use xmlrpc-c-config
- # and get the Xmlrpc-c libraries from their installed home.
- if test $# -eq 0; then
- echo "You need to specify arguments"
- exit 1
- fi
- the_libs=
- the_includes=
- the_rpath=
- the_wl_rpath=
- sopath=
- # It's important that packetsocket lib go after client, server libs
- packetsocket_lib=
- if test "${ENABLE_LIBXML2_BACKEND}" = "yes"; then
- LIBXML=`xml2-config --libs`
- else
- LIBXML="${BLDDIR}/lib/expat/xmlparse/libxmlrpc_xmlparse.a"
- sopath="${BLDDIR}/lib/expat/xmlparse:$sopath"
- LIBXML="${LIBXML} ${BLDDIR}/lib/expat/xmltok/libxmlrpc_xmltok.a"
- sopath="${BLDDIR}/lib/expat/xmltok:$sopath"
- fi
- needCpp=no
- LIBXMLRPC="${BLDDIR}/src/libxmlrpc.a"
- LIBXMLRPC_UTIL="${BLDDIR}/lib/libutil/libxmlrpc_util.a"
- the_libs="${LIBXMLRPC} ${LIBXMLRPC_UTIL} ${LIBXML} $the_libs"
- the_includes="-I${BLDDIR}/include -I${ABS_SRCDIR}/include $the_includes"
- sopath="${BLDDIR}/src:$sopath"
- while test $# -gt 0; do
- case $1 in
- c++)
- # 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="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
- the_libs="${BLDDIR}/src/libxmlrpc_server_abyss.a $the_libs"
- the_libs="${BLDDIR}/src/libxmlrpc_client.a $the_libs"
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_cpp.a $the_libs"
- ;;
- c++2)
- needCpp=yes
- the_libs="${BLDDIR}/src/cpp/lib$LIBXMLRPCPP_NAME.a $the_libs"
- ;;
- server-util)
- the_libs="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
- if test "${needCpp}" = "yes"; then
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server++.a $the_libs"
- fi
- ;;
- cgi-server)
- the_libs="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
- if test "${needCpp}" = "yes"; then
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server_cgi++.a $the_libs"
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server++.a $the_libs"
- else
- the_libs="${BLDDIR}/src/libxmlrpc_server_cgi.a $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="${BLDDIR}/lib/abyss/src/libxmlrpc_abyss.a $the_libs"
- the_libs="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
- the_libs="${BLDDIR}/src/libxmlrpc_server_abyss.a $the_libs"
- if test "${needCpp}" = "yes"; then
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server++.a $the_libs"
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server_abyss++.a $the_libs"
- fi
- sopath="${BLDDIR}/lib/abyss/src:$sopath"
- ;;
- pstream-server)
- the_libs="${LSOCKET} $the_libs"
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server_pstream++.a $the_libs"
- the_libs="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server++.a $the_libs"
- the_libs="${BLDDIR}/src/cpp/libxmlrpc_server_pstream++.a $the_libs"
- packetsocket_lib="${BLDDIR}/src/cpp/libxmlrpc_packetsocket.a"
- ;;
- client)
- the_libs="${BLDDIR}/src/libxmlrpc_client.a $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="${BLDDIR}/src/cpp/libxmlrpc_client++.a $the_libs"
- packetsocket_lib="${BLDDIR}/src/cpp/libxmlrpc_packetsocket.a"
- fi
- ;;
- --version)
- echo "$XMLRPC_MAJOR_RELEASE.$XMLRPC_MINOR_RELEASE.$XMLRPC_POINT_RELEASE"
- ;;
- --modules)
- echo "$FEATURE_LIST"
- ;;
- --features)
- echo "$FEATURE_LIST"
- ;;
- --cflags)
- echo "$the_includes"
- ;;
- --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"
- ;;
- --sopath)
- echo "$sopath"
- ;;
- --help)
- echo "See the real xmlrpc-c-config program" 1>&2
- ;;
- *)
- echo "Unrecognized token '$1'"
- echo "${usage}" 1>&2
- exit 1
- ;;
- esac
- shift
- done
- exit 0
|