[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FYI: diagnose old-style AC_INIT with new-style AM_INIT_AUTOMAKE
From: |
Alexandre Duret-Lutz |
Subject: |
FYI: diagnose old-style AC_INIT with new-style AM_INIT_AUTOMAKE |
Date: |
Fri, 04 Aug 2006 16:53:24 +0200 |
User-agent: |
Gnus/5.110003 (No Gnus v0.3) Emacs/22.0.50 (gnu/linux) |
Found this on an old TODO-list. If a beginner type
AC_INIT
AM_INIT_AUTOMAKE
without further arguments, he gets a confusing error message
about AC_PACKAGE_VERSION:
configure:1943: error: possibly undefined macro: AC_PACKAGE_TARNAME
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
Let's point him to AC_INIT instead.
2006-08-04 Alexandre Duret-Lutz <address@hidden>
* m4/init.m4: Suggest fixing the call to AC_INIT when
AC_PACKAGE_NAME or AC_PACKAGE_VERSION is undefined. This is for
newcomers who call AC_INIT and AM_INIT_AUTOMAKE without arguments.
* tests/init.test: New file.
* tests/Makefile.am (TESTS): Add it.
Index: m4/init.m4
===================================================================
RCS file: /cvs/automake/automake/m4/init.m4,v
retrieving revision 1.63
diff -u -r1.63 init.m4
--- m4/init.m4 20 Mar 2006 20:31:28 -0000 1.63
+++ m4/init.m4 4 Aug 2006 14:47:07 -0000
@@ -1,7 +1,7 @@
# Do all the work for Automake. -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -53,6 +53,9 @@
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+ [m4_fatal([AC_INIT should be called with package and version
arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
Index: tests/Makefile.am
===================================================================
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.606
diff -u -r1.606 Makefile.am
--- tests/Makefile.am 4 Aug 2006 10:23:14 -0000 1.606
+++ tests/Makefile.am 4 Aug 2006 14:47:07 -0000
@@ -270,6 +270,7 @@
include.test \
include2.test \
info.test \
+init.test \
insh2.test \
install2.test \
installdir.test \
Index: tests/init.test
===================================================================
RCS file: tests/init.test
diff -N tests/init.test
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ tests/init.test 4 Aug 2006 14:47:07 -0000
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2006 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., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we give a sensible error message when neither AC_INIT nor
+# AM_INIT_AUTOMAKE are given arguments.
+
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<END
+AC_INIT
+AM_INIT_AUTOMAKE
+END
+
+# The error message should mension AC_INIT, not AC_PACKAGE_VERSION.
+($ACLOCAL && $AUTOCONF) 2>stderr && exit 1
+cat stderr
+grep AC_PACKAGE_VERSION stderr && exit 1
+grep AC_INIT stderr
--
Alexandre Duret-Lutz
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- FYI: diagnose old-style AC_INIT with new-style AM_INIT_AUTOMAKE,
Alexandre Duret-Lutz <=