mirror of
https://github.com/samba-team/samba.git
synced 2025-01-13 13:18:06 +03:00
7e400d38ec
The ODL module can convert an ODL structure to an IDL structure so that:
- The COM subsystem can use the ODL structure
- The DCE/RPC subsystem can use the IDL structure
(This used to be commit a339765d99
)
35 lines
723 B
Bash
Executable File
35 lines
723 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 --swig --odl"
|
|
|
|
if [ x$FULLBUILD = xFULL ]; then
|
|
echo Rebuilding all idl files in librpc/idl
|
|
$PIDL 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
|