Maybe this patch could be rejected/discussed/applied?

| Index: m4/init.m4
| ===================================================================
| RCS file: /cvs/automake/automake/m4/init.m4,v
| retrieving revision 1.17
| diff -u -r1.17 init.m4
| --- init.m4   1999/11/23 05:08:42     1.17
| +++ init.m4   2000/04/13 10:32:23
| @@ -2,29 +2,46 @@
|  # some checks are only needed if your package does certain things.
|  # But this isn't really a big deal.
|  
| -# serial 1
| +# serial 2
|  
| -dnl Usage:
| -dnl AM_INIT_AUTOMAKE(package,version, [no-define])
| +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
| +# -----------------------------------------------------------
| +# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
| +# The purpose of this macro is to provide the user with a means to
| +# check macros which are provided without letting her know how the
| +# information is coded.
| +# If this macro is not defined by Autoconf, define it here.
| +ifdef([AC_PROVIDE_IFELSE],
| +      [],
| +      [define([AC_PROVIDE_IFELSE],
| +              [ifdef([AC_PROVIDE_$1],
| +                     [$2], [$3])])])

I did this in order to release Automake from the internals of Autoconf.

| +# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
| +# ----------------------------------------------
|  AC_DEFUN(AM_INIT_AUTOMAKE,
| -[AC_REQUIRE([AC_PROG_INSTALL])
| -dnl We require 2.13 because we rely on SHELL being computed by configure.
| -AC_PREREQ([2.13])
| -PACKAGE=[$1]
| -AC_SUBST(PACKAGE)
| -VERSION=[$2]
| -AC_SUBST(VERSION)
| -dnl test to see if srcdir already configured
| +[dnl We require 2.13 because we rely on SHELL being computed by configure.
| +AC_PREREQ([2.13])dnl
| +AC_REQUIRE([AC_PROG_INSTALL])dnl
| +# test to see if srcdir already configured

I did this because the usual style consists in putting at the top of
the macro definition things which are requirements, and which don't
expand anything.

|  if test "`CDPATH=: && cd $srcdir && pwd`" != "`pwd`" &&
|     test -f $srcdir/config.status; then
|    AC_MSG_ERROR([source directory already configured; run "make distclean" there 
|first])
|  fi
| +
| +# Define the identity of the package.
| +PACKAGE=$1
| +AC_SUBST(PACKAGE)dnl
| +VERSION=$2
| +AC_SUBST(VERSION)dnl

I did this because above the AC_SUBST are not dnled, and also the
variables were over quoted.

|  ifelse([$3],,
| -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
| -AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
| -AC_REQUIRE([AM_SANITY_CHECK])
| -AC_REQUIRE([AC_ARG_PROGRAM])
| +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package.])
| +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package.])])

I did this because since the body of the ifelse was not quoted plenty
of funny things could happen.  Fortunately AC_DEFINE macros are rather
safe, but...

| +# Some tools Automake needs.
| +AC_REQUIRE([AM_SANITY_CHECK])dnl
| +AC_REQUIRE([AC_ARG_PROGRAM])dnl
|  AM_MISSING_PROG(ACLOCAL, aclocal)
|  AM_MISSING_PROG(AUTOCONF, autoconf)
|  AM_MISSING_PROG(AUTOMAKE, automake)
| @@ -34,12 +51,16 @@
|  AM_MISSING_INSTALL_SH
|  dnl We need awk for the "check" target.  The system "awk" is bad on
|  dnl some platforms.
| -AC_REQUIRE([AC_PROG_AWK])
| -AC_REQUIRE([AC_PROG_MAKE_SET])
| -AC_REQUIRE([AM_DEP_TRACK])
| -AC_REQUIRE([AM_SET_DEPDIR])
| -ifdef([AC_PROVIDE_AC_PROG_CC], [AM_DEPENDENCIES(CC)], [
| -   define([AC_PROG_CC], defn([AC_PROG_CC])[AM_DEPENDENCIES(CC)])])
| -ifdef([AC_PROVIDE_AC_PROG_CXX], [AM_DEPENDENCIES(CXX)], [
| -   define([AC_PROG_CXX], defn([AC_PROG_CXX])[AM_DEPENDENCIES(CXX)])])
| +AC_REQUIRE([AC_PROG_AWK])dnl
| +AC_REQUIRE([AC_PROG_MAKE_SET])dnl
| +AC_REQUIRE([AM_DEP_TRACK])dnl
| +AC_REQUIRE([AM_SET_DEPDIR])dnl
| +AC_PROVIDE_IFELSE([AC_PROG_CC],
| +                  [AM_DEPENDENCIES(CC)],
| +                  [define([AC_PROG_CC],
| +                          defn([AC_PROG_CC])[AM_DEPENDENCIES(CC)])])dnl
| +AC_PROVIDE_IFELSE([AC_PROG_CXX],
| +                  [AM_DEPENDENCIES(CXX)],
| +                  [define([AC_PROG_CXX],
| +                          defn([AC_PROG_CXX])[AM_DEPENDENCIES(CXX)])])dnl
|  ])

I did this to add the missing dnl and use AC_PROVIDE_IFELSE.

        Akim

Reply via email to