Added check for devtodo binary
[distributed.git] / bootstrap
blob0d11e2d3206541faa282fde6152796b1c123381e
1 #!/bin/sh
4 # bootstrap
6 # Copyright (C) 2007, 2008 Francesco Salvestrini
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2 of the License, or
11 # (at your option) any later version.
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License along
19 # with this program; if not, write to the Free Software Foundation, Inc.,
20 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23 ME=bootstrap
26 # Internal functions
28 missing ()
30 PROGRAM=$1
32 if test x"$PROGRAM" = x""; then
33 return 1
35 IFS=":"
37 for i in $PATH
40 if test -f $i/$PROGRAM; then
41 echo $i/$PROGRAM
42 return 0
44 done
46 return 1
50 # External tools
52 AUTOHEADER=`missing autoheader`
53 ACLOCAL=`missing aclocal`
54 AUTOCONF=`missing autoconf`
55 AUTOMAKE=`missing automake`
56 AUTORECONF=`missing autoreconf`
57 LIBTOOL=`( missing glibtool || missing libtool )`
58 LIBTOOLIZE=`( missing glibtoolize || missing libtoolize)`
59 GNULIBTOOL=`missing gnulib-tool`
62 # Dump some useful informations
64 echo "$ME: Dumping build-tools information ..."
65 for tool in \
66 $AUTOHEADER \
67 $AUTOCONF \
68 $LIBTOOL \
69 $LIBTOOLIZE \
70 $ACLOCAL \
71 $AUTOMAKE \
72 $AUTORECONF \
73 $GNULIBTOOL \
76 if test -n "$tool" ; then
77 TOOLVER=`$tool --version | head -1`
78 echo "$ME: $tool -> $TOOLVER"
80 done
83 # Remove files left from the previous run
85 echo "$ME: Removing autotools related files and directories ..."
86 rm -f `find ./ -name "Makefile.in"` || exit 1
87 rm -f config.cache aclocal.m4 config.h.in configure || exit 1
88 rm -f config.guess config.sub ltmain.sh || exit 1
89 rm -rf autom4te.cache || exit 1
90 rm -rf `find ./ -name ".deps"` || exit 1
93 # configure.ac
95 echo "$ME: Building configure.ac from configure.ac.in"
96 rm -f configure.ac
97 VERSION=`git tag -l | sort -s -t '.' -k 1,1n -k 2,2n -k 3,3n | tail -n 1`
98 cat configure.ac.in | sed -e 's,[@]VERSION[@],'$VERSION',' > configure.ac || \
99 { rm -f configure.ac ; exit 1 ; }
100 chmod a-w configure.ac
103 # Call gnulib
105 if test -n "$GNULIBTOOL" ; then
106 $GNULIBTOOL \
107 --lgpl \
108 --no-changelog \
109 --macro-prefix GNULIB \
110 --no-vc-files \
111 --aux-dir=./tools/autotools \
112 --m4-base=./tools/autotools/m4 \
113 --source-base=./src/gnulib \
114 --import crypto/md5 crypto/sha1 getopt || exit 1
118 # autoreconf
120 echo "$ME: Handling autotools bootstrap ..."
122 echo "$ME: Running autoreconf ..."
123 $ACLOCAL --force --install -I ./tools/autotools/m4 && \
124 $AUTORECONF --verbose --force --install -Wall || {
125 exit 1
128 exit 0