1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
#!/bin/sh
# 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 examples/ directory uses this program
# to link the example 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.
# @srcdir@ and @top_srcdir@ are useless because they can be relative.
SRCDIR="@BUILDDIR@" # until we figure out how to do it right
BUILDDIR="@BUILDDIR@"
ENABLE_LIBXML2_BACKEND="@ENABLE_LIBXML2_BACKEND@"
ENABLE_ABYSS_THREADS="@ENABLE_ABYSS_THREADS@"
MUST_BUILD_CURL_CLIENT="@MUST_BUILD_CURL_CLIENT@"
MUST_BUILD_WININET_CLIENT="@MUST_BUILD_WININET_CLIENT@"
MUST_BUILD_LIBWWW_CLIENT="@MUST_BUILD_LIBWWW_CLIENT@"
LSOCKET="@LSOCKET@"
if test $# -eq 0; then
echo "You need to specify arguments"
exit 1
fi
sopath=
if test "${ENABLE_LIBXML2_BACKEND}" = "yes"; then
LIBXML=`xml2-config --libs`
else
LIBXML="${BUILDDIR}/lib/expat/xmlparse/.libs/libxmlrpc_xmlparse.a"
sopath="${BUILDDIR}/lib/expat/xmlparse/.libs:$sopath"
LIBXML="${LIBXML} ${BUILDDIR}/lib/expat/xmltok/.libs/libxmlrpc_xmltok.a"
sopath="${BUILDDIR}/lib/expat/xmltok/.libs:$sopath"
fi
needCpp=no
LIBXMLRPC="${BUILDDIR}/src/.libs/libxmlrpc.a"
LIBXMLRPC_UTIL="${BUILDDIR}/lib/libutil/.libs/libxmlrpc_util.a"
the_libs="${LIBXMLRPC} ${LIBXMLRPC_UTIL} ${LIBXML}"
the_includes="-I${SRCDIR}/include"
sopath="${BUILDDIR}/src/.libs:$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="${BUILDDIR}/src/.libs/libxmlrpc_server.a $the_libs"
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_server_abyss.a $the_libs"
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_client.a $the_libs"
the_libs="${BUILDDIR}/src/cpp/libxmlrpc_cpp.a $the_libs"
;;
c++2)
needCpp=yes
the_libs="${BUILDDIR}/src/cpp/libxmlrpc++.a $the_libs"
;;
server-util)
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_server.a $the_libs"
;;
cgi-server)
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_server.a $the_libs"
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_server_cgi.a $the_libs"
;;
abyss-server)
if test "${ENABLE_ABYSS_THREADS}" = "yes"; then
the_libs="-lpthread $the_libs"
fi
the_libs="${LSOCKET} $the_libs"
the_libs="${BUILDDIR}/lib/abyss/src/.libs/libxmlrpc_abyss.a $the_libs"
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_server.a $the_libs"
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_server_abyss.a $the_libs"
if test "${needCpp}" = "yes"; then
the_libs="${BUILDDIR}/src/cpp/libxmlrpc_server++.a $the_libs"
the_libs="${BUILDDIR}/src/cpp/libxmlrpc_server_abyss++.a $the_libs"
fi
the_includes="-I${SRCDIR}/lib/abyss/src $the_includes"
sopath="${BUILDDIR}/lib/abyss/src/.libs:$sopath"
;;
client)
the_libs="${BUILDDIR}/src/.libs/libxmlrpc_client.a $the_libs"
if test "${MUST_BUILD_WININET_CLIENT}" = "yes"; then
the_libs="@WININET_LDADD@ $the_libs"
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="@CURL_LDADD@ $the_libs"
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="@LIBWWW_LDADD@ $the_libs"
the_rpath="@LIBWWW_RPATH@ $the_rpath"
the_wl_rpath="@LIBWWW_WL_RPATH@ $the_wl_rpath"
fi
if test "${needCpp}" = "yes"; then
the_libs="${BUILDDIR}/src/cpp/libxmlrpc_client++.a $the_libs"
fi
;;
--version)
echo "@VERSION@"
;;
--modules)
echo "@FEATURE_LIST@"
;;
--features)
echo "@FEATURE_LIST@"
;;
--cflags)
echo "$the_includes"
;;
--libs)
echo "$the_libdirs $the_libs $the_wl_rpath"
;;
--ldadd)
echo "$the_libdirs $the_libs"
;;
--ldflags)
echo "$the_rpath"
;;
--sopath)
echo "$sopath"
;;
--prefix)
echo "@prefix@"
;;
--exec-prefix)
echo "@exec_prefix@"
;;
--*dir)
# Swiped from gnome-config.
dirname=\$`echo $1 | sed -e 's,^--,,'`
dirname=`eval echo $dirname`
test -z "$dirname" && exit 1
echo $dirname
;;
--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
|