michael@1: ## michael@1: ## devtool.func -- Development Tool Functions michael@1: ## Copyright (c) 2001-2002 Ralf S. Engelschall michael@1: ## michael@1: michael@1: devtool_require () { michael@1: t="$1"; o="$2"; p="$3"; e="$4"; a="$5" michael@1: v=`($t $o | head -1 | awk "{ print \\\$$p; }") 2>/dev/null` michael@1: if [ ".$v" = . ]; then michael@1: echo "devtool:ERROR: unable to determine version of $t" 1>&2 michael@1: exit 1 michael@1: fi michael@1: case "$v" in michael@1: $e ) michael@1: ;; michael@1: $a ) michael@1: echo "devtool:WARNING: $t version $v still accepted, although expected $e." 1>&2 michael@1: ;; michael@1: * ) michael@1: echo "devtool:ERROR: $t version $e expected, but found $v." 1>&2 michael@1: exit 1 michael@1: ;; michael@1: esac michael@1: echo "$v" michael@1: } michael@1: michael@1: devtool_autogen () { michael@1: tool=$1 michael@1: shift michael@1: case $tool in michael@1: autoconf ) michael@1: autoconf_version=`devtool_require autoconf --version 4 "$1" "$2"` michael@1: echo "generating (GNU Autoconf $autoconf_version): configure ac_config.h.in" michael@1: autoconf michael@1: autoheader 2>&1 | grep -v "is unchanged" michael@1: rm -rf autom4te.cache >/dev/null 2>&1 michael@1: ;; michael@1: libtool ) michael@1: libtoolize_version=`devtool_require libtoolize --version 4 "$1" "$2"` michael@1: echo "generating (GNU Libtool $libtoolize_version): ltmain.sh, libtool.m4, config.guess, config.sub" michael@1: libtoolize --force --copy >/dev/null 2>&1 michael@1: cp `libtoolize --force --copy --dry-run | grep "add the contents of" |\ michael@1: sed -e 's;^[^\`]*\`;;' -e "s;'.*;;"` libtool.m4 michael@1: ;; michael@1: shtool ) michael@1: shtoolize_version=`devtool_require shtoolize -v 3 "$1" "$2"` michael@1: echo "generating (GNU Shtool $shtoolize_version): shtool" michael@1: shift michael@1: shift michael@1: shtoolize -q "$@" michael@1: ;; michael@1: esac michael@1: } michael@1: michael@1: devtool_autoclean () { michael@1: tool=$1 michael@1: shift michael@1: case $tool in michael@1: autoconf ) michael@1: echo "removing: configure ac_config.h.in" michael@1: rm -f configure ac_config.h.in michael@1: ;; michael@1: libtool ) michael@1: echo "removing: ltmain.sh libtool.m4 config.guess config.sub" michael@1: rm -f ltmain.sh libtool.m4 config.guess config.sub michael@1: ;; michael@1: shtool ) michael@1: echo "removing: shtool" michael@1: rm -f shtool michael@1: ;; michael@1: esac michael@1: }