AC_DEFUN(AM_RPC_CONFIGURE, [
AC_DEFINE(HAVE_RPC)
AH_TEMPLATE(HAVE_RPC, [Define to 1 if building RPC client/server.])
XDR_FILE=$srcdir/../rpc_server/db_server.x
RPCGEN="rpcgen -C"
AC_MSG_CHECKING(["$RPCGEN" build of db_server.h])
$RPCGEN -h $XDR_FILE > db_server.h 2>/dev/null
if test $? -ne 0; then
AC_MSG_RESULT([no])
RPCGEN="rpcgen"
AC_MSG_CHECKING(["$RPCGEN" build of db_server.h])
$RPCGEN -h $XDR_FILE > db_server.h 2>/dev/null
if test $? -ne 0; then
AC_MSG_RESULT([no])
AC_MSG_ERROR(
[Unable to build RPC support: $RPCGEN failed.])
fi
fi
if grep "env_create_[[0-9]]*_svc" db_server.h >/dev/null 2>&1 ; then
sed 's/__SVCSUFFIX__/_svc/' \
< $srcdir/../rpc_server/c/gen_db_server.c > gen_db_server.c
else
sed 's/__SVCSUFFIX__//' \
< $srcdir/../rpc_server/c/gen_db_server.c > gen_db_server.c
fi
AC_MSG_RESULT([yes])
$RPCGEN -l $XDR_FILE |
sed -e 's/^ -e '1,/^&/' > db_server_clnt.c
$RPCGEN -s tcp $XDR_FILE |
sed -e 's/^ -e 's/^main *()/__dbsrv_main()/' \
-e 's/^main *(.*argc.*argv.*)/__dbsrv_main(int argc, char *argv[])/' \
-e '/^db_rpc_serverprog/,/^}/{' \
-e 's/return;//' \
-e 's/^}/__dbsrv_timeout(0);}/' \
-e '}' \
-e '1,/^&/' > db_server_svc.c
$RPCGEN -c $XDR_FILE |
sed -e 's/^ -e '1,/^&/' > db_server_xdr.c
RPC_SERVER_H=db_server.h
RPC_CLIENT_OBJS="\$(RPC_CLIENT_OBJS)"
ADDITIONAL_PROGS="berkeley_db_svc $ADDITIONAL_PROGS"
AC_CHECK_FUNC(svc_run,,
AC_HAVE_LIBRARY(nsl, LIBSO_LIBS="$LIBSO_LIBS -lnsl"))
])