# TRUE if we've seen AM_PROG_CC_C_O
$seen_cc_c_o = 0;
+# TRUE if we've seen AM_INIT_AUTOMAKE.
+$seen_init_automake = 0;
+
# Hash table of discovered configure substitutions. Keys are names,
# values are `FILE:LINE' strings which are used by error message
# generation.
$seen_prog_install = 1;
($package_version = $1) =~ s/$AM_PACKAGE_VERSION_PATTERN/$1/o;
$package_version_line = $.;
- }
-
- # This is like AM_INIT_AUTOMAKE, but doesn't actually set the
- # package and version number. (This might change in the
- # future). Yes, I'm not above hacking Automake so it works
- # well with other GNU tools -- that is actually the point.
- if (/AM_INIT_GUILE_MODULE/)
- {
- $seen_make_set = 1;
- $seen_package = 1;
- $seen_version = 1;
- $seen_arg_prog = 1;
- $seen_prog_install = 1;
- @config_aux_path = ('..');
+ $seen_init_automake = 1;
}
# Some things required by Automake.
@configure_input_files = @make_input_list;
+ &am_conf_error ("\`AM_INIT_AUTOMAKE' must be used in configure.in")
+ if ! $seen_init_automake;
+
&am_conf_error ("\`PACKAGE' not defined in configure.in")
if ! $seen_package;
&am_conf_error ("\`VERSION' not defined in configure.in")
@cindex AM_INIT_AUTOMAKE, example use
The first step is to update your @file{configure.in} to include the
-commands that @code{automake} needs. The simplest way to do this is to
-add an @code{AM_INIT_AUTOMAKE} call just after @code{AC_INIT}:
+commands that @code{automake} needs. The way to do this is to add an
+@code{AM_INIT_AUTOMAKE} call just after @code{AC_INIT}:
@example
AM_INIT_AUTOMAKE(zardoz, 1.0)
@cindex Automake requirements
@cindex Requirements of Automake
-The simplest way to meet the basic Automake requirements is to use the
-macro @code{AM_INIT_AUTOMAKE} (@pxref{Macros}). But if you prefer, you
-can do the required steps by hand:
+The one real requirement of Automake is that your @file{configure.in}
+call @code{AM_INIT_AUTOMAKE}. This macro does several things which are
+required for proper Automake operation.
@cvindex AM_INIT_AUTOMAKE
-@itemize @bullet
-@item
-Define the variables @code{PACKAGE} and @code{VERSION} with
-@code{AC_SUBST}.
-@cvindex PACKAGE
-@cvindex VERSION
-@code{PACKAGE} should be the name of the package as it appears when
-bundled for distribution. For instance, Automake defines @code{PACKAGE}
-to be @samp{automake}. @code{VERSION} should be the version number of
-the release that is being developed. We recommend that you make
-@file{configure.in} the only place in your package where the version
-number is defined; this makes releases simpler.
-
-Automake doesn't do any interpretation of @code{PACKAGE} or
-@code{VERSION}, except in @samp{Gnits} mode (@pxref{Gnits}).
-
-@item
-Use the macro @code{AC_ARG_PROGRAM} if a program or script is installed.
-@xref{Transforming Names, , Transforming Program Names When Installing,
-autoconf, The Autoconf}.
-@cvindex AC_ARG_PROGRAM
-
-@item
-Use @code{AC_PROG_MAKE_SET} if the package is not flat. @xref{Output, ,
-Creating Output Files, autoconf, The Autoconf Manual}.
-@cvindex AC_PROG_MAKE_SET
-
-@item
-Use @code{AM_SANITY_CHECK} to make sure the build environment is sane.
-
-@item
-Call @code{AC_PROG_INSTALL}
-(@pxref{Particular Programs, , Particular Program Checks, autoconf, The
-Autoconf Manual}).
-@cvindex AC_PROG_INSTALL
-
-@item
-Use @code{AM_MISSING_PROG} to see whether the programs @code{aclocal},
-@code{autoconf}, @code{automake}, @code{autoheader}, and @code{makeinfo}
-are in the build environment. Here is how this is done:
-@example
-AM_MISSING_PROG(ACLOCAL, aclocal)
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake)
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-@end example
-@end itemize
-
-
Here are the other macros which Automake requires but which are not run
by @code{AM_INIT_AUTOMAKE}: