diff --git a/ANNOUNCE b/ANNOUNCE index 0131f942f..637587971 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -132,6 +132,7 @@ Version 1.6.0beta07 [January 25, 2012] gcc configure option by allowing -Werror to be turned on safely; without the option the tests written in configure itself fail compilation because they cause compiler warnings. + Rewrote autogen.sh to run autoreconf instead of running tools one-by-one. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 673e58713..5512b02e3 100644 --- a/CHANGES +++ b/CHANGES @@ -3883,6 +3883,7 @@ Version 1.6.0beta07 [January 25, 2012] gcc configure option by allowing -Werror to be turned on safely; without the option the tests written in configure itself fail compilation because they cause compiler warnings. + Rewrote autogen.sh to run autoreconf instead of running tools one-by-one. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/autogen.sh b/autogen.sh index 5be104eb1..c17dd3fd9 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,34 +1,54 @@ #! /bin/sh -# a quick hack script to generate necessary files from -# auto* tools. # -# WARNING: if you run this you will change the versions -# of the tools which are used and, maybe, required! +# Run 'autoreconf' to build 'configure', 'Makefile.in' and other configure +# control files. +args= +force= +init= +while test $# -gt 0 +do + case "$1" in + -f|--force) + force=1 + args="$args $1";; -# You can define your own replacements in your environment. -# $AUTOCONF, $AUTOMAKE, $AUTOHEADER, $AUTOPOINT, $ACLOCAL and $LIBTOOLIZE + -V|--version) + sed -n -e \ + '/PNG_HEADER_VERSION_STRING/,+1s/^[^"]*" \([^"]*\).."[^"]*$/\1/p' \ + png.h + exit 0;; -touch Makefile.am configure.ac -{ - LT=${LIBTOOLIZE-libtoolize} - echo "running $LT" >&2 - $LT --force --copy --automake -} && { - AL=${ACLOCAL-aclocal} - echo "running $AL" >&2 - $AL -} && { - AH=${AUTOHEADER-autoheader} - echo "running $AH [ignore the warnings]" >&2 - $AH -} && { - AM=${AUTOMAKE-automake} - echo "running $AM" >&2 - $AM --force-missing --foreign -a -c -} && { - AC=${AUTOCONF-autoconf} - echo "running $AC" >&2 - $AC -} && - echo "autogen complete" >&2 || - echo "ERROR: autogen.sh failed, autogen is incomplete" >&2 + --init) + init=1;; + + -h|--help) + echo "$0: run autoreconf to update configure files" >&2 + echo " options:" >&2 + echo " --version: print the version of this libpng" >&2 + echo " --force: ignore date stamps and make all files" >&2 + echo " --init: do a complete re-initialization" >&2 + echo " others: passed to autoreconf, use autoreconf --help" >&2 + exit 1;; + + *) + args="$args $1";; + esac + + shift +done + +if test -r configure -a -z "$init" +then + # Configure exists, either an update or a tarball distribution + if test ! -d .git -a -z "$force" + then + echo "autogen: running with --force to update a non-GIT distribution" >&2 + args="--force $args" + fi + autoreconf --warnings=all $args +else + # No configure: assume this is a clean tree and everything needs to be + # generated + # autoupdate + autoreconf --warnings=all --force --install $args +fi