#!/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