Hash :
68075ce0
Author :
Date :
2012-05-05T21:48:49
require: autoconf >= 2.65; related simplifications The new support for Objective C++ (to be added in Automake 1.12.1) can be simplified if we assume Autoconf version 2.65 or later (2.65 being the version that introduced support for Objective C++). Since such an Autoconf version is two and half years old now (and will likely be almost three years old when Automake 1.13 gets released), requiring it is acceptable. This will also simplify testing and maintenance of Automake, because we'll need to test with fewer Autoconf version, and possibly rely on new Autoconf features. * NEWS (Version requirements): Automake 1.13 will require Autoconf 2.65 or later. * configure.ac ($required_autoconf_version): Bump to 2.65. * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65. Assume AC_PROG_OBJCXX is unconditionally defined. * m4/depout.m4: Adjust a comment about a nugget of defensive programming. * t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined, and that we are using Autoconf >= 2.65. Related simplifications. * t/objc-megademo.sh: Likewise. * t/objcxx-basic.sh: Likewise. * t/objcxx-deps.sh: Likewise. * t/objcxx-flags.sh: Likewise. * t/objcxx-minidemo.sh: Likewise. * t/nodep2.sh: Likewise. * t/backcompat3.sh: Assume AC_INIT accepts an URL argument. * t/depend5.sh: Adjust a comment. * syntax-checks.mk (sc_test_names): Delete this check as now useless: autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT that contain or are m4 builtins or predefined macros. (m4_builtin): Delete this now-useless variable as well, was used only by the check above. (syntax_check_rules): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
#! /bin/sh
# Copyright (C) 2008-2012 Free Software Foundation, Inc.
#
# 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/>.
# Check that _AM_OUTPUT_DEPENDENCY_COMMANDS works with eval-style
# quoting in $CONFIG_FILES, done by newer Autoconf.
required=cc
. ./defs || Exit 1
cat >>configure.ac << END
AC_PROG_CC
AC_OUTPUT
END
cat > Makefile.am << END
bin_PROGRAMS = foo
foo_SOURCES = foo.c foo.h
END
cat >foo.c << END
#include "foo.h"
END
: >foo.h
$ACLOCAL
$AUTOMAKE
$AUTOCONF
./configure --enable-dependency-tracking
if test -d .deps; then
depdir=.deps
elif test -d _deps; then
depdir=_deps
else
depdir=
fi
# For the fun of it, we should also cope with Makefile names
# that contain weird characters and newer.
# Pick the first name that the file system will accept.
for name in \
'weird name with $ `#() &! characters"' \
'weird name with $ `#() characters"' \
'weird name with characters'
do
cp Makefile.in "$name.in" && break || :
done
for arg in Makefile \
--file=Makefile \
"--file=$name"
do
rm -rf .deps _deps
./config.status "$arg" depfiles >stdout 2>stderr ||
{ cat stdout; cat stderr >&2; Exit 1; }
cat stdout
cat stderr >&2
grep '[Nn]o such file' stderr && Exit 1
if test -n "$depdir"; then
test -d $depdir || Exit 1
fi
done
: