2008-05-23 16:56:24 -04:00
|
|
|
# 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
|
2012-10-13 12:37:25 -04:00
|
|
|
the_libs="${BLDDIR}/src/cpp/lib$LIBXMLRPCPP_NAME.a $the_libs"
|
2008-05-23 16:56:24 -04:00
|
|
|
;;
|
|
|
|
server-util)
|
|
|
|
the_libs="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
|
2012-10-13 12:37:25 -04:00
|
|
|
if test "${needCpp}" = "yes"; then
|
|
|
|
the_libs="${BLDDIR}/src/cpp/libxmlrpc_server++.a $the_libs"
|
|
|
|
fi
|
2008-05-23 16:56:24 -04:00
|
|
|
;;
|
|
|
|
cgi-server)
|
|
|
|
the_libs="${BLDDIR}/src/libxmlrpc_server.a $the_libs"
|
2012-10-13 12:37:25 -04:00
|
|
|
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
|
2008-05-23 16:56:24 -04:00
|
|
|
;;
|
|
|
|
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"
|
2012-10-13 12:37:25 -04:00
|
|
|
the_rpath="-R$WININET_LIBDIR $the_rpath"
|
|
|
|
the_wl_rpath="-Wl,-rpath,$WININET_LIBDIR $the_wl_rpath"
|
2008-05-23 16:56:24 -04:00
|
|
|
fi
|
|
|
|
if test "${MUST_BUILD_CURL_CLIENT}" = "yes"; then
|
|
|
|
the_libs="$the_libs $CURL_LDADD"
|
2012-10-13 12:37:25 -04:00
|
|
|
the_rpath="-R$CURL_LIBDIR $the_rpath"
|
|
|
|
the_wl_rpath="-Wl,-rpath,$CURL_LIBDIR $the_wl_rpath"
|
2008-05-23 16:56:24 -04:00
|
|
|
fi
|
|
|
|
if test "${MUST_BUILD_LIBWWW_CLIENT}" = "yes"; then
|
|
|
|
the_libs="$the_libs $LIBWWW_LDADD"
|
2012-10-13 12:37:25 -04:00
|
|
|
the_rpath="-R$LIBWWW_LIBDIR $the_rpath"
|
|
|
|
the_wl_rpath="-Wl,-rpath,$LIBWWW_LIBDIR $the_wl_rpath"
|
2008-05-23 16:56:24 -04:00
|
|
|
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)
|
2012-10-13 12:37:25 -04:00
|
|
|
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"
|
2008-05-23 16:56:24 -04:00
|
|
|
;;
|
|
|
|
--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
|