(close): Call Automake::FileUtils::handle_exec_errors on errors.
* automake.in (scan_autoconf_files): Exit with $?=63 on version
mismatch.
(scan_autoconf_traces): Likewise. Close the autoconf pipe to
capture abnormal exits.
* aclocal.in ($exit_status): Remove, and use Channels.pm's $exit_code
instead.
(trace_used_macros): Close the autom4te pipe to capture abnormal exits.
* lib/missing: When a tool has run and exited with $?=63, emulate
it. Adjust the diagnostic and pretend the tool is tool old in this
case. Use an emacs-updated "scriptversion" variable.
* configure.in: Output tests/aclocal-${APIVERSION} and
tests/automake-${APIVERSION}.
* tests/aclocal.in, tests/automake.in,
tests/missing.test, tests/missing2.test: New files.
* tests/defs.in (AUTOMAKE, ACLOCAL, PATH): Define
to use tests/aclocal-$APIVERSION and tests/automake-$APIVERSION.
* tests/dup3.test: Remove. alocal9.test, acloca10.test, and others are
already testing for this.
* tests/depacl2.test, tests/dup2.test, tests/order.test: Fix
configure.in so that aclocal works.
* tests/defun.test: Quote the AC_DEFUN body.
* tests/Makefile.am (TESTS): Add missing.test and missing2.test,
and remove dup3.test.
(check_SCRIPTS): Add aclocal and automake.
2003-09-06 Alexandre Duret-Lutz <adl@gnu.org>
+ * lib/Automake/XFile.pm: Update to use ChannelDefs.
+ (close): Call Automake::FileUtils::handle_exec_errors on errors.
+ * automake.in (scan_autoconf_files): Exit with $?=63 on version
+ mismatch.
+ (scan_autoconf_traces): Likewise. Close the autoconf pipe to
+ capture abnormal exits.
+ * aclocal.in ($exit_status): Remove, and use Channels.pm's $exit_code
+ instead.
+ (trace_used_macros): Close the autom4te pipe to capture abnormal exits.
+ * lib/missing: When a tool has run and exited with $?=63, emulate
+ it. Adjust the diagnostic and pretend the tool is tool old in this
+ case. Use an emacs-updated "scriptversion" variable.
+ * configure.in: Output tests/aclocal-${APIVERSION} and
+ tests/automake-${APIVERSION}.
+ * tests/aclocal.in, tests/automake.in,
+ tests/missing.test, tests/missing2.test: New files.
+ * tests/defs.in (AUTOMAKE, ACLOCAL, PATH): Define
+ to use tests/aclocal-$APIVERSION and tests/automake-$APIVERSION.
+ * tests/dup3.test: Remove. alocal9.test, acloca10.test, and others are
+ already testing for this.
+ * tests/depacl2.test, tests/dup2.test, tests/order.test: Fix
+ configure.in so that aclocal works.
+ * tests/defun.test: Quote the AC_DEFUN body.
+ * tests/Makefile.am (TESTS): Add missing.test and missing2.test,
+ and remove dup3.test.
+ (check_SCRIPTS): Add aclocal and automake.
+
* tests/unused.test: Quote AC_DEFUN arguments.
2003-09-05 Paul Eggert <eggert@twinsun.com>
argument. The latter can be used to override the default behavior
(which is to abort).
+ - Automake will exit with $? = 63 on version mismatch. (So does
+ Autoconf 2.58) missing knows this, and in this case it will
+ emulate the tools as if they were absent. Because older versions
+ of Automake and Autoconf did not use this exit code, this change
+ will only be useful in projects generated with future versions of
+ these tools.
+
* Obsolete features
- lisp_DATA is now allowed. If you are using the empty ELCFILES
use Automake::Config;
use Automake::General;
use Automake::Configure_ac;
+use Automake::Channels;
use Automake::XFile;
use Automake::FileUtils;
use File::stat;
# configure.ac or configure.in.
my $configure_ac = require_configure_ac;
-# Exit status.
-$exit_status = 0;
-
# Output file name.
$output_file = 'aclocal.m4';
local (@dirlist) = &parse_arguments (@ARGV);
&scan_m4_files (@dirlist);
&scan_configure;
-if (! $exit_status)
+if (! $exit_code)
{
my %macro_traced = &trace_used_macros;
&write_aclocal ($output_file, keys %macro_traced);
}
&check_acinclude;
-exit $exit_status;
+exit $exit_code;
################################################################
{
# Macro not found, but AM_ prefix found.
warn "aclocal: $configure_ac: $.: macro `$2' not found in library\n";
- $exit_status = 1;
+ $exit_code = 1;
}
}
if (! defined $map{$macro})
{
warn "aclocal: macro `$macro' required but not defined\n";
- $exit_status = 1;
+ $exit_code = 1;
return;
}
{
# Macro not found, but AM_ prefix found.
warn "aclocal: $configure_ac: $.: macro `$2' not found in library\n";
- $exit_status = 1;
+ $exit_code = 1;
}
}
chomp;
$traced{$_} = 1 if $macro_seen{$_};
}
+
+ $tracefh->close;
+
return %traced;
}
"version mismatch. This is Automake $VERSION,\n" .
"but the definition used by this AM_INIT_AUTOMAKE\n" .
"comes from Automake $args[1]. You should recreate\n" .
- "aclocal.m4 with aclocal and run automake again.\n")
+ "aclocal.m4 with aclocal and run automake again.\n",
+ # $? = 63 is used to indicate version mismatch to missing.
+ exit_code => 63)
if $VERSION ne $args[1];
$seen_automake_version = 1;
if $mtime > $configure_deps_greatest_timestamp;
}
}
- }
+ }
+
+ $tracefh->close;
}
error ($seen_init_automake,
"your implementation of AM_INIT_AUTOMAKE comes from " .
"an\nold Automake version. You should recreate " .
- "aclocal.m4\nwith aclocal and run automake again.\n");
+ "aclocal.m4\nwith aclocal and run automake again.\n",
+ # $? = 63 is used to indicate version mismatch to missing.
+ exit_code => 63);
}
else
{
ac_config_files="$ac_config_files Makefile lib/Automake/Makefile lib/Automake/tests/Makefile lib/Makefile lib/am/Makefile m4/Makefile tests/Makefile tests/defs"
+ ac_config_files="$ac_config_files tests/aclocal-${APIVERSION}:tests/aclocal.in"
+
+ ac_config_files="$ac_config_files tests/automake-${APIVERSION}:tests/automake.in"
+
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+APIVERSION=$APIVERSION
+
+_ACEOF
"m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
"tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
"tests/defs" ) CONFIG_FILES="$CONFIG_FILES tests/defs" ;;
+ "tests/aclocal-${APIVERSION}" ) CONFIG_FILES="$CONFIG_FILES tests/aclocal-${APIVERSION}:tests/aclocal.in" ;;
+ "tests/automake-${APIVERSION}" ) CONFIG_FILES="$CONFIG_FILES tests/automake-${APIVERSION}:tests/automake.in" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
rm -f $tmp/out
fi
+ # Run the commands associated with the file.
+ case $ac_file in
+ tests/aclocal-${APIVERSION} ) chmod +x tests/aclocal-${APIVERSION} ;;
+ tests/automake-${APIVERSION} ) chmod +x tests/automake-${APIVERSION} ;;
+ esac
done
_ACEOF
tests/Makefile
tests/defs
])
+AC_CONFIG_FILES([tests/aclocal-${APIVERSION}:tests/aclocal.in],
+ [chmod +x tests/aclocal-${APIVERSION}],
+ [APIVERSION=$APIVERSION])
+AC_CONFIG_FILES([tests/automake-${APIVERSION}:tests/automake.in],
+ [chmod +x tests/automake-${APIVERSION}])
AC_OUTPUT
use Carp;
use IO::File;
use File::Basename;
+use Automake::ChannelDefs;
+use Automake::FileUtils;
require Exporter;
require DynaLoader;
if (!$fh->SUPER::open (@_))
{
- croak "$me: cannot open $file: $!\n";
+ fatal "cannot open $file: $!";
}
# In case we're running under MSWindows, don't write with CRLF.
if (!$fh->SUPER::close (@_))
{
my $file = $fh->name;
- croak "$me: cannot close $file: $!\n";
+ Automake::FileUtils::handle_exec_errors $file
+ unless $!;
+ fatal "cannot close $file: $!";
}
}
if (!flock ($fh, $mode))
{
my $file = $fh->name;
- croak "$me: cannot lock $file with mode $mode: $!\n";
+ fatal "cannot lock $file with mode $mode: $!";
}
}
if (!seek ($fh, $_[0], $_[1]))
{
my $file = $fh->name;
- croak "$me: cannot rewind $file with @_: $!\n";
+ fatal "$me: cannot rewind $file with @_: $!";
}
}
if (!truncate ($fh, $len))
{
my $file = $fh->name;
- croak "$me: cannot truncate $file at $len: $!\n";
+ fatal "cannot truncate $file at $len: $!";
}
}
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+
+scriptversion=2003-09-02.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003
+# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
configure_ac=configure.in
fi
+msg="missing on your system"
+
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
;;
esac
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
- echo "missing 0.4 - GNU automake"
+ echo "missing $scriptversion (GNU Automake)"
;;
-*)
fi
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
fi
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
fi
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
fi
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
fi
echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
+WARNING: \`$1' is needed, but is $msg.
+ You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
bison|yacc)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
lex|flex)
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
fi
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
fi
echo 1>&2 "\
-WARNING: \`$1' is missing on your system. You should only need it if
+WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
*)
echo 1>&2 "\
-WARNING: \`$1' is needed, and you do not seem to have it handy on your
- system. You might have modified some files without having the
+WARNING: \`$1' is needed, and is $msg.
+ You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
esac
exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
-@set UPDATED 31 August 2003
-@set UPDATED-MONTH August 2003
+@set UPDATED 6 September 2003
+@set UPDATED-MONTH September 2003
@set EDITION 1.7a
@set VERSION 1.7a
-testSubDir
-Makefile
*.log
-log
+Makefile
+aclocal
+automake
defs
diffs
+log
+testSubDir
dollar.test \
double.test \
dup2.test \
-dup3.test \
else.test \
empty.test \
empty2.test \
mdate2.test \
mdate3.test \
mdate4.test \
+missing.test \
+missing2.test \
mkinst2.test \
mkinstall.test \
multlib.test \
EXTRA_DIST = ChangeLog-old $(TESTS)
-# Each test case depends on defs.
-check_SCRIPTS = defs
+# Each test case depends on defs, aclocal, and automake.
+check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
distclean-local:
-rm -rf testSubDir
$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/options.m4 \
$(top_srcdir)/m4/runlog.m4 $(top_srcdir)/m4/sanity.m4 \
$(top_srcdir)/m4/strip.m4
-DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am defs.in
+DIST_COMMON = README $(srcdir)/Makefile.in Makefile.am aclocal.in \
+ automake.in defs.in
mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
-CONFIG_CLEAN_FILES = defs
+CONFIG_CLEAN_FILES = defs aclocal-${APIVERSION} automake-${APIVERSION}
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
dollar.test \
double.test \
dup2.test \
-dup3.test \
else.test \
empty.test \
empty2.test \
mdate2.test \
mdate3.test \
mdate4.test \
+missing.test \
+missing2.test \
mkinst2.test \
mkinstall.test \
multlib.test \
EXTRA_DIST = ChangeLog-old $(TESTS)
-# Each test case depends on defs.
-check_SCRIPTS = defs
+# Each test case depends on defs, aclocal, and automake.
+check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
all: all-am
.SUFFIXES:
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
defs: $(top_builddir)/config.status defs.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+aclocal-${APIVERSION}: $(top_builddir)/config.status aclocal.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+automake-${APIVERSION}: $(top_builddir)/config.status automake.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
uninstall-info-am:
tags: TAGS
TAGS:
--- /dev/null
+#!/bin/sh
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+fi
+
+perllibdir=@abs_top_builddir@/lib:@abs_top_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.
+exec @abs_top_builddir@/aclocal \
+ -I @abs_top_builddir@/m4 --acdir=@abs_top_srcdir@/m4 ${1+"$@"}
--- /dev/null
+#!/bin/sh
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+fi
+
+perllibdir=@abs_top_builddir@/lib:@abs_top_srcdir@/lib
+export perllibdir
+exec @abs_top_builddir@/automake --libdir=@abs_top_srcdir@/lib ${1+"$@"}
test -z "$AUTOCONF" && AUTOCONF="@AUTOCONF@"
test -z "$AUTOHEADER" && AUTOHEADER="@AUTOHEADER@"
test -z "$AUTOUPDATE" && AUTOUPDATE=autoupdate
+test -z "$MISSING" && MISSING=`pwd`/../lib/missing
+test -z "$ACLOCAL" && ACLOCAL="aclocal-@APIVERSION@"
+# 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. Use -Wall
+# -Werror by default. Tests for which this is inappropriate
+# (e.g. when testing that a warning is enabled by a specific switch)
+# should use -Wnone or/and -Wno-error
+test -z "$AUTOMAKE" && AUTOMAKE="automake-@APIVERSION@ --foreign -Werror -Wall"
+
+PATH=`pwd`:$PATH
+echo $PATH
if test -n "$required"
then
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=`pwd`/../../lib:$srcdir/../lib
- export perllibdir
- # Use -Wall -Werror by default. Tests for which this is inappropriate
- # (e.g. when testing that a warning is enabled by a specific switch)
- # should use -Wnone or/and -Wno-error
- AUTOMAKE="$PERL `pwd`/../../automake --libdir=$srcdir/../lib --foreign -Werror -Wall"
-fi
-
-# See how aclocal should be run.
-if test -z "$ACLOCAL"; then
- perllibdir=`pwd`/../../lib:$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 `pwd`/../../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=$srcdir/../m4', because the
;;
esac
-# Export AUTOMAKE and ACLOCAL so that rebuild rules in Makefiles
-# generated for the tests do not use the installed tools.
-export AUTOMAKE ACLOCAL
-
# POSIX no longer requires 'egrep' and 'fgrep',
# but some hosts lack 'grep -E' and 'grep -F'.
EGREP='@EGREP@'
#! /bin/sh
-# Copyright (C) 1996, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2002, 2003 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
. ./defs || exit 1
cat > acinclude.m4 << 'END'
-AC_DEFUN([AM_FUNC_TWO],)
-AC_DEFUN([AM_FUNC_ONE],
-AC_REQUIRE([AM_FUNC_TWO]))
+AC_DEFUN([AM_FUNC_TWO])
+AC_DEFUN([AM_FUNC_ONE], [AC_REQUIRE([AM_FUNC_TWO])])
END
$ACLOCAL
#! /bin/sh
-# Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 2002, 2003 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
. ./defs || exit 1
-cat > configure.in << 'END'
+set -e
+
+cat >> configure.in << 'END'
AM_C_PROTOTYPES
+FOO
END
cat > AM_C_PROTOTYPES.m4 << 'END'
-AC_REQUIRE([AC_HEADER_STDC])
+AC_DEFUN([AM_C_PROTOTYPES], [AC_REQUIRE([AC_HEADER_STDC])])
END
# Our --acdir overrides the one in $ACLOCAL.
#! /bin/sh
-# Copyright (C) 1996, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2002, 2003 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
. ./defs || exit 1
-cat > configure.in << 'END'
+set -e
+
+cat >> configure.in << 'END'
AM_FUNC_STRTOD
END
AC_DEFUN([AM_FUNC_STRTOD])
END
-$ACLOCAL || exit 1
-exit 0
+$ACLOCAL
#! /bin/sh
-# Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with autoconf; see the file COPYING. If not, write to
+# along with Automake; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-# Make sure aclocal searches includes in the right order.
+# Test missing with version mismatches.
. ./defs || exit 1
-mkdir zoo
-cat > zoo/zoo.m4 << 'END'
-AC_DEFUN([AM_INIT_AUTOMAKE], zardoz)
-END
+required=GNUmake
+set -e
-# Strip all options from ACLOCAL, especially -I's.
-ACLOCAL="`echo $ACLOCAL | sed -e 's/ -.*$//'` --acdir=$testsrcdir/../m4"
-$ACLOCAL -I zoo || exit 1
+cat >>configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
$AUTOCONF
-grep zardoz configure
+$AUTOMAKE --add-missing
+./configure
+$MAKE
+$sleep
+# Hopefully the install version of Autoconf cannot compete with this one...
+echo 'AC_PREREQ(9999)' >> aclocal.m4
+$MAKE distdir
+
+# Run again, but without missing, to ensure that timestamps were updated.
+export AUTOMAKE ACLOCAL
+./configure
+$MAKE
+
+# Make sure $MAKE fail when timestamps aren't updated and missing is not used.
+$sleep
+touch aclocal.m4
+$MAKE && exit 1
+:
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 Automake; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Test missing with version mismatches.
+
+. ./defs || exit 1
+
+required=GNUmake
+set -e
+
+cat >>configure.in <<'EOF'
+m4_include([v.m4])
+AC_OUTPUT
+EOF
+
+: > v.m4
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE
+$sleep
+# Hopefully the install version of Autoconf cannot compete with this one...
+echo 'AC_PREREQ(9999)' > v.m4
+$MAKE distdir
+
+# Run again, but without missing, to ensure that timestamps were updated.
+export AUTOMAKE ACLOCAL
+./configure
+$MAKE
+
+# Make sure $MAKE fail when timestamps aren't updated and missing is not used.
+$sleep
+touch v.m4
+$MAKE && exit 1
+:
#! /bin/sh
-# Copyright (C) 1996, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1996, 2002, 2003 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
. ./defs || exit 1
-cat > configure.in << 'END'
+set -e
+
+cat >> configure.in << 'END'
jm_TEST
+FOO
END
cat > acinclude.m4 << 'END'
-AC_DEFUN(jm_TEST
-)
-AC_REQUIRE([jm_TEST])
+AC_DEFUN([jm_TEST])
+AC_DEFUN([FOO], [AC_REQUIRE([jm_TEST])])
END
$ACLOCAL
-@set UPDATED 31 August 2003
-@set UPDATED-MONTH August 2003
+@set UPDATED 6 September 2003
+@set UPDATED-MONTH September 2003
@set EDITION 1.7a
@set VERSION 1.7a