automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/5] Drop support for 'configure.in' as the Autoconf input file


From: Stefano Lattarini
Subject: [PATCH 1/5] Drop support for 'configure.in' as the Autoconf input file
Date: Sat, 29 Dec 2012 00:39:22 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]