From e014726bdafa824240154770e80768d514e629a6 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 19 Mar 2000 21:54:13 +0000 Subject: [PATCH] Fix for PR automake/45: * automake.texi (configure): Mention requirement to run AM_INIT_AUTOMAKE. (Requirements): Removed most text. * automake.in (seen_init_automake): New global. (scan_configure): Error if AM_INIT_AUTOMAKE not seen. (scan_one_configure_file): Don't support AM_INIT_GUILE_MODULE. Set seen_init_automake if needed. --- ChangeLog | 9 ++++++++ automake.in | 21 ++++++------------ automake.texi | 60 +++++---------------------------------------------- stamp-vti | 2 +- version.texi | 2 +- 5 files changed, 23 insertions(+), 71 deletions(-) diff --git a/ChangeLog b/ChangeLog index 02737518..39b7b471 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2000-03-19 Tom Tromey + Fix for PR automake/45: + * automake.texi (configure): Mention requirement to run + AM_INIT_AUTOMAKE. + (Requirements): Removed most text. + * automake.in (seen_init_automake): New global. + (scan_configure): Error if AM_INIT_AUTOMAKE not seen. + (scan_one_configure_file): Don't support AM_INIT_GUILE_MODULE. + Set seen_init_automake if needed. + Fix for PR automake/41: * automake.in (require_file_found): New global. (require_file_internal): Set require_file_found entry. diff --git a/automake.in b/automake.in index 72768547..e6db433f 100755 --- a/automake.in +++ b/automake.in @@ -219,6 +219,9 @@ $seen_multilib = 0; # 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. @@ -4537,20 +4540,7 @@ sub scan_one_configure_file $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. @@ -4684,6 +4674,9 @@ sub scan_configure @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") diff --git a/automake.texi b/automake.texi index 708b189f..6b743f15 100644 --- a/automake.texi +++ b/automake.texi @@ -526,8 +526,8 @@ ad-hoc. You want to make them bulletproof, so you turn to Automake. @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) @@ -921,61 +921,11 @@ easier. These macros can automatically be put into your @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}: diff --git a/stamp-vti b/stamp-vti index 98eea971..6d67a528 100644 --- a/stamp-vti +++ b/stamp-vti @@ -1,3 +1,3 @@ -@set UPDATED 13 December 1999 +@set UPDATED 19 March 2000 @set EDITION 1.4a @set VERSION 1.4a diff --git a/version.texi b/version.texi index 98eea971..6d67a528 100644 --- a/version.texi +++ b/version.texi @@ -1,3 +1,3 @@ -@set UPDATED 13 December 1999 +@set UPDATED 19 March 2000 @set EDITION 1.4a @set VERSION 1.4a -- 2.43.5