mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
6e716f475d
to bdb/dist/s_rpc so that bk doesn't complain about the rpc_server/db_server_proc.c file that gets overwritten (but needs to be stored in BK). Add a bdb/dist/template directory which is needed by bdb/dist/s_recover.
82 lines
2.6 KiB
Bash
82 lines
2.6 KiB
Bash
#!/bin/sh -
|
|
# $Id: s_rpc,v 11.6 2000/04/26 19:15:51 sue Exp $
|
|
#
|
|
# Build the automatically generated RPC files
|
|
|
|
echo "Building RPC client/server files"
|
|
|
|
client_file=../rpc_client/gen_client.c
|
|
cproto_file=../include/gen_client_ext.h
|
|
ctmpl_file=./template/gen_client_ret
|
|
header_file=../include/db_server.h
|
|
rpcclnt_file=../rpc_client/db_server_clnt.c
|
|
rpcsvc_file=../rpc_server/db_server_svc.c
|
|
rpcxdr_file=../rpc_server/db_server_xdr.c
|
|
sed_file=../rpc_server/db_server_proc.sed
|
|
server_file=../rpc_server/gen_db_server.c
|
|
sproto_file=../include/gen_server_ext.h
|
|
stmpl_file=./template/db_server_proc
|
|
xdr_file=../rpc_server/db_server.x
|
|
|
|
#
|
|
# NOTE: We do NOT want to remove proc_file. It is what we apply
|
|
# sed_file to, but we do not want to remove it.
|
|
#
|
|
proc_file=../rpc_server/db_server_proc.c
|
|
svrsed_file=../rpc_server/db_server_svc.sed
|
|
rpcsed_file=../rpc_server/db_server.sed
|
|
|
|
rm -f $client_file $cproto_file $ctmpl_file $header_file $rpcsvc_file \
|
|
$rpcclnt_file $rpcxdr_file $sed_file $server_file $sproto_file \
|
|
$stmpl_file $xdr_file
|
|
|
|
#
|
|
# Generate client/server/XDR code
|
|
#
|
|
awk -f gen_rpc.awk \
|
|
-v client_file=$client_file \
|
|
-v cproto_file=$cproto_file \
|
|
-v ctmpl_file=$ctmpl_file \
|
|
-v sed_file=$sed_file \
|
|
-v server_file=$server_file \
|
|
-v sproto_file=$sproto_file \
|
|
-v stmpl_file=$stmpl_file \
|
|
-v xdr_file=$xdr_file < ../rpc_server/rpc.src
|
|
chmod 444 $client_file $server_file
|
|
|
|
#
|
|
# Now run rpcgen to generate all our sources from the XDR file
|
|
#
|
|
rpcgen -h $xdr_file > $header_file
|
|
rpcgen -l $xdr_file > $rpcclnt_file
|
|
rpcgen -s tcp $xdr_file > $rpcsvc_file
|
|
rpcgen -c $xdr_file > $rpcxdr_file
|
|
|
|
# Run server files through sed
|
|
sed -f $svrsed_file $rpcsvc_file > ${rpcsvc_file}.new
|
|
mv ${rpcsvc_file}.new $rpcsvc_file
|
|
#
|
|
# This is a hack to handle the $proc_file special case. Since it
|
|
# is both a source file and a generated file, we have to dance a
|
|
# bit to get it to work with 'bk get', not just with 'bk edit'.
|
|
# This still isn't perfect (I don't know what perfect would be in
|
|
# this case), but it seems to work for now.
|
|
#
|
|
#sed -f $sed_file $proc_file > ${proc_file}.new
|
|
#mv ${proc_file}.new $proc_file
|
|
#
|
|
mv $proc_file ${proc_file}.old
|
|
sed -f $sed_file ${proc_file}.old > $proc_file
|
|
test -w ${proc_file}.old || chmod a-w $proc_file
|
|
rm -f ${proc_file}.old
|
|
|
|
# Run rpcgen files through sed to add HAVE_RPC ifdef
|
|
sed -f $rpcsed_file $rpcsvc_file > ${rpcsvc_file}.new
|
|
mv ${rpcsvc_file}.new $rpcsvc_file
|
|
sed -f $rpcsed_file $rpcxdr_file > ${rpcxdr_file}.new
|
|
mv ${rpcxdr_file}.new $rpcxdr_file
|
|
sed -f $rpcsed_file $rpcclnt_file > ${rpcclnt_file}.new
|
|
mv ${rpcclnt_file}.new $rpcclnt_file
|
|
|
|
chmod 444 $header_file $rpcclnt_file $rpcsvc_file $rpcxdr_file
|
|
|