1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-05 21:57:51 +03:00
samba-mirror/source/script/build_idl.sh
Andrew Tridgell ccd9ddeed6 added auto-generation of the IDL interface tables. This makes two less
places that need to be edited when someone adds a new IDL file.
-

36 lines
785 B
Bash
Executable File

#!/bin/sh
FULLBUILD=$1
[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
[ -d librpc/gen_rpc ] || mkdir -p librpc/gen_rpc || exit 1
( cd build/pidl && make ) || exit 1
PIDL="build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --client librpc/gen_rpc/rpc_"
TABLES="build/pidl/tables.pl --output librpc/gen_ndr/tables"
if [ x$FULLBUILD = xFULL ]; then
echo Rebuilding all idl files in librpc/idl
$PIDL librpc/idl/*.idl || exit 1
echo Rebuilding IDL tables
$TABLES librpc/gen_ndr/ndr_*.h
exit 0
fi
list=""
for f in librpc/idl/*.idl; do
basename=`basename $f .idl`
if [ "$f" -nt librpc/gen_ndr/ndr_$basename.c ]; then
list="$list $f"
fi
done
if [ "x$list" != x ]; then
$PIDL $list || exit 1
fi
exit 0