From 32dfdae009132ed2152f1c3ba242df630c0d9e22 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 19 May 2008 02:03:00 +0200 Subject: Move IDL build script to rpc directory, make various bits and pieces easier to use externally. (This used to be commit 8328ff76416df5a6e05461d3a19f510b76f2e902) --- source4/librpc/scripts/build_idl.sh | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 source4/librpc/scripts/build_idl.sh (limited to 'source4/librpc/scripts/build_idl.sh') diff --git a/source4/librpc/scripts/build_idl.sh b/source4/librpc/scripts/build_idl.sh new file mode 100755 index 0000000000..5796f40c61 --- /dev/null +++ b/source4/librpc/scripts/build_idl.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +FULLBUILD=$1 +IDLDIR=$2 +OUTDIR=$3 +shift 3 +PIDL_EXTRA_ARGS="$*" + +[ -d $OUTDIR ] || mkdir -p $OUTDIR || exit 1 + +PIDL="$PIDL --outputdir $OUTDIR --header --ndr-parser --server --client --swig --ejs --python $PIDL_EXTRA_ARGS" + +if [ x$FULLBUILD = xFULL ]; then + echo Rebuilding all idl files in $IDLDIR + $PIDL $IDLDIR/*.idl || exit 1 + exit 0 +fi + +list="" + +for f in $IDLDIR/*.idl ; do + basename=`basename $f .idl` + ndr="$OUTDIR/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 -- cgit