Edit

kc3-lang/automake/bootstrap

Branch :

  • Show log

    Commit

  • Author : Stefano Lattarini
    Date : 2011-09-05 17:37:44
    Hash : 30f99cbd
    Message : aclocal: more granularity in acdir overriding Before this change, using the `--acdir' option caused aclocal to redefine both the directory of automake-provided m4 macros and the directory of third-party system-wide m4 macros. With this change, we deprecate the `--acdir' aclocal option, and introduce two new options `--automake-acdir' and `--system-acdir', to allow for more granularity. * aclocal.in (@automake_includes, @system_includes, @user_includes): Fix and extend comments. (usage): Update. (handle_acdir_option): New function. (parse_arguments): Recognize new options `--system-acdir' and `automake-acdir', and handle `--acdir' using the new function above. Simplify logic by assuming that the directory of third-party system-wide m4 files always exists. * tests/aclocal.in: Update to use the new options, instead of the deprecated. `--acdir'. * m4/dirlist: Move ... * m4/acdir/dirlist: ... here. * m4/Makefile.am (EXTRA_DIST): Update. (m4datadir): Rename ... (automake_acdir): ... to this. Accordingly, ... (dist_m4data_DATA): ... rename this ... (dist_automake_ac_DATA): ... to this. (system_acdir): New, directory. (dist_system_ac_DATA): New, defined to an empty value; this will ensure that the $(system_acdir) directory will be created by "make install". * tests/aclocal.test: Remove check about the `--print-ac-dir' option of aclocal, it has been moved into ... * tests/aclocal-print-acdir.test: ... this new test, and quite extended. * tests/aclocal-acdir.test: New test. * tests/Makefile.am (TESTS): Add the new tests. * NEWS, bootstrap: Update. * doc/automake.texi (aclocal Options, Macro Search Path): Update.

  • bootstrap
  • #! /bin/sh
    
    # This script helps bootstrap automake, when checked out from git.
    #
    # Copyright (C) 2002, 2003, 2004, 2007, 2008, 2010 Free Software
    # Foundation, Inc.
    # Originally 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, see <http://www.gnu.org/licenses/>.
    
    # Don't ignore failures.
    set -e
    
    # Set program basename.
    me=`echo "$0" | sed 's,^.*/,,'`
    
    # Let user choose which version of autoconf, autom4te and perl to use.
    : ${AUTOCONF=autoconf}
    export AUTOCONF  # might be used by aclocal and/or automake
    : ${AUTOM4TE=autom4te}
    export AUTOM4TE  # ditto
    : ${PERL=perl}
    
    # Variables to substitute.
    VERSION=`sed -ne '/AC_INIT/s/^[^[]*\[[^[]*\[\([^]]*\)\].*$/\1/p' configure.ac`
    PACKAGE=automake
    datadir=.
    PERL_THREADS=0
    
    # 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 "$DJDIR"; 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 "$me: cannot find VERSION" >&2
      exit 1
    fi
    
    if test -z "$APIVERSION"; then
      echo "$me: cannot find APIVERSION" >&2
      exit 1
    fi
    
    # Make a dummy versioned directory for aclocal.
    rm -rf aclocal-$APIVERSION
    mkdir aclocal-$APIVERSION
    if test -d automake-$APIVERSION; then
      find automake-$APIVERSION -exec chmod u+wx '{}' ';'
    fi
    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 ()
    {
      rm -f $2
      in=`echo $1 | sed 's,^.*/,,'`
      sed -e "s%@APIVERSION@%$APIVERSION%g" \
          -e "s%@PACKAGE@%$PACKAGE%g" \
          -e "s%@PERL@%$PERL%g" \
          -e "s%@PERL_THREADS@%$PERL_THREADS%g" \
          -e "s%@SHELL@%$BOOTSTRAP_SHELL%g" \
          -e "s%@VERSION@%$VERSION%g" \
          -e "s%@datadir@%$datadir%g" \
          -e "s%@configure_input@%Generated from $in; do not edit by hand.%g" \
          $1 > $2
      chmod a-w $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
    
    # Create tests/parallel-tests.am.
    cd tests
    $BOOTSTRAP_SHELL ./gen-parallel-tests > parallel-tests.am
    cd ..
    
    # Run the autotools.
    # Use `-I' here so that our own *.m4 files in m4/ gets included,
    # not copied, in aclocal.m4.
    $PERL ./aclocal.tmp -I m4 --automake-acdir m4 --system-acdir m4/acdir
    $AUTOCONF
    $PERL ./automake.tmp
    
    # Remove temporary files and directories.
    rm -rf aclocal-$APIVERSION automake-$APIVERSION
    rm -f aclocal.tmp automake.tmp