Add context pointer to secrets functions.
[jelmer/samba4-debian.git] / source / script / build_idl.sh
index b31d26c23d15834ffdffefd337f6c6b22881d864..ea0cb78b0ecac90fdabc61bb8a696e21db3ee152 100755 (executable)
@@ -1,30 +1,31 @@
 #!/bin/sh
 
 FULLBUILD=$1
+shift 1
+PIDL_EXTRA_ARGS="$*"
 
 [ -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"
+PIDL="$PERL $srcdir/pidl/pidl --outputdir librpc/gen_ndr --header --ndr-parser --server --client --swig --ejs --python $PIDL_EXTRA_ARGS"
 
 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
+      $PIDL $srcdir/librpc/idl/*.idl || exit 1
       exit 0
 fi
 
 list=""
 
-for f in librpc/idl/*.idl; do
+for f in $srcdir/librpc/idl/*.idl ; do
     basename=`basename $f .idl`
-    if [ "$f" -nt librpc/gen_ndr/ndr_$basename.c ]; then
-       list="$list $f"
+    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