file_server: Move vfs objects initialisation into file_server.c smb.conf wrapper
[sfrench/samba-autobuild/.git] / source3 / autogen.sh
1 #!/bin/sh
2
3 # Run this script to build samba from GIT.
4
5 while true; do
6     case $1 in
7         --version-file)
8             VERSION_FILE=$2
9             shift 2
10             ;;
11         *)
12             break
13             ;;
14     esac
15 done
16
17 ## insert all possible names (only works with 
18 ## autoconf 2.x)
19 TESTAUTOHEADER="autoheader autoheader-2.53 autoheader2.50 autoheader259 autoheader253"
20 TESTAUTOCONF="autoconf autoconf-2.53 autoconf2.50 autoconf259 autoconf253"
21
22 AUTOHEADERFOUND="0"
23 AUTOCONFFOUND="0"
24
25
26 ##
27 ## Look for autoheader 
28 ##
29 for i in $TESTAUTOHEADER; do
30         if which $i > /dev/null 2>&1; then
31                 if test `$i --version | head -n 1 | cut -d.  -f 2 | sed "s/[^0-9]//g"` -ge 53; then
32                         AUTOHEADER=$i
33                         AUTOHEADERFOUND="1"
34                         break
35                 fi
36         fi
37 done
38
39 ## 
40 ## Look for autoconf
41 ##
42
43 for i in $TESTAUTOCONF; do
44         if which $i > /dev/null 2>&1; then
45                 if test `$i --version | head -n 1 | cut -d.  -f 2 | sed "s/[^0-9]//g"` -ge 53; then
46                         AUTOCONF=$i
47                         AUTOCONFFOUND="1"
48                         break
49                 fi
50         fi
51 done
52
53
54 ## 
55 ## do we have it?
56 ##
57 if test "$AUTOCONFFOUND" = "0" -o "$AUTOHEADERFOUND" = "0"; then
58         echo "$0: need autoconf 2.53 or later to build samba from GIT" >&2
59         exit 1
60 fi
61
62 echo "$0: running script/mkversion.sh"
63 ./script/mkversion.sh $VERSION_FILE || exit 1
64
65 rm -rf autom4te*.cache
66 rm -f configure include/config.h*
67
68 IPATHS="-Im4 -I../m4 -I../lib/replace"
69
70 echo "$0: running $AUTOHEADER $IPATHS"
71 $AUTOHEADER $IPATHS || exit 1
72
73 echo "$0: running $AUTOCONF $IPATHS"
74 $AUTOCONF $IPATHS || exit 1
75
76 rm -rf autom4te*.cache
77
78 if gcc -E tests/preproc-dummy.c -o /dev/null ;
79 then
80     PIDL_OUTPUTDIR="librpc/gen_ndr" CPP="gcc -E" PIDL=../pidl/pidl \
81         srcdir=. ../librpc/build_idl.sh ../librpc/idl/*.idl
82     PIDL_OUTPUTDIR="librpc/gen_ndr" CPP="gcc -E" PIDL=../pidl/pidl \
83         srcdir=. script/build_idl.sh librpc/idl/*.idl
84 else
85    echo "Warning: Could not compile idl files in autogen, "
86    echo "some autconf tests might not work properly"
87 fi
88
89 perl ../script/mkparamdefs.pl ../lib/param/param_functions.c --file ../lib/param/param_local.h --generate-scope=LOCAL
90 perl ../script/mkparamdefs.pl ../lib/param/loadparm.c --file ../lib/param/param_global.h --generate-scope=GLOBAL
91 perl ../script/mkparamdefs.pl param/loadparm.c --file param/param_global.h --generate-scope=GLOBAL
92 perl ../source4/script/mkproto.pl ../lib/param/loadparm.c --public ../lib/param/param_proto.h  --private ../lib/param/param_proto.h
93 perl ../script/mks3param.pl ../lib/param/loadparm.c --file ../lib/param/s3_param.h
94
95 echo "Now run ./configure (or ./configure.developer) and then make."
96 exit 0
97