Check-in Number:
|
1212 | |
Date: |
2001-Oct-24 15:36:11 (local)
2001-Oct-24 13:36:11 (UTC) |
User: | rse |
Branch: | |
Comment: |
Replace old autogen.sh with first cut for a "devtool" based approach
where we don't have to repeat code in such a redundant way. The
"devtool" and "devtool.func" files will be moved to their own project
soon and only "devtool.conf" will remain inside each package. |
Tickets: |
|
Inspections: |
|
Files: |
|
ossp-pkg/sa/autogen.sh 1.2 -> 1.3
ossp-pkg/sa/devtool -> 1.1
*** /dev/null Sat Nov 23 01:32:01 2024
--- - Sat Nov 23 01:32:17 2024
***************
*** 0 ****
--- 1,47 ----
+ #!/bin/sh
+ ##
+ ## devtool -- Development Tool
+ ## Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com>
+ ##
+
+ if [ $# -eq 0 ]; then
+ echo "devtool:USAGE: devtool <command> [<arg> ...]" 1>&2
+ exit 1
+ fi
+
+ cmd="$1"
+ shift
+
+ devtoolfunc="./devtool.func"
+
+ if [ ! -f devtool.conf ]; then
+ echo "devtool:ERROR: no devtool.conf in current directory" 1>&2
+ exit 1
+ fi
+
+ cmdline=`grep "^%$cmd" devtool.conf`
+ if [ ".$cmdline" = . ]; then
+ echo "devtool:ERROR: command $cmd not found in devtool.conf" 1>&2
+ exit 1
+ fi
+
+ if [ ".$TMPDIR" != . ]; then
+ tmpdir="$TMPDIR"
+ elif [ ".$TEMPDIR" != . ]; then
+ tmpdir="$TEMPDIR"
+ else
+ tmpdir="/tmp"
+ fi
+ tmpfile="$tmpdir/rc.$$.tmp"
+
+ rm -f $tmpfile
+ touch $tmpfile
+ echo ". $devtoolfunc" >>$tmpfile
+ ( sed <devtool.conf -e "1,/^%common/d" -e '/^%.*/,$d'
+ sed <devtool.conf -e "1,/^%$cmd/d" -e '/^%.*/,$d' ) |\
+ sed -e 's;\([ ]\)@\([a-zA-Z_][a-zA-Z0-9_]*\);\1devtool_\2;' >>$tmpfile
+
+ sh $tmpfile
+
+ rm -f $tmpfile >/dev/null 2>&1 || true
+
|
|
ossp-pkg/sa/devtool.conf -> 1.1
*** /dev/null Sat Nov 23 01:32:01 2024
--- - Sat Nov 23 01:32:17 2024
***************
*** 0 ****
--- 1,24 ----
+ ##
+ ## devtool.conf -- Development Tool Configuration
+ ##
+
+ %autogen
+ @autogen autoconf 2.52 "2.5.*"
+ @autogen libtool 1.4.2 "1.4*"
+ @autogen shtool 1.5.4 "1.5.*" all
+
+ %autoclean
+ @autoclean autoconf
+ @autoclean libtool
+ @autoclean shtool
+
+ %version
+ ./shtool version -l txt -n "OSSP SA" -e VERSION
+
+ %dist
+ make distclean >/dev/null 2>&1
+ ./shtool fixperm -v .
+ V=`./shtool version -l txt -d short VERSION`
+ ./shtool tarball -o sa-$${V}.tar.gz -d sa-$${V} -u ossp -g ossp \
+ -e 'CVS,\.cvsignore,\.[ao],^\.,devtool.conf' -c 'gzip --best' .
+
|
|
ossp-pkg/sa/devtool.func -> 1.1
*** /dev/null Sat Nov 23 01:32:01 2024
--- - Sat Nov 23 01:32:17 2024
***************
*** 0 ****
--- 1,72 ----
+ ##
+ ## devtool.func -- Development Tool Functions
+ ## Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com>
+ ##
+
+ devtool_require () {
+ t="$1"; o="$2"; p="$3"; e="$4"; a="$5"
+ v=`($t $o | head -1 | awk "{ print \\\$$p; }") 2>/dev/null`
+ if [ ".$v" = . ]; then
+ echo "devtool:ERROR: unable to determine version of $t" 1>&2
+ exit 1
+ fi
+ case "$v" in
+ $e )
+ ;;
+ $a )
+ echo "devtool:WARNING: $t version $v still accepted, although expected $e." 1>&2
+ ;;
+ * )
+ echo "devtool:ERROR: $t version $e expected, but found $v." 1>&2
+ exit 1
+ ;;
+ esac
+ echo "$v"
+ }
+
+ devtool_autogen () {
+ tool=$1
+ shift
+ case $tool in
+ autoconf )
+ autoconf_version=`devtool_require autoconf --version 4 "$1" "$2"`
+ echo "generating (GNU Autoconf $autoconf_version): configure config.h.in"
+ autoconf
+ autoheader
+ ;;
+ libtool )
+ libtoolize_version=`devtool_require libtoolize --version 4 "$1" "$2"`
+ echo "generating (GNU Libtool $libtoolize_version): ltmain.sh, libtool.m4, config.guess, config.sub"
+ libtoolize --force --copy >/dev/null 2>&1
+ cp `libtoolize --force --copy --dry-run | grep "add the contents of" |\
+ sed -e 's;^[^\`]*\`;;' -e "s;'.*;;"` libtool.m4
+ ;;
+ shtool )
+ shtoolize_version=`devtool_require shtoolize -v 3 "$1" "$2"`
+ echo "generating (GNU Shtool $shtoolize_version): shtool"
+ shift
+ shift
+ shtoolize -q "$@"
+ ;;
+ esac
+ }
+
+ devtool_autoclean () {
+ tool=$1
+ shift
+ case $tool in
+ autoconf )
+ echo "removing: configure config.h.in"
+ rm -f configure config.h.in
+ ;;
+ libtool )
+ echo "removing: ltmain.sh libtool.m4 config.guess config.sub"
+ rm -f ltmain.sh libtool.m4 config.guess config.sub
+ ;;
+ shtool )
+ echo "removing: shtool"
+ rm -f shtool
+ ;;
+ esac
+ }
+
|
|