Edit

kc3-lang/automake/bootstrap

Branch :

  • Show log

    Commit

  • Author : Jim Meyering
    Date : 2003-11-17 08:52:30
    Hash : 0e9e7766
    Message : Require not only that `perl' have the executable bit set, but also that it is not a directory.

  • bootstrap
  • #! /bin/sh
    
    # This script helps bootstrap automake, when checked out from CVS.
    #
    # Copyright (C) 2002, 2003  Free Software Foundation, Inc.
    # written by Pavel Roskin <proski@gnu.org> September 2002
    #
    # This program is free software; you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation; either version 2, or (at your option)
    # any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
    
    # Find the path separator
    echo "#! /bin/sh" >boot$$.sh
    echo  "exit 0"   >>boot$$.sh
    chmod +x boot$$.sh
    if (PATH="/nonexistent;."; boot$$.sh) >/dev/null 2>&1; then
      PATH_SEPARATOR=';'
    else
      PATH_SEPARATOR=:
    fi
    rm -f boot$$.sh
    
    # Don't ignore failures
    set -e
    
    # Find perl.  Code based on Autoconf, but without non-POSIX support.
    if test -z "$PERL"; then
    	save_IFS=$IFS
    	IFS=$PATH_SEPARATOR
    	for dir in $PATH; do
    		IFS=$save_IFS
    		test -z "$dir" && dir=.
    		if test -x "$dir/perl" && test ! -d "$dir/perl"; then
    			PERL="$dir/perl"
    			break
    		fi
    	done
    fi
    
    if test -z "$PERL"; then
    	echo "Cannot find perl" 2>&1
    	exit 1
    fi
    
    # Variables to substitute
    VERSION=`sed -ne '/AC_INIT/s/^[^[]*\[[^[]*\[\([^]]*\)\].*$/\1/p' configure.ac`
    PACKAGE=automake
    datadir=.
    
    # Override SHELL.  This is required on DJGPP so that Perl's system()
    # uses bash, not COMMAND.COM which doesn't quote arguments properly.
    # It's not used otherwise.
    if test -n "$DJGPP"; then
        BOOTSTRAP_SHELL=/dev/env/DJDIR/bin/bash.exe
    else
        BOOTSTRAP_SHELL=/bin/sh
    fi
    
    # Read the rule for calculating APIVERSION and execute it
    apiver_cmd=`sed -ne 's/\[\[/[/g;s/\]\]/]/g;/^APIVERSION=/p' configure.ac`
    eval $apiver_cmd
    
    # Sanity checks
    if test -z "$VERSION"; then
    	echo "Cannot find VERSION" 2>&1
    	exit 1
    fi
    
    if test -z "$APIVERSION"; then
    	echo "Cannot find VERSION" 2>&1
    	exit 1
    fi
    
    # Make a dummy versioned directory for aclocal
    rm -rf aclocal-$APIVERSION
    mkdir aclocal-$APIVERSION
    rm -rf automake-$APIVERSION
    # Can't use `ln -s lib automake-$APIVERSION',
    # that would create a lib.exe stub under DJGPP 2.03.
    mkdir automake-$APIVERSION
    cp -rf lib/* automake-$APIVERSION
    
    dosubst ()
    {
      sed -e "s%@PERL@%$PERL%g" \
          -e "s%@VERSION@%$VERSION%g" \
          -e "s%@APIVERSION@%$APIVERSION%g" \
          -e "s%@PACKAGE@%$PACKAGE%g" \
          -e "s%@datadir@%$datadir%g" \
          -e "s%@SHELL@%$BOOTSTRAP_SHELL%g" $1 > $2
    }
    
    
    # Create temporary replacement for lib/Automake/Config.pm
    dosubst automake-$APIVERSION/Automake/Config.in \
            automake-$APIVERSION/Automake/Config.pm
    
    # Create temporary replacement for aclocal
    dosubst aclocal.in aclocal.tmp
    
    # Overwrite amversion.m4
    dosubst m4/amversion.in m4/amversion.m4
    
    # Create temporary replacement for automake
    dosubst automake.in automake.tmp
    
    # Run the autotools.
    $PERL ./aclocal.tmp -I m4
    autoconf
    $PERL ./automake.tmp
    
    # Remove temporary files and directories
    rm -rf aclocal-$APIVERSION automake-$APIVERSION
    rm -f aclocal.tmp automake.tmp
    rm -f lib/Automake/Config.pm