# -*- shell-script -*- # Defines for Automake testing environment. # Tom Tromey # Ensure $srcdir set correctly. test -f $srcdir/defs || { echo "defs: installation error" 1>&2 exit 1 } me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'` # See how redirections should work. User can set VERBOSE to see all # output. test -z "$VERBOSE" && { exec > /dev/null 2>&1 } if test -n "$required" then for tool in $required do echo "$me: running $tool --version" ( $tool --version ) || exit 77 done fi # Always use an absolute srcdir. Otherwise symlinks made in subdirs # of the test dir just won't work. case "$srcdir" in [\\/]* | ?:[\\/]*) ;; *) srcdir=`CDPATH=: && cd "$srcdir" && pwd` ;; esac chmod -R a+rwx testSubDir > /dev/null 2>&1 rm -rf testSubDir > /dev/null 2>&1 mkdir testSubDir # Copy in some files we need. for file in install-sh mkinstalldirs missing depcomp; do cp $srcdir/../lib/$file testSubDir/$file || exit 1 done cd ./testSubDir # Build appropriate environment in test directory. Eg create # configure.in, touch all necessary files, etc. # Don't use AC_OUTPUT, but AC_CONFIG_FILES so that appending # still produces a valid configure.ac. But then, tests running # config.status really need to append AC_OUTPUT. cat > configure.in << END AC_INIT($me, 1.0) AM_INIT_AUTOMAKE AC_PROG_INSTALL AC_PROG_MAKE_SET AC_CONFIG_FILES(Makefile) END # User can set PERL to change the perl interpreter used. test -z "$PERL" && PERL=perl # User can set MAKE to choose which make to use. Must use GNU make. test -z "$MAKE" && MAKE=make # Unset some MAKE... variables that may cause $MAKE to act like a # recursively invoked sub-make. Any $MAKE invocation in a test is # conceptually an independent invocation, not part of the main # 'automake' build. unset MFLAGS unset MAKEFLAGS unset MAKELEVEL unset DESTDIR if ($MAKE --version) > /dev/null 2>&1; then needs_gnu_make=: else needs_gnu_make='exit 77' fi # User can set which tools from Autoconf to use. test -z "$AUTOCONF" && AUTOCONF=autoconf echo "=== Running test $0" # See how Automake should be run. We put --foreign as the default # strictness to avoid having to create lots and lots of files. A test # can override this by specifying a different strictness. if test -z "$AUTOMAKE"; then perllibdir=$srcdir/../lib export perllibdir AUTOMAKE="$PERL ../../automake --libdir=$srcdir/../lib --foreign --Werror" fi # See how aclocal should be run. if test -z "$ACLOCAL"; then perllibdir=$srcdir/../lib export perllibdir # Most of the files are in $srcdir/../m4. However amversion.m4 is # generated in ../m4, so we include that directory in the search # path too. ACLOCAL="$PERL ../../aclocal -I `pwd`/../../m4 --acdir=$srcdir/../m4" fi # We might need extra macros, e.g., from Libtool or Gettext. # Find them on the system. # Use `-I $srcdir/../m4' in addition to `--acdir', because the # other `-I' directories added for libtool and gettext might contain # files from an old version of Automake that we don't want to use. aclocaldir=`(aclocal --print-ac-dir) 2>/dev/null` case $required in *libtool* ) test -f "$aclocaldir/libtool.m4" || exit 77 ACLOCAL="$ACLOCAL -I $srcdir/../m4 -I $aclocaldir" ;; *gettext* ) test -f "$aclocaldir/gettext.m4" || exit 77 ACLOCAL="$ACLOCAL -I $srcdir/../m4 -I $aclocaldir" ;; esac # Export AUTOMAKE and ACLOCAL so that rebuild rules in Makefiles # generated for the tests do not use the installed tools. export AUTOMAKE ACLOCAL # The tests call `make -e' but we do not want $srcdir from the evironment # to override the definition from the Makefile. testsrcdir=$srcdir unset srcdir # Turn on shell traces when VERBOSE=x. if test "x$VERBOSE" = xx; then set -x else : fi