diff options
Diffstat (limited to '')
-rwxr-xr-x | doc/bootstrap | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/doc/bootstrap b/doc/bootstrap new file mode 100755 index 0000000000..b852ce1c12 --- /dev/null +++ b/doc/bootstrap @@ -0,0 +1,128 @@ +#!/bin/sh +# +# helps bootstrapping, when checked out from CVS +# requires GNU autoconf and GNU automake +# +# $Id$ + +progname=`basename $0` +top_srcdir=`dirname $0` + +verbose=""; +quiet="false" +mode="generate" + +usage() +{ + echo + echo "usage: ${progname} [-h|-q|-v]" + echo + echo "options:" + echo " -h .. display this message and exit"; + echo " -q .. quiet, don't display directories"; + echo " -v .. verbose, pass -v to automake when invoking automake" + echo " -c .. clean, remove all aclocal/autoconf/automake generated files" + echo + exit 1; +} + +generate() +{ + dir=$1 + amopts=$2 + aclocal_amflags=$3 + + ( test "$quiet" = "true" || echo "$dir"; + cd $dir; + aclocal $aclocal_amflags + autoconf + test -n "`grep CONFIG_HEADER configure.in`" && autoheader ; + test -f Makefile.am && automake $amopts ; + test -f Makefile.am && test -n "`grep 'stamp-h\.in' Makefile.in`" \ + && echo timestamp > stamp-h.in + ) +} + +while test $# -gt 0; do +case $1 in +-h|--he|--hel|--help) + usage ;; +-q|--qu|--qui|--quie|--quiet) + quiet="true"; + shift;; +-v|--ve|--ver|--verb|--verbo|--verbos|--verbose) + verbose="-v"; + shift;; +-c|--cl|--cle|--clea|--clean) + mode="clean"; + shift;; +-*) echo "unknown option $1" ; + usage ;; +*) echo "invalid parameter $1" ; + usage ;; +esac +done + +case $mode in +generate) + + case $top_srcdir in + /* ) aclocal_dir=$top_srcdir/aclocal + ;; + *) aclocal_dir=`pwd`/$top_srcdir/aclocal + ;; + esac + if test -d $aclocal_dir; then + aclocal_amflags="-I $aclocal_dir" + fi + + confs=`find . -name 'configure.in' -print | sort` + for i in $confs; do + dir=`dirname $i`; + generate $dir "-a $verbose" "$aclocal_amflags"; + done + ;; + +clean) + test "$quiet" = "$true" || echo "removing automake support files" + find . -name 'config.guess' -print | xargs rm -f + find . -name 'config.sub' -print | xargs rm -f + find . -name 'install-sh' -print | xargs rm -f + find . -name 'missing' -print | xargs rm -f + find . -name 'mkinstalldirs' -print | xargs rm -f + + test "$quiet" = "true" || echo "removing automake generated Makefile.in files" + files=`find . -name 'Makefile.am' -print | sed -e 's%\.am%\.in%g'` ; + for i in $files; do if test -f $i; then + rm -f $i + test "$verbose" = "-v" && echo "$i" + fi; done + + test "$quiet" = "true" || echo "removing configure files" + files=`find . -name 'configure' -print` ; + test "$verbose" = "-v" && test -n "$files" && echo "$files" ; + for i in $files; do if test -f $i; then + rm -f $i + test "$verbose" = "-v" && echo "$i" + fi; done + + test "$quiet" = "true" || echo "removing aclocal.m4 files" + files=`find . -name 'aclocal.m4' -print` ; + test "$verbose" = "-v" && test -n "$files" && echo "$files" ; + for i in $files; do if test -f $i; then + rm -f $i + test "$verbose" = "-v" && echo "$i" + fi; done + + find . -name '*~' -print | xargs rm -f + find . -name '*.orig' -print | xargs rm -f + find . -name '*.rej' -print | xargs rm -f + find . -name 'config.status' -print | xargs rm -f + find . -name 'config.log' -print | xargs rm -f + find . -name 'config.cache' -print | xargs rm -f + find . -name 'Makefile' -print | xargs rm -f + find . -name '.deps' -print | xargs rm -rf + find . -name '.libs' -print | xargs rm -rf + find . -name 'stamp-h.in' | xargs rm -rf + ;; +esac |