1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00
samba-mirror/source4/script/build_idl.sh
Tim Potter 0ee9f4d6e1 r4599: Remove some duplicated code in pidl.pl.
Start working on adding support for bitmaps and enums.

In progress tweaks for arrays of structures.
(This used to be commit d39cb7ecb4c193cbba628ee6d6f9b5c5bbf89d33)
2007-10-10 13:08:32 -05:00

42 lines
965 B
Bash
Executable File

#!/bin/sh
FULLBUILD=$1
[ -d librpc/gen_ndr ] || mkdir -p librpc/gen_ndr || exit 1
PIDL="$PERL ./build/pidl/pidl.pl --output librpc/gen_ndr/ndr_ --parse --header --parser --server --client"
EPARSERPIDL="$PERL ./build/pidl/pidl.pl --output $EPARSERPREFIX/ndr_ --parse --header --parser --eparser"
if [ x$FULLBUILD = xFULL ]; then
echo Rebuilding all idl files in librpc/idl
$PIDL librpc/idl/*.idl || exit 1
exit 0
fi
if [ x$FULLBUILD = xEPARSER ]; then
echo Rebuilding all idl files in librpc/idl
$EPARSERPIDL librpc/idl/*.idl || exit 1
exit 0
fi
list=""
for f in librpc/idl/*.idl; do
basename=`basename $f .idl`
ndr="librpc/gen_ndr/ndr_$basename.c"
# blergh - most shells don't have the -nt function
if [ -f $ndr ]; then
if [ x`find $f -newer $ndr -print` = x$f ]; then
list="$list $f"
fi
else
list="$list $f"
fi
done
if [ "x$list" != x ]; then
$PIDL $list || exit 1
fi
exit 0