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 <[EMAIL PROTECTED]> * 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