The autoconf input should be named 'configure.ac' instead. The use of 'configure.in' has been deprecated in Autoconf since at least the 2.13 -> 2.50 transition, and future Autoconf versions (starting with 2.70 probably) will start to warn about it at runtime. Automake has been warning about it since the 1.13 release.
This change is basically a backport of commit 'v1.12-325-g927d4cb', from Automake-NG. * lib/Automake/Configure_ac.pm (find_configure_ac): Don't look for 'configure.in' if 'configure.ac' is not found. (require_configure_ac): On failure, don't tell that "'configure.ac' or 'configure.in' is required", but just that "'configure.ac' is required". * automake.in (@common_sometimes): Don't list 'configure.in'. (scan_autoconf_files): Adjust heading comments. * NEWS: Update. * t/help.sh: Adjust. * t/configure.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. --- NEWS | 4 +++ automake.in | 3 +-- lib/Automake/Configure_ac.pm | 23 +---------------- t/configure.sh | 59 -------------------------------------------- t/list-of-tests.mk | 1 - 5 files changed, 6 insertions(+), 84 deletions(-) delete mode 100755 t/configure.sh diff --git a/NEWS b/NEWS index 2b64a1e..76546c7 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,10 @@ New in 1.14: * Obsolete and obsolescent features: + - Support for the long-deprecated name 'configure.in' for the Autoconf + input file has been removed altogether. Just use the modern name + 'configure.ac' instead. + - Support for the long-obsolete variable $(ACLOCAL_M4_SOURCES) has been removed. It should be safe to simply remove any definition of it you have in your Makefiles. diff --git a/automake.in b/automake.in index 0c06401..68e9339 100644 --- a/automake.in +++ b/automake.in @@ -231,7 +231,7 @@ my @common_files = # is used for the --help output only. my @common_sometimes = qw(aclocal.m4 acconfig.h config.h.top config.h.bot configure - configure.ac configure.in stamp-vti); + configure.ac stamp-vti); # Standard directories from the GNU Coding Standards, and additional # pkg* directories from Automake. Stored in a hash for fast member check. @@ -5390,7 +5390,6 @@ EOF # &scan_autoconf_files () # ----------------------- -# Check whether we use 'configure.ac' or 'configure.in'. # Scan it (and possibly 'aclocal.m4') for interesting things. # We must scan aclocal.m4 because there might be AC_SUBSTs and such there. sub scan_autoconf_files () diff --git a/lib/Automake/Configure_ac.pm b/lib/Automake/Configure_ac.pm index fcaf0f7..e53913a 100644 --- a/lib/Automake/Configure_ac.pm +++ b/lib/Automake/Configure_ac.pm @@ -70,28 +70,7 @@ sub find_configure_ac (;@) { my ($directory) = @_; $directory ||= '.'; - my $configure_ac = - File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.ac')); - my $configure_in = - File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.in')); - - if (-f $configure_in) - { - msg ('obsolete', "autoconf input should be named 'configure.ac'," . - " not 'configure.in'"); - if (-f $configure_ac) - { - msg ('unsupported', - "'$configure_ac' and '$configure_in' both present.\n" - . "proceeding with '$configure_ac'"); - return $configure_ac - } - else - { - return $configure_in; - } - } - return $configure_ac; + return File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.ac')); } diff --git a/t/configure.sh b/t/configure.sh deleted file mode 100755 index 1a1bb94..0000000 --- a/t/configure.sh +++ /dev/null @@ -1,59 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-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/>. - -# Diagnose if the autoconf input is named configure.in. -# Diagnose if both configure.in and configure.ac are present, prefer -# configure.ac. - -. test-init.sh - -cat >configure.ac <<EOF -AC_INIT([$me], [1.0]) -AM_INIT_AUTOMAKE -AC_CONFIG_FILES([Makefile]) -EOF - -cat >configure.in <<EOF -AC_INIT([$me], [1.0]) -AM_INIT_AUTOMAKE([an-invalid-automake-option]) -AC_CONFIG_FILES([Makefile]) -EOF - -: >Makefile.am - -$ACLOCAL 2>stderr && { cat stderr >&2; exit 1; } -cat stderr >&2 -grep 'configure\.ac.*configure\.in.*both present' stderr - -$ACLOCAL -Wno-error 2>stderr || { cat stderr >&2; exit 1; } -cat stderr >&2 -grep 'configure\.ac.*configure\.in.*both present' stderr -grep 'proceeding.*configure\.ac' stderr - -# Ensure we really proceed with configure.ac. -AUTOMAKE_fails -Werror -grep 'configure\.ac.*configure\.in.*both present' stderr -grep 'proceeding.*configure\.ac' stderr - -AUTOMAKE_run -Wno-error -grep 'configure\.ac.*configure\.in.*both present' stderr -grep 'proceeding.*configure\.ac' stderr - -mv -f configure.ac configure.in -AUTOMAKE_fails -grep "autoconf input.*'configure.ac', not 'configure.in'" stderr - -: diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index c4e5112..827b0c5 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -315,7 +315,6 @@ t/condinc2.sh \ t/condlib.sh \ t/condman2.sh \ t/condman3.sh \ -t/configure.sh \ t/confdeps.sh \ t/conff.sh \ t/conff2.sh \ -- 1.8.0.1.409.g252f922