Annotation of rpl/autogen.sh, revision 1.1

1.1     ! bertrand    1: #!/bin/sh
        !             2: #                        a u t o g e n . s h
        !             3: #
        !             4: # Copyright (c) 2005-2009 United States Government as represented by
        !             5: # the U.S. Army Research Laboratory.
        !             6: #
        !             7: # Redistribution and use in source and binary forms, with or without
        !             8: # modification, are permitted provided that the following conditions
        !             9: # are met:
        !            10: #
        !            11: # 1. Redistributions of source code must retain the above copyright
        !            12: # notice, this list of conditions and the following disclaimer.
        !            13: #
        !            14: # 2. Redistributions in binary form must reproduce the above
        !            15: # copyright notice, this list of conditions and the following
        !            16: # disclaimer in the documentation and/or other materials provided
        !            17: # with the distribution.
        !            18: #
        !            19: # 3. The name of the author may not be used to endorse or promote
        !            20: # products derived from this software without specific prior written
        !            21: # permission.
        !            22: #
        !            23: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
        !            24: # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        !            25: # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            26: # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
        !            27: # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            28: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
        !            29: # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        !            30: # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
        !            31: # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
        !            32: # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
        !            33: # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        !            34: #
        !            35: ###
        !            36: #
        !            37: # Script for automatically preparing the sources for compilation by
        !            38: # performing the myriad of necessary steps.  The script attempts to
        !            39: # detect proper version support, and outputs warnings about particular
        !            40: # systems that have autotool peculiarities.
        !            41: #
        !            42: # Basically, if everything is set up and installed correctly, the
        !            43: # script will validate that minimum versions of the GNU Build System
        !            44: # tools are installed, account for several common configuration
        !            45: # issues, and then simply run autoreconf for you.
        !            46: #
        !            47: # If autoreconf fails, which can happen for many valid configurations,
        !            48: # this script proceeds to run manual preparation steps effectively
        !            49: # providing a POSIX shell script (mostly complete) reimplementation of
        !            50: # autoreconf.
        !            51: #
        !            52: # The AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER
        !            53: # environment variables and corresponding _OPTIONS variables (e.g.
        !            54: # AUTORECONF_OPTIONS) may be used to override the default automatic
        !            55: # detection behaviors.  Similarly the _VERSION variables will override
        !            56: # the minimum required version numbers.
        !            57: #
        !            58: # Examples:
        !            59: #
        !            60: #   To obtain help on usage:
        !            61: #     ./autogen.sh --help
        !            62: #
        !            63: #   To obtain verbose output:
        !            64: #     ./autogen.sh --verbose
        !            65: #
        !            66: #   To skip autoreconf and prepare manually:
        !            67: #     AUTORECONF=false ./autogen.sh
        !            68: #
        !            69: #   To verbosely try running with an older (unsupported) autoconf:
        !            70: #     AUTOCONF_VERSION=2.50 ./autogen.sh --verbose
        !            71: #
        !            72: # Author:
        !            73: #   Christopher Sean Morrison <morrison@brlcad.org>
        !            74: #
        !            75: # Patches:
        !            76: #   Sebastian Pipping <sebastian@pipping.org>
        !            77: #
        !            78: ######################################################################
        !            79: 
        !            80: # set to minimum acceptable version of autoconf
        !            81: if [ "x$AUTOCONF_VERSION" = "x" ] ; then
        !            82:     AUTOCONF_VERSION=2.52
        !            83: fi
        !            84: # set to minimum acceptable version of automake
        !            85: if [ "x$AUTOMAKE_VERSION" = "x" ] ; then
        !            86:     AUTOMAKE_VERSION=1.6.0
        !            87: fi
        !            88: # set to minimum acceptable version of libtool
        !            89: if [ "x$LIBTOOL_VERSION" = "x" ] ; then
        !            90:     LIBTOOL_VERSION=1.4.2
        !            91: fi
        !            92: 
        !            93: 
        !            94: ##################
        !            95: # ident function #
        !            96: ##################
        !            97: ident ( ) {
        !            98:     # extract copyright from header
        !            99:     __copyright="`grep Copyright $AUTOGEN_SH | head -${HEAD_N}1 | awk '{print $4}'`"
        !           100:     if [ "x$__copyright" = "x" ] ; then
        !           101:    __copyright="`date +%Y`"
        !           102:     fi
        !           103: 
        !           104:     # extract version from CVS Id string
        !           105:     __id="$Id: autogen.sh 33925 2009-03-01 23:27:06Z brlcad $"
        !           106:     __version="`echo $__id | sed 's/.*\([0-9][0-9][0-9][0-9]\)[-\/]\([0-9][0-9]\)[-\/]\([0-9][0-9]\).*/\1\2\3/'`"
        !           107:     if [ "x$__version" = "x" ] ; then
        !           108:    __version=""
        !           109:     fi
        !           110: 
        !           111:     echo "autogen.sh build preparation script by Christopher Sean Morrison"
        !           112:     echo "  + config.guess download patch by Sebastian Pipping (2008-12-03)"
        !           113:     echo "revised 3-clause BSD-style license, copyright (c) $__copyright"
        !           114:     echo "script version $__version, ISO/IEC 9945 POSIX shell script"
        !           115: }
        !           116: 
        !           117: 
        !           118: ##################
        !           119: # USAGE FUNCTION #
        !           120: ##################
        !           121: usage ( ) {
        !           122:     echo "Usage: $AUTOGEN_SH [-h|--help] [-v|--verbose] [-q|--quiet] [-d|--download] [--version]"
        !           123:     echo "    --help      Help on $NAME_OF_AUTOGEN usage"
        !           124:     echo "    --verbose   Verbose progress output"
        !           125:     echo "    --quiet     Quiet suppressed progress output"
        !           126:     echo "    --download  Download the latest config.guess from gnulib"
        !           127:     echo "    --version   Only perform GNU Build System version checks"
        !           128:     echo
        !           129:     echo "Description: This script will validate that minimum versions of the"
        !           130:     echo "GNU Build System tools are installed and then run autoreconf for you."
        !           131:     echo "Should autoreconf fail, manual preparation steps will be run"
        !           132:     echo "potentially accounting for several common preparation issues.  The"
        !           133: 
        !           134:     echo "AUTORECONF, AUTOCONF, AUTOMAKE, LIBTOOLIZE, ACLOCAL, AUTOHEADER,"
        !           135:     echo "PROJECT, & CONFIGURE environment variables and corresponding _OPTIONS"
        !           136:     echo "variables (e.g. AUTORECONF_OPTIONS) may be used to override the"
        !           137:     echo "default automatic detection behavior."
        !           138:     echo
        !           139: 
        !           140:     ident
        !           141: 
        !           142:     return 0
        !           143: }
        !           144: 
        !           145: 
        !           146: ##########################
        !           147: # VERSION_ERROR FUNCTION #
        !           148: ##########################
        !           149: version_error ( ) {
        !           150:     if [ "x$1" = "x" ] ; then
        !           151:    echo "INTERNAL ERROR: version_error was not provided a version"
        !           152:    exit 1
        !           153:     fi
        !           154:     if [ "x$2" = "x" ] ; then
        !           155:    echo "INTERNAL ERROR: version_error was not provided an application name"
        !           156:    exit 1
        !           157:     fi
        !           158:     $ECHO
        !           159:     $ECHO "ERROR:  To prepare the ${PROJECT} build system from scratch,"
        !           160:     $ECHO "        at least version $1 of $2 must be installed."
        !           161:     $ECHO
        !           162:     $ECHO "$NAME_OF_AUTOGEN does not need to be run on the same machine that will"
        !           163:     $ECHO "run configure or make.  Either the GNU Autotools will need to be installed"
        !           164:     $ECHO "or upgraded on this system, or $NAME_OF_AUTOGEN must be run on the source"
        !           165:     $ECHO "code on another system and then transferred to here. -- Cheers!"
        !           166:     $ECHO
        !           167: }
        !           168: 
        !           169: ##########################
        !           170: # VERSION_CHECK FUNCTION #
        !           171: ##########################
        !           172: version_check ( ) {
        !           173:     if [ "x$1" = "x" ] ; then
        !           174:    echo "INTERNAL ERROR: version_check was not provided a minimum version"
        !           175:    exit 1
        !           176:     fi
        !           177:     _min="$1"
        !           178:     if [ "x$2" = "x" ] ; then
        !           179:    echo "INTERNAL ERROR: version check was not provided a comparison version"
        !           180:    exit 1
        !           181:     fi
        !           182:     _cur="$2"
        !           183: 
        !           184:     # needed to handle versions like 1.10 and 1.4-p6
        !           185:     _min="`echo ${_min}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`"
        !           186:     _cur="`echo ${_cur}. | sed 's/[^0-9]/./g' | sed 's/\.\././g'`"
        !           187: 
        !           188:     _min_major="`echo $_min | cut -d. -f1`"
        !           189:     _min_minor="`echo $_min | cut -d. -f2`"
        !           190:     _min_patch="`echo $_min | cut -d. -f3`"
        !           191: 
        !           192:     _cur_major="`echo $_cur | cut -d. -f1`"
        !           193:     _cur_minor="`echo $_cur | cut -d. -f2`"
        !           194:     _cur_patch="`echo $_cur | cut -d. -f3`"
        !           195: 
        !           196:     if [ "x$_min_major" = "x" ] ; then
        !           197:    _min_major=0
        !           198:     fi
        !           199:     if [ "x$_min_minor" = "x" ] ; then
        !           200:    _min_minor=0
        !           201:     fi
        !           202:     if [ "x$_min_patch" = "x" ] ; then
        !           203:    _min_patch=0
        !           204:     fi
        !           205:     if [ "x$_cur_minor" = "x" ] ; then
        !           206:    _cur_major=0
        !           207:     fi
        !           208:     if [ "x$_cur_minor" = "x" ] ; then
        !           209:    _cur_minor=0
        !           210:     fi
        !           211:     if [ "x$_cur_patch" = "x" ] ; then
        !           212:    _cur_patch=0
        !           213:     fi
        !           214: 
        !           215:     $VERBOSE_ECHO "Checking if ${_cur_major}.${_cur_minor}.${_cur_patch} is greater than ${_min_major}.${_min_minor}.${_min_patch}"
        !           216: 
        !           217:     if [ $_min_major -lt $_cur_major ] ; then
        !           218:    return 0
        !           219:     elif [ $_min_major -eq $_cur_major ] ; then
        !           220:    if [ $_min_minor -lt $_cur_minor ] ; then
        !           221:        return 0
        !           222:    elif [ $_min_minor -eq $_cur_minor ] ; then
        !           223:        if [ $_min_patch -lt $_cur_patch ] ; then
        !           224:        return 0
        !           225:        elif [ $_min_patch -eq $_cur_patch ] ; then
        !           226:        return 0
        !           227:        fi
        !           228:    fi
        !           229:     fi
        !           230:     return 1
        !           231: }
        !           232: 
        !           233: 
        !           234: ######################################
        !           235: # LOCATE_CONFIGURE_TEMPLATE FUNCTION #
        !           236: ######################################
        !           237: locate_configure_template ( ) {
        !           238:     _pwd="`pwd`"
        !           239:     if test -f "./configure.ac" ; then
        !           240:    echo "./configure.ac"
        !           241:     elif test -f "./configure.in" ; then
        !           242:    echo "./configure.in"
        !           243:     elif test -f "$_pwd/configure.ac" ; then
        !           244:    echo "$_pwd/configure.ac"
        !           245:     elif test -f "$_pwd/configure.in" ; then
        !           246:    echo "$_pwd/configure.in"
        !           247:     elif test -f "$PATH_TO_AUTOGEN/configure.ac" ; then
        !           248:    echo "$PATH_TO_AUTOGEN/configure.ac"
        !           249:     elif test -f "$PATH_TO_AUTOGEN/configure.in" ; then
        !           250:    echo "$PATH_TO_AUTOGEN/configure.in"
        !           251:     fi
        !           252: }
        !           253: 
        !           254: 
        !           255: ##################
        !           256: # argument check #
        !           257: ##################
        !           258: ARGS="$*"
        !           259: PATH_TO_AUTOGEN="`dirname $0`"
        !           260: NAME_OF_AUTOGEN="`basename $0`"
        !           261: AUTOGEN_SH="$PATH_TO_AUTOGEN/$NAME_OF_AUTOGEN"
        !           262: 
        !           263: LIBTOOL_M4="${PATH_TO_AUTOGEN}/misc/libtool.m4"
        !           264: 
        !           265: if [ "x$HELP" = "x" ] ; then
        !           266:     HELP=no
        !           267: fi
        !           268: if [ "x$QUIET" = "x" ] ; then
        !           269:     QUIET=no
        !           270: fi
        !           271: if [ "x$VERBOSE" = "x" ] ; then
        !           272:     VERBOSE=no
        !           273: fi
        !           274: if [ "x$VERSION_ONLY" = "x" ] ; then
        !           275:     VERSION_ONLY=no
        !           276: fi
        !           277: if [ "x$DOWNLOAD" = "x" ] ; then
        !           278:     DOWNLOAD=no
        !           279: fi
        !           280: if [ "x$AUTORECONF_OPTIONS" = "x" ] ; then
        !           281:     AUTORECONF_OPTIONS="-i -f"
        !           282: fi
        !           283: if [ "x$AUTOCONF_OPTIONS" = "x" ] ; then
        !           284:     AUTOCONF_OPTIONS="-f"
        !           285: fi
        !           286: if [ "x$AUTOMAKE_OPTIONS" = "x" ] ; then
        !           287:     AUTOMAKE_OPTIONS="-a -c -f"
        !           288: fi
        !           289: ALT_AUTOMAKE_OPTIONS="-a -c"
        !           290: if [ "x$LIBTOOLIZE_OPTIONS" = "x" ] ; then
        !           291:     LIBTOOLIZE_OPTIONS="--automake -c -f"
        !           292: fi
        !           293: ALT_LIBTOOLIZE_OPTIONS="--automake --copy --force"
        !           294: if [ "x$ACLOCAL_OPTIONS" = "x" ] ; then
        !           295:     ACLOCAL_OPTIONS=""
        !           296: fi
        !           297: if [ "x$AUTOHEADER_OPTIONS" = "x" ] ; then
        !           298:     AUTOHEADER_OPTIONS=""
        !           299: fi
        !           300: if [ "x$CONFIG_GUESS_URL" = "x" ] ; then
        !           301:     CONFIG_GUESS_URL="http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=build-aux/config.guess;hb=HEAD"
        !           302: fi
        !           303: for arg in $ARGS ; do
        !           304:     case "x$arg" in
        !           305:    x--help) HELP=yes ;;
        !           306:    x-[hH]) HELP=yes ;;
        !           307:    x--quiet) QUIET=yes ;;
        !           308:    x-[qQ]) QUIET=yes ;;
        !           309:    x--verbose) VERBOSE=yes ;;
        !           310:    x-[dD]) DOWNLOAD=yes ;;
        !           311:    x--download) DOWNLOAD=yes ;;
        !           312:    x-[vV]) VERBOSE=yes ;;
        !           313:    x--version) VERSION_ONLY=yes ;;
        !           314:    *)
        !           315:        echo "Unknown option: $arg"
        !           316:        echo
        !           317:        usage
        !           318:        exit 1
        !           319:        ;;
        !           320:     esac
        !           321: done
        !           322: 
        !           323: 
        !           324: #####################
        !           325: # environment check #
        !           326: #####################
        !           327: 
        !           328: # sanity check before recursions potentially begin
        !           329: if [ ! -f "$AUTOGEN_SH" ] ; then
        !           330:     echo "INTERNAL ERROR: $AUTOGEN_SH does not exist"
        !           331:     if [ ! "x$0" = "x$AUTOGEN_SH" ] ; then
        !           332:    echo "INTERNAL ERROR: dirname/basename inconsistency: $0 != $AUTOGEN_SH"
        !           333:     fi
        !           334:     exit 1
        !           335: fi
        !           336: 
        !           337: # force locale setting to C so things like date output as expected
        !           338: LC_ALL=C
        !           339: 
        !           340: # commands that this script expects
        !           341: for __cmd in echo head tail pwd ; do
        !           342:     echo "test" | $__cmd > /dev/null 2>&1
        !           343:     if [ $? != 0 ] ; then
        !           344:    echo "INTERNAL ERROR: '${__cmd}' command is required"
        !           345:    exit 2
        !           346:     fi
        !           347: done
        !           348: echo "test" | grep "test" > /dev/null 2>&1
        !           349: if test ! x$? = x0 ; then
        !           350:     echo "INTERNAL ERROR: grep command is required"
        !           351:     exit 1
        !           352: fi
        !           353: echo "test" | sed "s/test/test/" > /dev/null 2>&1
        !           354: if test ! x$? = x0 ; then
        !           355:     echo "INTERNAL ERROR: sed command is required"
        !           356:     exit 1
        !           357: fi
        !           358: 
        !           359: 
        !           360: # determine the behavior of echo
        !           361: case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
        !           362:     *c*,-n*) ECHO_N= ECHO_C='
        !           363: ' ECHO_T=' ' ;;
        !           364:     *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
        !           365:     *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
        !           366: esac
        !           367: 
        !           368: # determine the behavior of head
        !           369: case "x`echo 'head' | head -n 1 2>&1`" in
        !           370:     *xhead*) HEAD_N="n " ;;
        !           371:     *) HEAD_N="" ;;
        !           372: esac
        !           373: 
        !           374: # determine the behavior of tail
        !           375: case "x`echo 'tail' | tail -n 1 2>&1`" in
        !           376:     *xtail*) TAIL_N="n " ;;
        !           377:     *) TAIL_N="" ;;
        !           378: esac
        !           379: 
        !           380: VERBOSE_ECHO=:
        !           381: ECHO=:
        !           382: if [ "x$QUIET" = "xyes" ] ; then
        !           383:     if [ "x$VERBOSE" = "xyes" ] ; then
        !           384:    echo "Verbose output quelled by quiet option.  Further output disabled."
        !           385:     fi
        !           386: else
        !           387:     ECHO=echo
        !           388:     if [ "x$VERBOSE" = "xyes" ] ; then
        !           389:    echo "Verbose output enabled"
        !           390:    VERBOSE_ECHO=echo
        !           391:     fi
        !           392: fi
        !           393: 
        !           394: 
        !           395: # allow a recursive run to disable further recursions
        !           396: if [ "x$RUN_RECURSIVE" = "x" ] ; then
        !           397:     RUN_RECURSIVE=yes
        !           398: fi
        !           399: 
        !           400: 
        !           401: ################################################
        !           402: # check for help arg and bypass version checks #
        !           403: ################################################
        !           404: if [ "x`echo $ARGS | sed 's/.*[hH][eE][lL][pP].*/help/'`" = "xhelp" ] ; then
        !           405:     HELP=yes
        !           406: fi
        !           407: if [ "x$HELP" = "xyes" ] ; then
        !           408:     usage
        !           409:     $ECHO "---"
        !           410:     $ECHO "Help was requested.  No preparation or configuration will be performed."
        !           411:     exit 0
        !           412: fi
        !           413: 
        !           414: 
        !           415: #######################
        !           416: # set up signal traps #
        !           417: #######################
        !           418: untrap_abnormal ( ) {
        !           419:     for sig in 1 2 13 15; do
        !           420:    trap - $sig
        !           421:     done
        !           422: }
        !           423: 
        !           424: # do this cleanup whenever we exit.
        !           425: trap '
        !           426:     # start from the root
        !           427:     if test -d "$START_PATH" ; then
        !           428:    cd "$START_PATH"
        !           429:     fi
        !           430: 
        !           431:     # restore/delete backup files
        !           432:     if test "x$PFC_INIT" = "x1" ; then
        !           433:    recursive_restore
        !           434:     fi
        !           435: ' 0
        !           436: 
        !           437: # trap SIGHUP (1), SIGINT (2), SIGPIPE (13), SIGTERM (15)
        !           438: for sig in 1 2 13 15; do
        !           439:     trap '
        !           440:    $ECHO ""
        !           441:    $ECHO "Aborting $NAME_OF_AUTOGEN: caught signal '$sig'"
        !           442: 
        !           443:    # start from the root
        !           444:    if test -d "$START_PATH" ; then
        !           445:        cd "$START_PATH"
        !           446:    fi
        !           447: 
        !           448:    # clean up on abnormal exit
        !           449:    $VERBOSE_ECHO "rm -rf autom4te.cache"
        !           450:    rm -rf autom4te.cache
        !           451: 
        !           452:    if test -f "acinclude.m4.$$.backup" ; then
        !           453:        $VERBOSE_ECHO "cat acinclude.m4.$$.backup > acinclude.m4"
        !           454:        chmod u+w acinclude.m4
        !           455:        cat acinclude.m4.$$.backup > acinclude.m4
        !           456: 
        !           457:        $VERBOSE_ECHO "rm -f acinclude.m4.$$.backup"
        !           458:        rm -f acinclude.m4.$$.backup
        !           459:         fi
        !           460: 
        !           461:    { (exit 1); exit 1; }
        !           462: ' $sig
        !           463: done
        !           464: 
        !           465: 
        !           466: #############################
        !           467: # look for a configure file #
        !           468: #############################
        !           469: if [ "x$CONFIGURE" = "x" ] ; then
        !           470:     CONFIGURE="`locate_configure_template`"
        !           471:     if [ ! "x$CONFIGURE" = "x" ] ; then
        !           472:    $VERBOSE_ECHO "Found a configure template: $CONFIGURE"
        !           473:     fi
        !           474: else
        !           475:     $ECHO "Using CONFIGURE environment variable override: $CONFIGURE"
        !           476: fi
        !           477: if [ "x$CONFIGURE" = "x" ] ; then
        !           478:     if [ "x$VERSION_ONLY" = "xyes" ] ; then
        !           479:    CONFIGURE=/dev/null
        !           480:     else
        !           481:    $ECHO
        !           482:    $ECHO "A configure.ac or configure.in file could not be located implying"
        !           483:    $ECHO "that the GNU Build System is at least not used in this directory.  In"
        !           484:    $ECHO "any case, there is nothing to do here without one of those files."
        !           485:    $ECHO
        !           486:    $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`"
        !           487:    exit 1
        !           488:     fi
        !           489: fi
        !           490: 
        !           491: ####################
        !           492: # get project name #
        !           493: ####################
        !           494: if [ "x$PROJECT" = "x" ] ; then
        !           495:     PROJECT="`grep AC_INIT $CONFIGURE | grep -v '.*#.*AC_INIT' | tail -${TAIL_N}1 | sed 's/^[  ]*AC_INIT(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           496:     if [ "x$PROJECT" = "xAC_INIT" ] ; then
        !           497:    # projects might be using the older/deprecated arg-less AC_INIT .. look for AM_INIT_AUTOMAKE instead
        !           498:    PROJECT="`grep AM_INIT_AUTOMAKE $CONFIGURE | grep -v '.*#.*AM_INIT_AUTOMAKE' | tail -${TAIL_N}1 | sed 's/^[     ]*AM_INIT_AUTOMAKE(\([^,)]*\).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           499:     fi
        !           500:     if [ "x$PROJECT" = "xAM_INIT_AUTOMAKE" ] ; then
        !           501:    PROJECT="project"
        !           502:     fi
        !           503:     if [ "x$PROJECT" = "x" ] ; then
        !           504:    PROJECT="project"
        !           505:     fi
        !           506: else
        !           507:     $ECHO "Using PROJECT environment variable override: $PROJECT"
        !           508: fi
        !           509: $ECHO "Preparing the $PROJECT build system...please wait"
        !           510: $ECHO
        !           511: 
        !           512: 
        !           513: ########################
        !           514: # check for autoreconf #
        !           515: ########################
        !           516: HAVE_AUTORECONF=no
        !           517: if [ "x$AUTORECONF" = "x" ] ; then
        !           518:     for AUTORECONF in autoreconf ; do
        !           519:    $VERBOSE_ECHO "Checking autoreconf version: $AUTORECONF --version"
        !           520:    $AUTORECONF --version > /dev/null 2>&1
        !           521:    if [ $? = 0 ] ; then
        !           522:        HAVE_AUTORECONF=yes
        !           523:        break
        !           524:    fi
        !           525:     done
        !           526: else
        !           527:     HAVE_AUTORECONF=yes
        !           528:     $ECHO "Using AUTORECONF environment variable override: $AUTORECONF"
        !           529: fi
        !           530: 
        !           531: 
        !           532: ##########################
        !           533: # autoconf version check #
        !           534: ##########################
        !           535: _acfound=no
        !           536: if [ "x$AUTOCONF" = "x" ] ; then
        !           537:     for AUTOCONF in autoconf ; do
        !           538:    $VERBOSE_ECHO "Checking autoconf version: $AUTOCONF --version"
        !           539:    $AUTOCONF --version > /dev/null 2>&1
        !           540:    if [ $? = 0 ] ; then
        !           541:        _acfound=yes
        !           542:        break
        !           543:    fi
        !           544:     done
        !           545: else
        !           546:     _acfound=yes
        !           547:     $ECHO "Using AUTOCONF environment variable override: $AUTOCONF"
        !           548: fi
        !           549: 
        !           550: _report_error=no
        !           551: if [ ! "x$_acfound" = "xyes" ] ; then
        !           552:     $ECHO "ERROR:  Unable to locate GNU Autoconf."
        !           553:     _report_error=yes
        !           554: else
        !           555:     _version="`$AUTOCONF --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`"
        !           556:     if [ "x$_version" = "x" ] ; then
        !           557:    _version="0.0.0"
        !           558:     fi
        !           559:     $ECHO "Found GNU Autoconf version $_version"
        !           560:     version_check "$AUTOCONF_VERSION" "$_version"
        !           561:     if [ $? -ne 0 ] ; then
        !           562:    _report_error=yes
        !           563:     fi
        !           564: fi
        !           565: if [ "x$_report_error" = "xyes" ] ; then
        !           566:     version_error "$AUTOCONF_VERSION" "GNU Autoconf"
        !           567:     exit 1
        !           568: fi
        !           569: 
        !           570: 
        !           571: ##########################
        !           572: # automake version check #
        !           573: ##########################
        !           574: _amfound=no
        !           575: if [ "x$AUTOMAKE" = "x" ] ; then
        !           576:     for AUTOMAKE in automake ; do
        !           577:    $VERBOSE_ECHO "Checking automake version: $AUTOMAKE --version"
        !           578:    $AUTOMAKE --version > /dev/null 2>&1
        !           579:    if [ $? = 0 ] ; then
        !           580:        _amfound=yes
        !           581:        break
        !           582:    fi
        !           583:     done
        !           584: else
        !           585:     _amfound=yes
        !           586:     $ECHO "Using AUTOMAKE environment variable override: $AUTOMAKE"
        !           587: fi
        !           588: 
        !           589: 
        !           590: _report_error=no
        !           591: if [ ! "x$_amfound" = "xyes" ] ; then
        !           592:     $ECHO
        !           593:     $ECHO "ERROR: Unable to locate GNU Automake."
        !           594:     _report_error=yes
        !           595: else
        !           596:     _version="`$AUTOMAKE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`"
        !           597:     if [ "x$_version" = "x" ] ; then
        !           598:    _version="0.0.0"
        !           599:     fi
        !           600:     $ECHO "Found GNU Automake version $_version"
        !           601:     version_check "$AUTOMAKE_VERSION" "$_version"
        !           602:     if [ $? -ne 0 ] ; then
        !           603:    _report_error=yes
        !           604:     fi
        !           605: fi
        !           606: if [ "x$_report_error" = "xyes" ] ; then
        !           607:     version_error "$AUTOMAKE_VERSION" "GNU Automake"
        !           608:     exit 1
        !           609: fi
        !           610: 
        !           611: 
        !           612: ########################
        !           613: # check for libtoolize #
        !           614: ########################
        !           615: HAVE_LIBTOOLIZE=yes
        !           616: HAVE_ALT_LIBTOOLIZE=no
        !           617: _ltfound=no
        !           618: if [ "x$LIBTOOLIZE" = "x" ] ; then
        !           619:     LIBTOOLIZE=libtoolize
        !           620:     $VERBOSE_ECHO "Checking libtoolize version: $LIBTOOLIZE --version"
        !           621:     $LIBTOOLIZE --version > /dev/null 2>&1
        !           622:     if [ ! $? = 0 ] ; then
        !           623:    HAVE_LIBTOOLIZE=no
        !           624:    $ECHO
        !           625:    if [ "x$HAVE_AUTORECONF" = "xno" ] ; then
        !           626:        $ECHO "Warning:  libtoolize does not appear to be available."
        !           627:    else
        !           628:        $ECHO "Warning:  libtoolize does not appear to be available.  This means that"
        !           629:        $ECHO "the automatic build preparation via autoreconf will probably not work."
        !           630:        $ECHO "Preparing the build by running each step individually, however, should"
        !           631:        $ECHO "work and will be done automatically for you if autoreconf fails."
        !           632:    fi
        !           633: 
        !           634:    # look for some alternates
        !           635:    for tool in glibtoolize libtoolize15 libtoolize14 libtoolize13 ; do
        !           636:        $VERBOSE_ECHO "Checking libtoolize alternate: $tool --version"
        !           637:        _glibtoolize="`$tool --version > /dev/null 2>&1`"
        !           638:        if [ $? = 0 ] ; then
        !           639:        $VERBOSE_ECHO "Found $tool --version"
        !           640:        _glti="`which $tool`"
        !           641:        if [ "x$_glti" = "x" ] ; then
        !           642:            $VERBOSE_ECHO "Cannot find $tool with which"
        !           643:            continue;
        !           644:        fi
        !           645:        if test ! -f "$_glti" ; then
        !           646:            $VERBOSE_ECHO "Cannot use $tool, $_glti is not a file"
        !           647:            continue;
        !           648:        fi
        !           649:        _gltidir="`dirname $_glti`"
        !           650:        if [ "x$_gltidir" = "x" ] ; then
        !           651:            $VERBOSE_ECHO "Cannot find $tool path with dirname of $_glti"
        !           652:            continue;
        !           653:        fi
        !           654:        if test ! -d "$_gltidir" ; then
        !           655:            $VERBOSE_ECHO "Cannot use $tool, $_gltidir is not a directory"
        !           656:            continue;
        !           657:        fi
        !           658:        HAVE_ALT_LIBTOOLIZE=yes
        !           659:        LIBTOOLIZE="$tool"
        !           660:        $ECHO
        !           661:        $ECHO "Fortunately, $tool was found which means that your system may simply"
        !           662:        $ECHO "have a non-standard or incomplete GNU Autotools install.  If you have"
        !           663:        $ECHO "sufficient system access, it may be possible to quell this warning by"
        !           664:        $ECHO "running:"
        !           665:        $ECHO
        !           666:        sudo -V > /dev/null 2>&1
        !           667:        if [ $? = 0 ] ; then
        !           668:            $ECHO "   sudo ln -s $_glti $_gltidir/libtoolize"
        !           669:            $ECHO
        !           670:        else
        !           671:            $ECHO "   ln -s $_glti $_gltidir/libtoolize"
        !           672:            $ECHO
        !           673:            $ECHO "Run that as root or with proper permissions to the $_gltidir directory"
        !           674:            $ECHO
        !           675:        fi
        !           676:        _ltfound=yes
        !           677:        break
        !           678:        fi
        !           679:    done
        !           680:     else
        !           681:    _ltfound=yes
        !           682:     fi
        !           683: else
        !           684:     _ltfound=yes
        !           685:     $ECHO "Using LIBTOOLIZE environment variable override: $LIBTOOLIZE"
        !           686: fi
        !           687: 
        !           688: 
        !           689: ############################
        !           690: # libtoolize version check #
        !           691: ############################
        !           692: _report_error=no
        !           693: if [ ! "x$_ltfound" = "xyes" ] ; then
        !           694:     $ECHO
        !           695:     $ECHO "ERROR: Unable to locate GNU Libtool."
        !           696:     _report_error=yes
        !           697: else
        !           698:     _version="`$LIBTOOLIZE --version | head -${HEAD_N}1 | sed 's/[^0-9]*\([0-9\.][0-9\.]*\)/\1/'`"
        !           699:     if [ "x$_version" = "x" ] ; then
        !           700:    _version="0.0.0"
        !           701:     fi
        !           702:     $ECHO "Found GNU Libtool version $_version"
        !           703:     version_check "$LIBTOOL_VERSION" "$_version"
        !           704:     if [ $? -ne 0 ] ; then
        !           705:    _report_error=yes
        !           706:     fi
        !           707: fi
        !           708: if [ "x$_report_error" = "xyes" ] ; then
        !           709:     version_error "$LIBTOOL_VERSION" "GNU Libtool"
        !           710:     exit 1
        !           711: fi
        !           712: 
        !           713: 
        !           714: #####################
        !           715: # check for aclocal #
        !           716: #####################
        !           717: if [ "x$ACLOCAL" = "x" ] ; then
        !           718:     for ACLOCAL in aclocal ; do
        !           719:    $VERBOSE_ECHO "Checking aclocal version: $ACLOCAL --version"
        !           720:    $ACLOCAL --version > /dev/null 2>&1
        !           721:    if [ $? = 0 ] ; then
        !           722:        break
        !           723:    fi
        !           724:     done
        !           725: else
        !           726:     $ECHO "Using ACLOCAL environment variable override: $ACLOCAL"
        !           727: fi
        !           728: 
        !           729: 
        !           730: ########################
        !           731: # check for autoheader #
        !           732: ########################
        !           733: if [ "x$AUTOHEADER" = "x" ] ; then
        !           734:     for AUTOHEADER in autoheader ; do
        !           735:    $VERBOSE_ECHO "Checking autoheader version: $AUTOHEADER --version"
        !           736:    $AUTOHEADER --version > /dev/null 2>&1
        !           737:    if [ $? = 0 ] ; then
        !           738:        break
        !           739:    fi
        !           740:     done
        !           741: else
        !           742:     $ECHO "Using AUTOHEADER environment variable override: $AUTOHEADER"
        !           743: fi
        !           744: 
        !           745: 
        !           746: #########################
        !           747: # check if version only #
        !           748: #########################
        !           749: $VERBOSE_ECHO "Checking whether to only output version information"
        !           750: if [ "x$VERSION_ONLY" = "xyes" ] ; then
        !           751:     $ECHO
        !           752:     ident
        !           753:     $ECHO "---"
        !           754:     $ECHO "Version requested.  No preparation or configuration will be performed."
        !           755:     exit 0
        !           756: fi
        !           757: 
        !           758: 
        !           759: #################################
        !           760: # PROTECT_FROM_CLOBBER FUNCTION #
        !           761: #################################
        !           762: protect_from_clobber ( ) {
        !           763:     PFC_INIT=1
        !           764: 
        !           765:     # protect COPYING & INSTALL from overwrite by automake.  the
        !           766:     # automake force option will (inappropriately) ignore the existing
        !           767:     # contents of a COPYING and/or INSTALL files (depending on the
        !           768:     # version) instead of just forcing *missing* files like it does
        !           769:     # for AUTHORS, NEWS, and README. this is broken but extremely
        !           770:     # prevalent behavior, so we protect against it by keeping a backup
        !           771:     # of the file that can later be restored.
        !           772: 
        !           773:     for file in COPYING INSTALL ; do
        !           774:    if test -f ${file} ; then
        !           775:        if test -f ${file}.$$.protect_from_automake.backup ; then
        !           776:        $VERBOSE_ECHO "Already backed up ${file} in `pwd`"
        !           777:        else
        !           778:        $VERBOSE_ECHO "Backing up ${file} in `pwd`"
        !           779:        $VERBOSE_ECHO "cp -p ${file} ${file}.$$.protect_from_automake.backup"
        !           780:        cp -p ${file} ${file}.$$.protect_from_automake.backup
        !           781:        fi
        !           782:    fi
        !           783:     done
        !           784: }
        !           785: 
        !           786: 
        !           787: ##############################
        !           788: # RECURSIVE_PROTECT FUNCTION #
        !           789: ##############################
        !           790: recursive_protect ( ) {
        !           791: 
        !           792:     # for projects using recursive configure, run the build
        !           793:     # preparation steps for the subdirectories.  this function assumes
        !           794:     # START_PATH was set to pwd before recursion begins so that
        !           795:     # relative paths work.
        !           796: 
        !           797:     # git 'r done, protect COPYING and INSTALL from being clobbered
        !           798:     protect_from_clobber
        !           799: 
        !           800:     if test -d autom4te.cache ; then
        !           801:    $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it"
        !           802:    $VERBOSE_ECHO "rm -rf autom4te.cache"
        !           803:    rm -rf autom4te.cache
        !           804:     fi
        !           805: 
        !           806:     # find configure template
        !           807:     _configure="`locate_configure_template`"
        !           808:     if [ "x$_configure" = "x" ] ; then
        !           809:    return
        !           810:     fi
        !           811:     # $VERBOSE_ECHO "Looking for configure template found `pwd`/$_configure"
        !           812: 
        !           813:     # look for subdirs
        !           814:     # $VERBOSE_ECHO "Looking for subdirs in `pwd`"
        !           815:     _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[    ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           816:     CHECK_DIRS=""
        !           817:     for dir in $_det_config_subdirs ; do
        !           818:    if test -d "`pwd`/$dir" ; then
        !           819:        CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\""
        !           820:    fi
        !           821:     done
        !           822: 
        !           823:     # process subdirs
        !           824:     if [ ! "x$CHECK_DIRS" = "x" ] ; then
        !           825:    $VERBOSE_ECHO "Recursively scanning the following directories:"
        !           826:    $VERBOSE_ECHO "  $CHECK_DIRS"
        !           827:    for dir in $CHECK_DIRS ; do
        !           828:        $VERBOSE_ECHO "Protecting files from automake in $dir"
        !           829:        cd "$START_PATH"
        !           830:        eval "cd $dir"
        !           831: 
        !           832:        # recursively git 'r done
        !           833:        recursive_protect
        !           834:    done
        !           835:     fi
        !           836: } # end of recursive_protect
        !           837: 
        !           838: 
        !           839: #############################
        !           840: # RESTORE_CLOBBERED FUNCION #
        !           841: #############################
        !           842: restore_clobbered ( ) {
        !           843: 
        !           844:     # The automake (and autoreconf by extension) -f/--force-missing
        !           845:     # option may overwrite COPYING and INSTALL even if they do exist.
        !           846:     # Here we restore the files if necessary.
        !           847: 
        !           848:     spacer=no
        !           849: 
        !           850:     for file in COPYING INSTALL ; do
        !           851:    if test -f ${file}.$$.protect_from_automake.backup ; then
        !           852:        if test -f ${file} ; then
        !           853:        # compare entire content, restore if needed
        !           854:        if test "x`cat ${file}`" != "x`cat ${file}.$$.protect_from_automake.backup`" ; then
        !           855:        if test "x$spacer" = "xno" ; then
        !           856:            $VERBOSE_ECHO
        !           857:            spacer=yes
        !           858:        fi
        !           859:        # restore the backup
        !           860:        $VERBOSE_ECHO "Restoring ${file} from backup (automake -f likely clobbered it)"
        !           861:        $VERBOSE_ECHO "rm -f ${file}"
        !           862:        rm -f ${file}
        !           863:        $VERBOSE_ECHO "mv ${file}.$$.protect_from_automake.backup ${file}"
        !           864:        mv ${file}.$$.protect_from_automake.backup ${file}
        !           865:        fi # check contents
        !           866:        elif test -f ${file}.$$.protect_from_automake.backup ; then
        !           867:        $VERBOSE_ECHO "mv ${file}.$$.protect_from_automake.backup ${file}"
        !           868:        mv ${file}.$$.protect_from_automake.backup ${file}
        !           869:        fi # -f ${file}
        !           870:    
        !           871:        # just in case
        !           872:        $VERBOSE_ECHO "rm -f ${file}.$$.protect_from_automake.backup"
        !           873:        rm -f ${file}.$$.protect_from_automake.backup
        !           874:    fi # -f ${file}.$$.protect_from_automake.backup
        !           875:     done
        !           876: 
        !           877:     CONFIGURE="`locate_configure_template`"
        !           878:     if [ "x$CONFIGURE" = "x" ] ; then
        !           879:    return
        !           880:     fi
        !           881: 
        !           882:     _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[     ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           883:     if test ! -d "$_aux_dir" ; then
        !           884:    _aux_dir=.
        !           885:     fi
        !           886: 
        !           887:     for file in config.guess config.sub ltmain.sh ; do
        !           888:    if test -f "${_aux_dir}/${file}" ; then
        !           889:        $VERBOSE_ECHO "rm -f \"${_aux_dir}/${file}.backup\""
        !           890:        rm -f "${_aux_dir}/${file}.backup"
        !           891:    fi
        !           892:     done
        !           893: } # end of restore_clobbered
        !           894: 
        !           895: 
        !           896: ##############################
        !           897: # RECURSIVE_RESTORE FUNCTION #
        !           898: ##############################
        !           899: recursive_restore ( ) {
        !           900: 
        !           901:     # restore COPYING and INSTALL from backup if they were clobbered
        !           902:     # for each directory recursively.
        !           903: 
        !           904:     # git 'r undone
        !           905:     restore_clobbered
        !           906: 
        !           907:     # find configure template
        !           908:     _configure="`locate_configure_template`"
        !           909:     if [ "x$_configure" = "x" ] ; then
        !           910:    return
        !           911:     fi
        !           912: 
        !           913:     # look for subdirs
        !           914:     _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $_configure | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[    ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           915:     CHECK_DIRS=""
        !           916:     for dir in $_det_config_subdirs ; do
        !           917:    if test -d "`pwd`/$dir" ; then
        !           918:        CHECK_DIRS="$CHECK_DIRS \"`pwd`/$dir\""
        !           919:    fi
        !           920:     done
        !           921: 
        !           922:     # process subdirs
        !           923:     if [ ! "x$CHECK_DIRS" = "x" ] ; then
        !           924:    $VERBOSE_ECHO "Recursively scanning the following directories:"
        !           925:    $VERBOSE_ECHO "  $CHECK_DIRS"
        !           926:    for dir in $CHECK_DIRS ; do
        !           927:        $VERBOSE_ECHO "Checking files for automake damage in $dir"
        !           928:        cd "$START_PATH"
        !           929:        eval "cd $dir"
        !           930: 
        !           931:        # recursively git 'r undone
        !           932:        recursive_restore
        !           933:    done
        !           934:     fi
        !           935: } # end of recursive_restore
        !           936: 
        !           937: 
        !           938: #######################
        !           939: # INITIALIZE FUNCTION #
        !           940: #######################
        !           941: initialize ( ) {
        !           942: 
        !           943:     # this routine performs a variety of directory-specific
        !           944:     # initializations.  some are sanity checks, some are preventive,
        !           945:     # and some are necessary setup detection.
        !           946:     #
        !           947:     # this function sets:
        !           948:     #   CONFIGURE
        !           949:     #   SEARCH_DIRS
        !           950:     #   CONFIG_SUBDIRS
        !           951: 
        !           952:     ##################################
        !           953:     # check for a configure template #
        !           954:     ##################################
        !           955:     CONFIGURE="`locate_configure_template`"
        !           956:     if [ "x$CONFIGURE" = "x" ] ; then
        !           957:    $ECHO
        !           958:    $ECHO "A configure.ac or configure.in file could not be located implying"
        !           959:    $ECHO "that the GNU Build System is at least not used in this directory.  In"
        !           960:    $ECHO "any case, there is nothing to do here without one of those files."
        !           961:    $ECHO
        !           962:    $ECHO "ERROR: No configure.in or configure.ac file found in `pwd`"
        !           963:    exit 1
        !           964:     fi
        !           965: 
        !           966:     #####################
        !           967:     # detect an aux dir #
        !           968:     #####################
        !           969:     _aux_dir="`grep AC_CONFIG_AUX_DIR $CONFIGURE | grep -v '.*#.*AC_CONFIG_AUX_DIR' | tail -${TAIL_N}1 | sed 's/^[     ]*AC_CONFIG_AUX_DIR(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           970:     if test ! -d "$_aux_dir" ; then
        !           971:    _aux_dir=.
        !           972:     else
        !           973:    $VERBOSE_ECHO "Detected auxillary directory: $_aux_dir"
        !           974:     fi
        !           975: 
        !           976:     ################################
        !           977:     # detect a recursive configure #
        !           978:     ################################
        !           979:     CONFIG_SUBDIRS=""
        !           980:     _det_config_subdirs="`grep AC_CONFIG_SUBDIRS $CONFIGURE | grep -v '.*#.*AC_CONFIG_SUBDIRS' | sed 's/^[     ]*AC_CONFIG_SUBDIRS(\(.*\)).*/\1/' | sed 's/.*\[\(.*\)\].*/\1/'`"
        !           981:     for dir in $_det_config_subdirs ; do
        !           982:    if test -d "`pwd`/$dir" ; then
        !           983:        $VERBOSE_ECHO "Detected recursive configure directory: `pwd`/$dir"
        !           984:        CONFIG_SUBDIRS="$CONFIG_SUBDIRS `pwd`/$dir"
        !           985:    fi
        !           986:     done
        !           987: 
        !           988:     ###########################################################
        !           989:     # make sure certain required files exist for GNU projects #
        !           990:     ###########################################################
        !           991:     _marker_found=""
        !           992:     _marker_found_message_intro='Detected non-GNU marker "'
        !           993:     _marker_found_message_mid='" in '
        !           994:     for marker in foreign cygnus ; do
        !           995:    _marker_found_message=${_marker_found_message_intro}${marker}${_marker_found_message_mid}
        !           996:    _marker_found="`grep 'AM_INIT_AUTOMAKE.*'${marker} $CONFIGURE`"
        !           997:    if [ ! "x$_marker_found" = "x" ] ; then
        !           998:        $VERBOSE_ECHO "${_marker_found_message}`basename \"$CONFIGURE\"`"
        !           999:        break
        !          1000:    fi
        !          1001:    if test -f "`dirname \"$CONFIGURE\"/Makefile.am`" ; then
        !          1002:        _marker_found="`grep 'AUTOMAKE_OPTIONS.*'${marker} Makefile.am`"
        !          1003:        if [ ! "x$_marker_found" = "x" ] ; then
        !          1004:        $VERBOSE_ECHO "${_marker_found_message}Makefile.am"
        !          1005:        break
        !          1006:        fi
        !          1007:    fi
        !          1008:     done
        !          1009:     if [ "x${_marker_found}" = "x" ] ; then
        !          1010:    _suggest_foreign=no
        !          1011:    for file in AUTHORS COPYING ChangeLog INSTALL NEWS README ; do
        !          1012:        if [ ! -f $file ] ; then
        !          1013:        $VERBOSE_ECHO "Touching ${file} since it does not exist"
        !          1014:        _suggest_foreign=yes
        !          1015:        touch $file
        !          1016:        fi
        !          1017:    done
        !          1018: 
        !          1019:    if [ "x${_suggest_foreign}" = "xyes" ] ; then
        !          1020:        $ECHO
        !          1021:        $ECHO "Warning: Several files expected of projects that conform to the GNU"
        !          1022:        $ECHO "coding standards were not found.  The files were automatically added"
        !          1023:        $ECHO "for you since you do not have a 'foreign' declaration specified."
        !          1024:        $ECHO
        !          1025:        $ECHO "Considered adding 'foreign' to AM_INIT_AUTOMAKE in `basename \"$CONFIGURE\"`"
        !          1026:        if test -f "`dirname \"$CONFIGURE\"/Makefile.am`" ; then
        !          1027:        $ECHO "or to AUTOMAKE_OPTIONS in your top-level Makefile.am file."
        !          1028:        fi
        !          1029:        $ECHO
        !          1030:    fi
        !          1031:     fi
        !          1032: 
        !          1033:     ##################################################
        !          1034:     # make sure certain generated files do not exist #
        !          1035:     ##################################################
        !          1036:     for file in config.guess config.sub ltmain.sh ; do
        !          1037:    if test -f "${_aux_dir}/${file}" ; then
        !          1038:        $VERBOSE_ECHO "mv -f \"${_aux_dir}/${file}\" \"${_aux_dir}/${file}.backup\""
        !          1039:        mv -f "${_aux_dir}/${file}" "${_aux_dir}/${file}.backup"
        !          1040:    fi
        !          1041:     done
        !          1042: 
        !          1043:     ############################
        !          1044:     # search alternate m4 dirs #
        !          1045:     ############################
        !          1046:     SEARCH_DIRS=""
        !          1047:     for dir in m4 ; do
        !          1048:    if [ -d $dir ] ; then
        !          1049:        $VERBOSE_ECHO "Found extra aclocal search directory: $dir"
        !          1050:        SEARCH_DIRS="$SEARCH_DIRS -I $dir"
        !          1051:    fi
        !          1052:     done
        !          1053: 
        !          1054:     ######################################
        !          1055:     # remove any previous build products #
        !          1056:     ######################################
        !          1057:     if test -d autom4te.cache ; then
        !          1058:    $VERBOSE_ECHO "Found an autom4te.cache directory, deleting it"
        !          1059:    $VERBOSE_ECHO "rm -rf autom4te.cache"
        !          1060:    rm -rf autom4te.cache
        !          1061:     fi
        !          1062: # tcl/tk (and probably others) have a customized aclocal.m4, so can't delete it
        !          1063: #     if test -f aclocal.m4 ; then
        !          1064: #  $VERBOSE_ECHO "Found an aclocal.m4 file, deleting it"
        !          1065: #  $VERBOSE_ECHO "rm -f aclocal.m4"
        !          1066: #  rm -f aclocal.m4
        !          1067: #     fi
        !          1068: 
        !          1069: } # end of initialize()
        !          1070: 
        !          1071: 
        !          1072: ##############
        !          1073: # initialize #
        !          1074: ##############
        !          1075: 
        !          1076: # stash path
        !          1077: START_PATH="`pwd`"
        !          1078: 
        !          1079: # Before running autoreconf or manual steps, some prep detection work
        !          1080: # is necessary or useful.  Only needs to occur once per directory, but
        !          1081: # does need to traverse the entire subconfigure hierarchy to protect
        !          1082: # files from being clobbered even by autoreconf.
        !          1083: recursive_protect
        !          1084: 
        !          1085: # start from where we started
        !          1086: cd "$START_PATH"
        !          1087: 
        !          1088: # get ready to process
        !          1089: initialize
        !          1090: 
        !          1091: 
        !          1092: #########################################
        !          1093: # DOWNLOAD_GNULIB_CONFIG_GUESS FUNCTION #
        !          1094: #########################################
        !          1095: 
        !          1096: # TODO - should make sure wget/curl exist and/or work before trying to
        !          1097: # use them.
        !          1098: 
        !          1099: download_gnulib_config_guess () {
        !          1100:     # abuse gitweb to download gnulib's latest config.guess via HTTP
        !          1101:     config_guess_temp="config.guess.$$.download"
        !          1102:     ret=1
        !          1103:     for __cmd in wget curl fetch ; do
        !          1104:    $VERBOSE_ECHO "Checking for command ${__cmd}"
        !          1105:    ${__cmd} --version > /dev/null 2>&1
        !          1106:    ret=$?
        !          1107:    if [ ! $ret = 0 ] ; then
        !          1108:        continue
        !          1109:         fi
        !          1110: 
        !          1111:    __cmd_version=`${__cmd} --version | head -n 1 | sed -e 's/^[^0-9]\+//' -e 's/ .*//'`
        !          1112:    $VERBOSE_ECHO "Found ${__cmd} ${__cmd_version}"
        !          1113: 
        !          1114:    opts=""
        !          1115:    case ${__cmd} in
        !          1116:        wget)
        !          1117:        opts="-O" 
        !          1118:        ;;
        !          1119:        curl)
        !          1120:        opts="-o"
        !          1121:        ;;
        !          1122:        fetch)
        !          1123:        opts="-t 5 -f"
        !          1124:        ;;
        !          1125:    esac
        !          1126: 
        !          1127:    $VERBOSE_ECHO "Running $__cmd \"${CONFIG_GUESS_URL}\" $opts \"${config_guess_temp}\""
        !          1128:    eval "$__cmd \"${CONFIG_GUESS_URL}\" $opts \"${config_guess_temp}\"" > /dev/null 2>&1
        !          1129:    if [ $? = 0 ] ; then
        !          1130:        mv -f "${config_guess_temp}" ${_aux_dir}/config.guess
        !          1131:        ret=0
        !          1132:        break
        !          1133:    fi
        !          1134:     done
        !          1135: 
        !          1136:     if [ ! $ret = 0 ] ; then
        !          1137:    $ECHO "Warning: config.guess download failed from: $CONFIG_GUESS_URL"
        !          1138:    rm -f "${config_guess_temp}"
        !          1139:     fi
        !          1140: }
        !          1141: 
        !          1142: 
        !          1143: ##############################
        !          1144: # LIBTOOLIZE_NEEDED FUNCTION #
        !          1145: ##############################
        !          1146: libtoolize_needed () {
        !          1147:     ret=1 # means no, don't need libtoolize
        !          1148:     for feature in AC_PROG_LIBTOOL AM_PROG_LIBTOOL LT_INIT ; do
        !          1149:    $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
        !          1150:    found="`grep \"^$feature.*\" $CONFIGURE`"
        !          1151:    if [ ! "x$found" = "x" ] ; then
        !          1152:        ret=0 # means yes, need to run libtoolize
        !          1153:        break
        !          1154:    fi
        !          1155:     done
        !          1156:     return ${ret}
        !          1157: }
        !          1158: 
        !          1159: 
        !          1160: 
        !          1161: ############################################
        !          1162: # prepare build via autoreconf or manually #
        !          1163: ############################################
        !          1164: reconfigure_manually=no
        !          1165: if [ "x$HAVE_AUTORECONF" = "xyes" ] ; then
        !          1166:     $ECHO
        !          1167:     $ECHO $ECHO_N "Automatically preparing build ... $ECHO_C"
        !          1168: 
        !          1169:     $VERBOSE_ECHO "$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS"
        !          1170:     autoreconf_output="`$AUTORECONF $SEARCH_DIRS $AUTORECONF_OPTIONS 2>&1`"
        !          1171:     ret=$?
        !          1172:     $VERBOSE_ECHO "$autoreconf_output"
        !          1173: 
        !          1174:     if [ ! $ret = 0 ] ; then
        !          1175:    if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then
        !          1176:        if [ ! "x`echo \"$autoreconf_output\" | grep libtoolize | grep \"No such file or directory\"`" = "x" ] ; then
        !          1177:        $ECHO
        !          1178:        $ECHO "Warning: autoreconf failed but due to what is usually a common libtool"
        !          1179:        $ECHO "misconfiguration issue.  This problem is encountered on systems that"
        !          1180:        $ECHO "have installed libtoolize under a different name without providing a"
        !          1181:        $ECHO "symbolic link or without setting the LIBTOOLIZE environment variable."
        !          1182:        $ECHO
        !          1183:        $ECHO "Restarting the preparation steps with LIBTOOLIZE set to $LIBTOOLIZE"
        !          1184: 
        !          1185:        export LIBTOOLIZE
        !          1186:        RUN_RECURSIVE=no
        !          1187:        export RUN_RECURSIVE
        !          1188:        untrap_abnormal
        !          1189: 
        !          1190:        $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
        !          1191:        sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
        !          1192:        exit $?
        !          1193:        fi
        !          1194:    fi
        !          1195: 
        !          1196:    $ECHO "Warning: $AUTORECONF failed"
        !          1197: 
        !          1198:    if test -f ltmain.sh ; then
        !          1199:        $ECHO "libtoolize being run by autoreconf is not creating ltmain.sh in the auxillary directory like it should"
        !          1200:    fi
        !          1201: 
        !          1202:    $ECHO "Attempting to run the preparation steps individually"
        !          1203:    reconfigure_manually=yes
        !          1204:     else
        !          1205:    if [ "x$DOWNLOAD" = "xyes" ] ; then
        !          1206:        if libtoolize_needed ; then
        !          1207:        download_gnulib_config_guess
        !          1208:        fi
        !          1209:    fi
        !          1210:     fi
        !          1211: else
        !          1212:     reconfigure_manually=yes
        !          1213: fi
        !          1214: 
        !          1215: 
        !          1216: ############################
        !          1217: # LIBTOOL_FAILURE FUNCTION #
        !          1218: ############################
        !          1219: libtool_failure ( ) {
        !          1220: 
        !          1221:     # libtool is rather error-prone in comparison to the other
        !          1222:     # autotools and this routine attempts to compensate for some
        !          1223:     # common failures.  the output after a libtoolize failure is
        !          1224:     # parsed for an error related to AC_PROG_LIBTOOL and if found, we
        !          1225:     # attempt to inject a project-provided libtool.m4 file.
        !          1226: 
        !          1227:     _autoconf_output="$1"
        !          1228: 
        !          1229:     if [ "x$RUN_RECURSIVE" = "xno" ] ; then
        !          1230:    # we already tried the libtool.m4, don't try again
        !          1231:    return 1
        !          1232:     fi
        !          1233: 
        !          1234:     if test -f "$LIBTOOL_M4" ; then
        !          1235:    found_libtool="`$ECHO $_autoconf_output | grep AC_PROG_LIBTOOL`"
        !          1236:    if test ! "x$found_libtool" = "x" ; then
        !          1237:        if test -f acinclude.m4 ; then
        !          1238:        rm -f acinclude.m4.$$.backup
        !          1239:        $VERBOSE_ECHO "cat acinclude.m4 > acinclude.m4.$$.backup"
        !          1240:        cat acinclude.m4 > acinclude.m4.$$.backup
        !          1241:        fi
        !          1242:        $VERBOSE_ECHO "cat \"$LIBTOOL_M4\" >> acinclude.m4"
        !          1243:        chmod u+w acinclude.m4
        !          1244:        cat "$LIBTOOL_M4" >> acinclude.m4
        !          1245: 
        !          1246:        # don't keep doing this
        !          1247:        RUN_RECURSIVE=no
        !          1248:        export RUN_RECURSIVE
        !          1249:        untrap_abnormal
        !          1250: 
        !          1251:        $ECHO
        !          1252:        $ECHO "Restarting the preparation steps with libtool macros in acinclude.m4"
        !          1253:        $VERBOSE_ECHO sh $AUTOGEN_SH "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
        !          1254:        sh "$AUTOGEN_SH" "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
        !          1255:        exit $?
        !          1256:    fi
        !          1257:     fi
        !          1258: }
        !          1259: 
        !          1260: 
        !          1261: ###########################
        !          1262: # MANUAL_AUTOGEN FUNCTION #
        !          1263: ###########################
        !          1264: manual_autogen ( ) {
        !          1265: 
        !          1266:     ##################################################
        !          1267:     # Manual preparation steps taken are as follows: #
        !          1268:     #   aclocal [-I m4]                              #
        !          1269:     #   libtoolize --automake -c -f                  #
        !          1270:     #   aclocal [-I m4]                              #
        !          1271:     #   autoconf -f                                  #
        !          1272:     #   autoheader                                   #
        !          1273:     #   automake -a -c -f                            #
        !          1274:     ##################################################
        !          1275: 
        !          1276:     ###########
        !          1277:     # aclocal #
        !          1278:     ###########
        !          1279:     $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS"
        !          1280:     aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`"
        !          1281:     ret=$?
        !          1282:     $VERBOSE_ECHO "$aclocal_output"
        !          1283:     if [ ! $ret = 0 ] ; then $ECHO "ERROR: $ACLOCAL failed" && exit 2 ; fi
        !          1284: 
        !          1285:     ##############
        !          1286:     # libtoolize #
        !          1287:     ##############
        !          1288:     if libtoolize_needed ; then
        !          1289:    if [ "x$HAVE_LIBTOOLIZE" = "xyes" ] ; then
        !          1290:        $VERBOSE_ECHO "$LIBTOOLIZE $LIBTOOLIZE_OPTIONS"
        !          1291:        libtoolize_output="`$LIBTOOLIZE $LIBTOOLIZE_OPTIONS 2>&1`"
        !          1292:        ret=$?
        !          1293:        $VERBOSE_ECHO "$libtoolize_output"
        !          1294: 
        !          1295:        if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi
        !          1296:    else
        !          1297:        if [ "x$HAVE_ALT_LIBTOOLIZE" = "xyes" ] ; then
        !          1298:        $VERBOSE_ECHO "$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS"
        !          1299:        libtoolize_output="`$LIBTOOLIZE $ALT_LIBTOOLIZE_OPTIONS 2>&1`"
        !          1300:        ret=$?
        !          1301:        $VERBOSE_ECHO "$libtoolize_output"
        !          1302: 
        !          1303:        if [ ! $ret = 0 ] ; then $ECHO "ERROR: $LIBTOOLIZE failed" && exit 2 ; fi
        !          1304:        fi
        !          1305:    fi
        !          1306: 
        !          1307:    ###########
        !          1308:    # aclocal #
        !          1309:    ###########
        !          1310:    # re-run again as instructed by libtoolize
        !          1311:    $VERBOSE_ECHO "$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS"
        !          1312:    aclocal_output="`$ACLOCAL $SEARCH_DIRS $ACLOCAL_OPTIONS 2>&1`"
        !          1313:    ret=$?
        !          1314:    $VERBOSE_ECHO "$aclocal_output"
        !          1315: 
        !          1316:    # libtoolize might put ltmain.sh in the wrong place
        !          1317:    if test -f ltmain.sh ; then
        !          1318:        if test ! -f "${_aux_dir}/ltmain.sh" ; then
        !          1319:        $ECHO
        !          1320:        $ECHO "Warning:  $LIBTOOLIZE is creating ltmain.sh in the wrong directory"
        !          1321:        $ECHO
        !          1322:        $ECHO "Fortunately, the problem can be worked around by simply copying the"
        !          1323:        $ECHO "file to the appropriate location (${_aux_dir}/).  This has been done for you."
        !          1324:        $ECHO
        !          1325:        $VERBOSE_ECHO "cp -p ltmain.sh \"${_aux_dir}/ltmain.sh\""
        !          1326:        cp -p ltmain.sh "${_aux_dir}/ltmain.sh"
        !          1327:        $ECHO $ECHO_N "Continuing build preparation ... $ECHO_C"
        !          1328:        fi
        !          1329:    fi # ltmain.sh
        !          1330: 
        !          1331:    if [ "x$DOWNLOAD" = "xyes" ] ; then
        !          1332:        download_gnulib_config_guess
        !          1333:    fi
        !          1334:     fi # libtoolize_needed
        !          1335: 
        !          1336:     ############
        !          1337:     # autoconf #
        !          1338:     ############
        !          1339:     $VERBOSE_ECHO
        !          1340:     $VERBOSE_ECHO "$AUTOCONF $AUTOCONF_OPTIONS"
        !          1341:     autoconf_output="`$AUTOCONF $AUTOCONF_OPTIONS 2>&1`"
        !          1342:     ret=$?
        !          1343:     $VERBOSE_ECHO "$autoconf_output"
        !          1344: 
        !          1345:     if [ ! $ret = 0 ] ; then
        !          1346:    # retry without the -f and check for usage of macros that are too new
        !          1347:    ac2_59_macros="AC_C_RESTRICT AC_INCLUDES_DEFAULT AC_LANG_ASSERT AC_LANG_WERROR AS_SET_CATFILE"
        !          1348:    ac2_55_macros="AC_COMPILER_IFELSE AC_FUNC_MBRTOWC AC_HEADER_STDBOOL AC_LANG_CONFTEST AC_LANG_SOURCE AC_LANG_PROGRAM AC_LANG_CALL AC_LANG_FUNC_TRY_LINK AC_MSG_FAILURE AC_PREPROC_IFELSE"
        !          1349:    ac2_54_macros="AC_C_BACKSLASH_A AC_CONFIG_LIBOBJ_DIR AC_GNU_SOURCE AC_PROG_EGREP AC_PROG_FGREP AC_REPLACE_FNMATCH AC_FUNC_FNMATCH_GNU AC_FUNC_REALLOC AC_TYPE_MBSTATE_T"
        !          1350: 
        !          1351:    macros_to_search=""
        !          1352:    ac_major="`echo ${AUTOCONF_VERSION}. | cut -d. -f1 | sed 's/[^0-9]//g'`"
        !          1353:    ac_minor="`echo ${AUTOCONF_VERSION}. | cut -d. -f2 | sed 's/[^0-9]//g'`"
        !          1354: 
        !          1355:    if [ $ac_major -lt 2 ] ; then
        !          1356:        macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros"
        !          1357:    else
        !          1358:        if [ $ac_minor -lt 54 ] ; then
        !          1359:        macros_to_search="$ac2_59_macros $ac2_55_macros $ac2_54_macros"
        !          1360:        elif [ $ac_minor -lt 55 ] ; then
        !          1361:        macros_to_search="$ac2_59_macros $ac2_55_macros"
        !          1362:        elif [ $ac_minor -lt 59 ] ; then
        !          1363:        macros_to_search="$ac2_59_macros"
        !          1364:        fi
        !          1365:    fi
        !          1366: 
        !          1367:    configure_ac_macros=__none__
        !          1368:    for feature in $macros_to_search ; do
        !          1369:        $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
        !          1370:        found="`grep \"^$feature.*\" $CONFIGURE`"
        !          1371:        if [ ! "x$found" = "x" ] ; then
        !          1372:        if [ "x$configure_ac_macros" = "x__none__" ] ; then
        !          1373:            configure_ac_macros="$feature"
        !          1374:        else
        !          1375:            configure_ac_macros="$feature $configure_ac_macros"
        !          1376:        fi
        !          1377:        fi
        !          1378:    done
        !          1379:    if [ ! "x$configure_ac_macros" = "x__none__" ] ; then
        !          1380:        $ECHO
        !          1381:        $ECHO "Warning:  Unsupported macros were found in $CONFIGURE"
        !          1382:        $ECHO
        !          1383:        $ECHO "The `basename \"$CONFIGURE\"` file was scanned in order to determine if any"
        !          1384:        $ECHO "unsupported macros are used that exceed the minimum version"
        !          1385:        $ECHO "settings specified within this file.  As such, the following macros"
        !          1386:        $ECHO "should be removed from configure.ac or the version numbers in this"
        !          1387:        $ECHO "file should be increased:"
        !          1388:        $ECHO
        !          1389:        $ECHO "$configure_ac_macros"
        !          1390:        $ECHO
        !          1391:        $ECHO $ECHO_N "Ignorantly continuing build preparation ... $ECHO_C"
        !          1392:    fi
        !          1393: 
        !          1394:    ###################
        !          1395:    # autoconf, retry #
        !          1396:    ###################
        !          1397:    $VERBOSE_ECHO
        !          1398:    $VERBOSE_ECHO "$AUTOCONF"
        !          1399:    autoconf_output="`$AUTOCONF 2>&1`"
        !          1400:    ret=$?
        !          1401:    $VERBOSE_ECHO "$autoconf_output"
        !          1402: 
        !          1403:    if [ ! $ret = 0 ] ; then
        !          1404:        # test if libtool is busted
        !          1405:        libtool_failure "$autoconf_output"
        !          1406: 
        !          1407:        # let the user know what went wrong
        !          1408:        cat <<EOF
        !          1409: $autoconf_output
        !          1410: EOF
        !          1411:        $ECHO "ERROR: $AUTOCONF failed"
        !          1412:        exit 2
        !          1413:    else
        !          1414:        # autoconf sans -f and possibly sans unsupported options succeed so warn verbosely
        !          1415:        $ECHO
        !          1416:        $ECHO "Warning: autoconf seems to have succeeded by removing the following options:"
        !          1417:        $ECHO " AUTOCONF_OPTIONS=\"$AUTOCONF_OPTIONS\""
        !          1418:        $ECHO
        !          1419:        $ECHO "Removing those options should not be necessary and indicate some other"
        !          1420:        $ECHO "problem with the build system.  The build preparation is highly suspect"
        !          1421:        $ECHO "and may result in configuration or compilation errors.  Consider"
        !          1422:        if [ "x$VERBOSE_ECHO" = "x:" ] ; then
        !          1423:        $ECHO "rerunning the build preparation with verbose output enabled."
        !          1424:        $ECHO " $AUTOGEN_SH --verbose"
        !          1425:        else
        !          1426:        $ECHO "reviewing the minimum GNU Autotools version settings contained in"
        !          1427:        $ECHO "this script along with the macros being used in your `basename \"$CONFIGURE\"` file."
        !          1428:        fi
        !          1429:        $ECHO
        !          1430:        $ECHO $ECHO_N "Continuing build preparation ... $ECHO_C"
        !          1431:    fi # autoconf ret = 0
        !          1432:     fi # autoconf ret = 0
        !          1433: 
        !          1434:     ##############
        !          1435:     # autoheader #
        !          1436:     ##############
        !          1437:     need_autoheader=no
        !          1438:     for feature in AM_CONFIG_HEADER AC_CONFIG_HEADER ; do
        !          1439:    $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
        !          1440:    found="`grep \"^$feature.*\" $CONFIGURE`"
        !          1441:    if [ ! "x$found" = "x" ] ; then
        !          1442:        need_autoheader=yes
        !          1443:        break
        !          1444:    fi
        !          1445:     done
        !          1446:     if [ "x$need_autoheader" = "xyes" ] ; then
        !          1447:    $VERBOSE_ECHO "$AUTOHEADER $AUTOHEADER_OPTIONS"
        !          1448:    autoheader_output="`$AUTOHEADER $AUTOHEADER_OPTIONS 2>&1`"
        !          1449:    ret=$?
        !          1450:    $VERBOSE_ECHO "$autoheader_output"
        !          1451:    if [ ! $ret = 0 ] ; then $ECHO "ERROR: $AUTOHEADER failed" && exit 2 ; fi
        !          1452:     fi # need_autoheader
        !          1453: 
        !          1454:     ############
        !          1455:     # automake #
        !          1456:     ############
        !          1457:     need_automake=no
        !          1458:     for feature in AM_INIT_AUTOMAKE ; do
        !          1459:    $VERBOSE_ECHO "Searching for $feature in $CONFIGURE"
        !          1460:    found="`grep \"^$feature.*\" $CONFIGURE`"
        !          1461:    if [ ! "x$found" = "x" ] ; then
        !          1462:        need_automake=yes
        !          1463:        break
        !          1464:    fi
        !          1465:     done
        !          1466: 
        !          1467:     if [ "x$need_automake" = "xyes" ] ; then
        !          1468:    $VERBOSE_ECHO "$AUTOMAKE $AUTOMAKE_OPTIONS"
        !          1469:    automake_output="`$AUTOMAKE $AUTOMAKE_OPTIONS 2>&1`"
        !          1470:    ret=$?
        !          1471:    $VERBOSE_ECHO "$automake_output"
        !          1472: 
        !          1473:    if [ ! $ret = 0 ] ; then
        !          1474: 
        !          1475:        ###################
        !          1476:        # automake, retry #
        !          1477:        ###################
        !          1478:        $VERBOSE_ECHO
        !          1479:        $VERBOSE_ECHO "$AUTOMAKE $ALT_AUTOMAKE_OPTIONS"
        !          1480:        # retry without the -f
        !          1481:        automake_output="`$AUTOMAKE $ALT_AUTOMAKE_OPTIONS 2>&1`"
        !          1482:        ret=$?
        !          1483:        $VERBOSE_ECHO "$automake_output"
        !          1484: 
        !          1485:        if [ ! $ret = 0 ] ; then
        !          1486:        # test if libtool is busted
        !          1487:        libtool_failure "$automake_output"
        !          1488: 
        !          1489:        # let the user know what went wrong
        !          1490:        cat <<EOF
        !          1491: $automake_output
        !          1492: EOF
        !          1493:        $ECHO "ERROR: $AUTOMAKE failed"
        !          1494:        exit 2
        !          1495:        fi # automake retry
        !          1496:    fi # automake ret = 0
        !          1497:     fi # need_automake
        !          1498: } # end of manual_autogen
        !          1499: 
        !          1500: 
        !          1501: #####################################
        !          1502: # RECURSIVE_MANUAL_AUTOGEN FUNCTION #
        !          1503: #####################################
        !          1504: recursive_manual_autogen ( ) {
        !          1505: 
        !          1506:     # run the build preparation steps manually for this directory
        !          1507:     manual_autogen
        !          1508: 
        !          1509:     # for projects using recursive configure, run the build
        !          1510:     # preparation steps for the subdirectories.
        !          1511:     if [ ! "x$CONFIG_SUBDIRS" = "x" ] ; then
        !          1512:    $VERBOSE_ECHO "Recursively configuring the following directories:"
        !          1513:    $VERBOSE_ECHO "  $CONFIG_SUBDIRS"
        !          1514:    for dir in $CONFIG_SUBDIRS ; do
        !          1515:        $VERBOSE_ECHO "Processing recursive configure in $dir"
        !          1516:        cd "$START_PATH"
        !          1517:        cd "$dir"
        !          1518: 
        !          1519:        # new directory, prepare
        !          1520:        initialize
        !          1521: 
        !          1522:        # run manual steps for the subdir and any others below
        !          1523:        recursive_manual_autogen
        !          1524:    done
        !          1525:     fi
        !          1526: }
        !          1527: 
        !          1528: 
        !          1529: ################################
        !          1530: # run manual preparation steps #
        !          1531: ################################
        !          1532: if [ "x$reconfigure_manually" = "xyes" ] ; then
        !          1533:     $ECHO
        !          1534:     $ECHO $ECHO_N "Preparing build ... $ECHO_C"
        !          1535: 
        !          1536:     recursive_manual_autogen
        !          1537: fi
        !          1538: 
        !          1539: 
        !          1540: #########################
        !          1541: # restore and summarize #
        !          1542: #########################
        !          1543: cd "$START_PATH"
        !          1544: 
        !          1545: # restore COPYING and INSTALL from backup if necessary
        !          1546: recursive_restore
        !          1547: 
        !          1548: # make sure we end up with a configure script
        !          1549: config_ac="`locate_configure_template`"
        !          1550: config="`echo $config_ac | sed 's/\.ac$//' | sed 's/\.in$//'`"
        !          1551: if [ "x$config" = "x" ] ; then
        !          1552:     $VERBOSE_ECHO "Could not locate the configure template (from `pwd`)"
        !          1553: fi
        !          1554: 
        !          1555: # summarize
        !          1556: $ECHO "done"
        !          1557: $ECHO
        !          1558: if test "x$config" = "x" -o ! -f "$config" ; then
        !          1559:     $ECHO "WARNING: The $PROJECT build system should now be prepared but there"
        !          1560:     $ECHO "does not seem to be a resulting configure file.  This is unexpected"
        !          1561:     $ECHO "and likely the result of an error.  You should run $NAME_OF_AUTOGEN"
        !          1562:     $ECHO "with the --verbose option to get more details on a potential"
        !          1563:     $ECHO "misconfiguration."
        !          1564: else
        !          1565:     $ECHO "The $PROJECT build system is now prepared.  To build here, run:"
        !          1566:     $ECHO "  $config"
        !          1567:     $ECHO "  make"
        !          1568: fi
        !          1569: 
        !          1570: 
        !          1571: # Local Variables:
        !          1572: # mode: sh
        !          1573: # tab-width: 8
        !          1574: # sh-basic-offset: 4
        !          1575: # sh-indentation: 4
        !          1576: # indent-tabs-mode: t
        !          1577: # End:
        !          1578: # ex: shiftwidth=4 tabstop=8

CVSweb interface <joel.bertrand@systella.fr>