|
1 ## |
|
2 ## devtool.func -- Development Tool Functions |
|
3 ## Copyright (c) 2001-2002 Ralf S. Engelschall <rse@engelschall.com> |
|
4 ## |
|
5 |
|
6 devtool_require () { |
|
7 t="$1"; o="$2"; p="$3"; e="$4"; a="$5" |
|
8 v=`($t $o | head -1 | awk "{ print \\\$$p; }") 2>/dev/null` |
|
9 if [ ".$v" = . ]; then |
|
10 echo "devtool:ERROR: unable to determine version of $t" 1>&2 |
|
11 exit 1 |
|
12 fi |
|
13 case "$v" in |
|
14 $e ) |
|
15 ;; |
|
16 $a ) |
|
17 echo "devtool:WARNING: $t version $v still accepted, although expected $e." 1>&2 |
|
18 ;; |
|
19 * ) |
|
20 echo "devtool:ERROR: $t version $e expected, but found $v." 1>&2 |
|
21 exit 1 |
|
22 ;; |
|
23 esac |
|
24 echo "$v" |
|
25 } |
|
26 |
|
27 devtool_autogen () { |
|
28 tool=$1 |
|
29 shift |
|
30 case $tool in |
|
31 autoconf ) |
|
32 autoconf_version=`devtool_require autoconf --version 4 "$1" "$2"` |
|
33 echo "generating (GNU Autoconf $autoconf_version): configure ac_config.h.in" |
|
34 autoconf |
|
35 autoheader 2>&1 | grep -v "is unchanged" |
|
36 rm -rf autom4te.cache >/dev/null 2>&1 |
|
37 ;; |
|
38 libtool ) |
|
39 libtoolize_version=`devtool_require libtoolize --version 4 "$1" "$2"` |
|
40 echo "generating (GNU Libtool $libtoolize_version): ltmain.sh, libtool.m4, config.guess, config.sub" |
|
41 libtoolize --force --copy >/dev/null 2>&1 |
|
42 cp `libtoolize --force --copy --dry-run | grep "add the contents of" |\ |
|
43 sed -e 's;^[^\`]*\`;;' -e "s;'.*;;"` libtool.m4 |
|
44 ;; |
|
45 shtool ) |
|
46 shtoolize_version=`devtool_require shtoolize -v 3 "$1" "$2"` |
|
47 echo "generating (GNU Shtool $shtoolize_version): shtool" |
|
48 shift |
|
49 shift |
|
50 shtoolize -q "$@" |
|
51 ;; |
|
52 esac |
|
53 } |
|
54 |
|
55 devtool_autoclean () { |
|
56 tool=$1 |
|
57 shift |
|
58 case $tool in |
|
59 autoconf ) |
|
60 echo "removing: configure ac_config.h.in" |
|
61 rm -f configure ac_config.h.in |
|
62 ;; |
|
63 libtool ) |
|
64 echo "removing: ltmain.sh libtool.m4 config.guess config.sub" |
|
65 rm -f ltmain.sh libtool.m4 config.guess config.sub |
|
66 ;; |
|
67 shtool ) |
|
68 echo "removing: shtool" |
|
69 rm -f shtool |
|
70 ;; |
|
71 esac |
|
72 } |