s3-registry: Check return code of push_reg_sz().
[kai/samba.git] / source3 / autogen.sh
index 1a33eb22cc467b823ef807e1b474825102f0cf64..4f39e10441b215e2edcad6e84445799c50394c10 100755 (executable)
@@ -2,6 +2,20 @@
 
 # Run this script to build samba from GIT.
 
+
+_exit() {
+       echo $@ >&2
+       cd ${OLD_DIR}
+       exit 1
+}
+
+OLD_DIR=$(pwd)
+BASE_DIR=$(dirname $0)
+SCRIPT_NAME=$(basename $0)
+
+cd ${BASE_DIR} || exit 1
+
+
 while true; do
     case $1 in
        --version-file)
@@ -55,8 +69,7 @@ done
 ## do we have it?
 ##
 if test "$AUTOCONFFOUND" = "0" -o "$AUTOHEADERFOUND" = "0"; then
-       echo "$0: need autoconf 2.53 or later to build samba from GIT" >&2
-       exit 1
+       _exit "$0: need autoconf 2.53 or later to build samba from GIT"
 fi
 
 echo "$0: running script/mkversion.sh"
@@ -65,16 +78,44 @@ echo "$0: running script/mkversion.sh"
 rm -rf autom4te*.cache
 rm -f configure include/config.h*
 
-IPATHS="-Im4 -I../lib/replace -I../source4"
+IPATHS="-Im4 -I../m4 -I../lib/replace"
 
 echo "$0: running $AUTOHEADER $IPATHS"
-$AUTOHEADER $IPATHS || exit 1
+$AUTOHEADER $IPATHS || _exit "ERROR running autoheader"
 
 echo "$0: running $AUTOCONF $IPATHS"
-$AUTOCONF $IPATHS || exit 1
+$AUTOCONF $IPATHS || _exit "ERROR running autoconf"
 
 rm -rf autom4te*.cache
 
-echo "Now run ./configure and then make."
+( cd ../examples/VFS || exit 1
+  echo "$0: running $AUTOHEADER in ../examples/VFS/"
+  $AUTOHEADER || exit 1
+  echo "$0: running $AUTOCONF in ../examples/VFS/"
+  $AUTOCONF || exit 1
+  rm -rf autom4te*.cache
+) || _exit "ERROR running autoheader/autoconf in examples/VFS"
+
+
+if gcc -E tests/preproc-dummy.c -o /dev/null ;
+then
+    PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" CPP="gcc -E" PIDL=../pidl/pidl \
+       srcdir=. ../librpc/build_idl.sh ../librpc/idl/*.idl
+    PIDL_OUTPUTDIR="autoconf/librpc/gen_ndr" CPP="gcc -E" PIDL=../pidl/pidl \
+       srcdir=. script/build_idl.sh librpc/idl/*.idl
+else
+   echo "Warning: Could not compile idl files in autogen, "
+   echo "some autconf tests might not work properly"
+fi
+
+perl ../script/mkparamdefs.pl ../lib/param/param_functions.c --file autoconf/lib/param/param_local.h --generate-scope=LOCAL
+perl ../script/mkparamdefs.pl ../lib/param/loadparm.c ../lib/param/param_functions.c --file autoconf/lib/param/param_global.h --generate-scope=GLOBAL
+perl ../script/mkparamdefs.pl param/loadparm.c ../lib/param/param_functions.c --file autoconf/source3/param/param_global.h --generate-scope=GLOBAL
+perl ../source4/script/mkproto.pl ../lib/param/loadparm.c ../lib/param/param_functions.c --public autoconf/lib/param/param_proto.h --private autoconf/lib/param/param_proto.h
+perl ../script/mks3param.pl ../lib/param/loadparm.c ../lib/param/param_functions.c --file autoconf/lib/param/s3_param.h
+
+echo "Now run ./configure (or ./configure.developer) and then make."
+
+cd ${OLD_DIR}
 exit 0