1*a3cefe7fSPierre Pronchery#! /bin/sh 2*a3cefe7fSPierre Pronchery 3*a3cefe7fSPierre ProncheryTOP_DIR=$(dirname $0) 4*a3cefe7fSPierre ProncheryLAST_DIR=$PWD 5*a3cefe7fSPierre Pronchery 6*a3cefe7fSPierre Proncheryif test ! -f $TOP_DIR/configure.ac ; then 7*a3cefe7fSPierre Pronchery echo "You must execute this script from the top level directory." 8*a3cefe7fSPierre Pronchery exit 1 9*a3cefe7fSPierre Proncheryfi 10*a3cefe7fSPierre Pronchery 11*a3cefe7fSPierre ProncheryAUTOCONF=${AUTOCONF:-autoconf} 12*a3cefe7fSPierre ProncheryACLOCAL=${ACLOCAL:-aclocal} 13*a3cefe7fSPierre ProncheryAUTOHEADER=${AUTOHEADER:-autoheader} 14*a3cefe7fSPierre ProncheryAUTOMAKE=${AUTOMAKE:-automake} 15*a3cefe7fSPierre ProncheryLIBTOOLIZE=${LIBTOOLIZE:-libtoolize} 16*a3cefe7fSPierre Pronchery 17*a3cefe7fSPierre Proncherydump_help_screen () 18*a3cefe7fSPierre Pronchery{ 19*a3cefe7fSPierre Pronchery echo "Usage: $0 [options]" 20*a3cefe7fSPierre Pronchery echo 21*a3cefe7fSPierre Pronchery echo "options:" 22*a3cefe7fSPierre Pronchery echo " -n skip CVS changelog creation" 23*a3cefe7fSPierre Pronchery echo " -h,--help show this help screen" 24*a3cefe7fSPierre Pronchery echo 25*a3cefe7fSPierre Pronchery exit 0 26*a3cefe7fSPierre Pronchery} 27*a3cefe7fSPierre Pronchery 28*a3cefe7fSPierre Proncheryparse_options () 29*a3cefe7fSPierre Pronchery{ 30*a3cefe7fSPierre Pronchery while test "$1" != "" ; do 31*a3cefe7fSPierre Pronchery case $1 in 32*a3cefe7fSPierre Pronchery -h|--help) 33*a3cefe7fSPierre Pronchery dump_help_screen 34*a3cefe7fSPierre Pronchery ;; 35*a3cefe7fSPierre Pronchery -n) 36*a3cefe7fSPierre Pronchery SKIP_CVS_CHANGELOG=yes 37*a3cefe7fSPierre Pronchery ;; 38*a3cefe7fSPierre Pronchery *) 39*a3cefe7fSPierre Pronchery echo Invalid argument - $1 40*a3cefe7fSPierre Pronchery dump_help_screen 41*a3cefe7fSPierre Pronchery ;; 42*a3cefe7fSPierre Pronchery esac 43*a3cefe7fSPierre Pronchery shift 44*a3cefe7fSPierre Pronchery done 45*a3cefe7fSPierre Pronchery} 46*a3cefe7fSPierre Pronchery 47*a3cefe7fSPierre Proncheryrun_or_die () 48*a3cefe7fSPierre Pronchery{ 49*a3cefe7fSPierre Pronchery COMMAND=$1 50*a3cefe7fSPierre Pronchery 51*a3cefe7fSPierre Pronchery # check for empty commands 52*a3cefe7fSPierre Pronchery if test -z "$COMMAND" ; then 53*a3cefe7fSPierre Pronchery echo "*warning* no command specified" 54*a3cefe7fSPierre Pronchery return 1 55*a3cefe7fSPierre Pronchery fi 56*a3cefe7fSPierre Pronchery 57*a3cefe7fSPierre Pronchery shift; 58*a3cefe7fSPierre Pronchery 59*a3cefe7fSPierre Pronchery OPTIONS="$@" 60*a3cefe7fSPierre Pronchery 61*a3cefe7fSPierre Pronchery # print a message 62*a3cefe7fSPierre Pronchery echo -n "*info* running $COMMAND" 63*a3cefe7fSPierre Pronchery if test -n "$OPTIONS" ; then 64*a3cefe7fSPierre Pronchery echo " ($OPTIONS)" 65*a3cefe7fSPierre Pronchery else 66*a3cefe7fSPierre Pronchery echo 67*a3cefe7fSPierre Pronchery fi 68*a3cefe7fSPierre Pronchery 69*a3cefe7fSPierre Pronchery # run or die 70*a3cefe7fSPierre Pronchery $COMMAND $OPTIONS ; RESULT=$? 71*a3cefe7fSPierre Pronchery if test $RESULT -ne 0 ; then 72*a3cefe7fSPierre Pronchery echo "*error* $COMMAND failed. (exit code = $RESULT)" 73*a3cefe7fSPierre Pronchery exit 1 74*a3cefe7fSPierre Pronchery fi 75*a3cefe7fSPierre Pronchery 76*a3cefe7fSPierre Pronchery return 0 77*a3cefe7fSPierre Pronchery} 78*a3cefe7fSPierre Pronchery 79*a3cefe7fSPierre Proncheryparse_options "$@" 80*a3cefe7fSPierre Pronchery 81*a3cefe7fSPierre Proncherycd $TOP_DIR 82*a3cefe7fSPierre Pronchery 83*a3cefe7fSPierre Proncheryrun_or_die $ACLOCAL 84*a3cefe7fSPierre Proncheryrun_or_die $AUTOHEADER 85*a3cefe7fSPierre Proncheryrun_or_die $AUTOCONF 86*a3cefe7fSPierre Proncheryrun_or_die $LIBTOOLIZE --install 87*a3cefe7fSPierre Proncheryrun_or_die $AUTOMAKE --add-missing 88