r5026: Don't build the swig stuff by default until it's a bit more stable.
[sfrench/samba-autobuild/.git] / source / script / build_idl.sh
index 9ad9391ee050f6a709f584e15a92df9381d6d564..a4d0dfea8bdbad204186a842c22f794231b1ebc8 100755 (executable)
@@ -3,11 +3,9 @@
 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_"
+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
@@ -15,12 +13,24 @@ if [ x$FULLBUILD = xFULL ]; then
       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`
-    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