* aclocal.in (write_aclocal): Take an output file and list of
[automake.git] / ChangeLog
blob4d03b81d084121ce2ffd73725793943d01c79f11
1 2003-08-24  Alexandre Duret-Lutz  <adl@gnu.org>
3         * aclocal.in (write_aclocal): Take an output file and list of
4         used macros in arguments and make up the file contents here.
5         (trace_used_macros): New function.
6         (add_file): Do not update $output.
7         ($output): Delete.
8         (MAIN): Call trace_used_macros.  Then rewrite aclocal.m4 only
9         for these traced macros.  This should shorten aclocal.m4 by
10         stripping out unused macros.
11         * automake.texi (Invoking aclocal): Document ${AUTOM4TE}.
12         * tests/aclibobj.test: Make sure configure.in exists by the time
13         aclocal runs.
14         * tests/aclocal8.test: New file.
15         * tests/Makefile.am (TESTS): Add aclocal8.test.
16         Suggested by Bruno Haible and Akim Demaille.
18 2003-08-21  Akim Demaille  <akim@epita.fr>
20         * lib/Automake/Configure_ac.pm (&find_configure_ac)
21         (&require_configure_ac): Accept an optional directory argument.
22         ($configure_ac): Remove.
23         * aclocal.in, automake.in ($configure_ac): New.
24         * lib/Automake/Variable.pm: Don't use $configure_ac, just
25         configure.ac.
27 2003-08-20  Akim Demaille  <akim@epita.fr>
29         * lib/Automake/FileUtils.pm: More perldoc.
30         (&up_to_date_p): New.
32 2003-08-17  Alexandre Duret-Lutz  <adl@gnu.org>
34         Fix for PR automake/398:
35         * m4/python.m4: Do not call AC_PATH_PROGS if $PYTHON is already
36         set.  Display `none' instead of `:' and $PYTHON is set to `:'
37         when no suitable interpreter is found.  Honor ACTION-IF-FOUND and
38         ACTION-IF-NOT-FOUND.
39         * automake.texi (Python): Document ACTION-IF-FOUND and
40         ACTION-IF-NOT-FOUND.
41         * tests/python4.test, tests/python5.test, tests/python6.test,
42         tests/python7.test, tests/python8.test, tests/python9.test: New
43         files.
44         * tests/Makefile.am (TESTS): Add them.
45         Report from Per Cederqvist.
47 2003-08-13  Alexandre Duret-Lutz  <adl@gnu.org>
49         Fix for PR automake/399:
50         * m4/python.m4: Use AC_PATH_PROGS, not AC_PATH_PROG.
51         Report from Per Cederqvist.
53 2003-08-12  Raja R Harinath  <harinath@acm.org>
55         * lib/Automake/Condition.pm (strip): Replace loop with 'grep'.
56         (not): Replace loop with 'map'.
57         * lib/Automake/DisjConditions.pm (sub_conditions): Likewise.
58         * lib/Automake/Item.pm (not_alwasy_defined_in_cond):
59         Don't 'simplify' result of 'invert', since it's already in
60         canonical form.
61         * lib/Automake/Rule.pm (define): Replace loop with
62         'not_always_defined_in_cond'.
64         * lib/Automake/DisjConditions.pm (ambiguous_p): Typo in comment.
65         * lib/Automake/Rule.pm (accept_extensions, msg_cond_rule): Likewise.
66         (define): Reword comment slightly.
67         * Variable.pm (_var_order, msg_cond_var): Typo in comment.
68         * tests/cond20.test (var2): Use foo.c instead of foo.cc to avoid
69         spurious automake error exit.
71 2003-08-12  Alexandre Duret-Lutz  <adl@gnu.org>
73         * lib/Automake/Item.pm, lib/Automake/ItemDef.pm: New files.
74         * lib/Automake/Rule.pm, lib/Automake/RuleDef.pm: New files.
75         * lib/Automake/Makefile.am (dist_perllib_DATA): Add them.
76         * lib/Automake/VarDef.pm: Make this a subclass of Automake::ItemDef.
77         (new): Adjust to call Automake::ItemDef::new.
78         (comment, location, owner): Delete.  Now inherited from ItemDef.
79         * lib/Automake/Variable.pm: Make this a subclass of Automake::Item.
80         (_new): Adjust to call Automake::Item::new.
81         (name, def, rdef, _set, conditions, not_always_defined_in_cond):
82         Delete.  How inherited from Item, where `_set' is called `set'.
83         * automake.in (SUFFIX_RULE_PATTERN): Delete. Now in Automake::Rule.
84         (suffix_rules_default): Delete.  Now
85         Automake::Rule::_suffix_rules_default
86         (suffixes): Delete.  Now Automake::Rule::suffixes.
87         (TARGET_AUTOMAKE, TARGET_USER): Delete.  Now
88         Automake::RuleDef::RULE_AUTOMAKE and Automake::RuleDef::RULE_USER.
89         (%targets, %target_source, %target_name, %target_owner): Delete,
90         replaced by the Rule and RuleDef classes.
91         (dependencies, depend, actions): Delete.  Now in Automake::Rule.
92         (suffix_rules, register_suffix_rule): Likewise.
93         (KNOWN_EXTENSIONS_PATTERN, accept_extensions): Likewise.
94         (known_extensions_list): Delete.  Now
95         Automake::Rule::_known_extensions_list.
96         (target_conditions): Delete.  Now inherited by Automake::Rule
97         from Automake::Item::conditions.
98         (rule_define): Delete.  Now Automake::Rule::define.  Adjust all
99         callers.
100         (target_defined): Delete.  Now Automake::Rule::rule.  Adjust all
101         callers.
102         (initialize_per_input): Adjust to call Automake::Rule::reset.
103         (err_target, err_cond_target, msg_cond_target, msg_target,
104         reject_target): Delete.  Now defined in Automake::Rule as
105         err_rule, err_cond_rule, msg_cond_rule, msg_rule and reject_target.
106         Adjust all callers.
107         (handle_languages): Call suffix_rules_count.
108         * tests/location.test: Adjust expected diagnostics.  We now display
109         $(EXEEXT) accurately.
111 2003-08-10  Alexandre Duret-Lutz  <adl@gnu.org>
113         Revert the fix for PR automake/291:
114         * lib/Automake/Variable.pm (define): Do not warn about variables
115         starting with `_' which are an issue on NEWS-OS 4.2R.  According
116         to Paul Eggert, NEWS-OS 4.2R is ten years old, the latest version
117         was released on 1996 and is not in wide use.  On the other hand,
118         variables starting with `_' are mandatory in several situations,
119         so diagnosing them is more annoying than useful.
120         * tests/canon5.test: Do not use -Wno-portability.
121         * tests/vars2.test: Delete.
122         * tests/Makefile.am (TESTS): Remove vars2.test.
123         Suggested by Jim Meyering.
125 2003-08-09  Raja R Harinath  <harinath@acm.org>
127         * lib/Automake/DisjConditions.pm (ambiguous_p): Simplify slightly.
128         * lib/Automake/tests/DisjConditions.pl (test_ambig): Test
129         Automake::Disjunctions::ambiguous_p.
131 2003-08-07  Alexandre Duret-Lutz  <adl@gnu.org>
133         * lib/Automake/Variable.pm (condition_ambiguous_p): Move ...
134         * lib/Automake/DisjConditions.pm (ambiguous_p): ... here.
135         * automake.in (rule_define): Adjust usage.
136         * lib/Automake/Variable.pm (_check_ambiguous_condition): Likewise.
138         * lib/Automake/Options.pm: New file.
139         * lib/Automake/Makefile.am (dist_perllib_DATA): Add Options.pm.
140         * automake.in (FOREIGN, GNU, GNITS, $default_strictness)
141         ($default_strictness_name, $strictness, $strictness_name)
142         (%options, %global_options, process_option_list)
143         (set_strictness): Remove, now in Options.pm.
144         (initialize_per_input): Call Automake::Options::reset.
145         (handle_options, get_object_extension, get_object_extension)
146         (handle_languages, handle_single_transform_list, handle_compile)
147         (handle_texinfo_helper, handle_man_pages, handle_dist)
148         (handle_configure, do_check_merge_target)
149         (handle_factored_dependencies, handle_tests)
150         (handle_minor_options, scan_autoconf_traces, check_cygnus)
151         (lang_sub_obj, lang_c_rewrite, lang_c_finish, rule_define)
152         (make_paragraphs, am_install_var, parse_arguments): Adjust
153         to set and read options via the new interface.
155 2003-08-07  Raja R Harinath  <harinath@acm.org>
157         * Makefile.am (maintainer-check): Update perllibdir.
158         * lib/Automake/Makefile.am (Config.pm): Depend on Makefile too.
159         (EXTRA_DIST): Add Config.in.
160         * Makefile.in, lib/Automake/Makefile.in: Regenerate.
161         * tests/defs.in (AUTOMAKE, ACLOCAL): Use absolute paths in
162         $perllibdir.
164 2003-08-06  Raja R Harinath  <harinath@acm.org>
166         * configure.in (AUTOMAKE, ACLOCAL): Search the 'lib' directory
167         from the builddir too, to pick up Automake::Config.
168         * tests/defs.in (AUTOMAKE, ACLOCAL): Likewise.
169         * configure: Regenerate.
170         * automake.in (BEGIN): Handle multiple directories in $perllibdir.
171         * aclocal.in (BEGIN): Likewise.
173 2003-08-07  Alexandre Duret-Lutz  <adl@gnu.org>
175         * tests/ltcond.test: Thinko.
177 2003-08-06  Alexandre Duret-Lutz  <adl@gnu.org>
179         * lib/Automake/Config.in: New file.
180         * lib/Automake/Makefile.am (nodist_perllib_DATA, do_subst,
181         CLEANFILES): New variables.
182         (Config.pm): New rule.
183         * Makefile.am (maintainer-check): Adjust expected differences
184         between automake.in and automake.
185         * aclocal.in, automake.in: Use Automake::Config.
187 2003-08-05  Alexandre Duret-Lutz  <adl@gnu.org>
189         * tests/ltconv.test: s/rm/rm -f/ to placate maintainer-check.
191         * automake.in (handle_texinfo_helper): Use the user definition
192         of TEXINFO_TEX before checking for cygnus or AC_CONFIG_AUX_DIR.
193         * tests/txinfo22.test: New file.
194         * tests/Makefile.am (TESTS): Add txinfo22.test.
195         Report from Tom Tromey.
197 2003-08-03  Raja R Harinath  <harinath@acm.org>
199         * lib/Automake/Variable.pm (@EXPORT): Remove
200         traverse_variable_recursively and
201         require_variables_for_variable.
202         (require_variables_for_variable, traverse_variable_recursively)
203         (_traverse_variable_recursively_worker): Convert to
204         Automake::Variable methods, remove support for being
205         invoked with variable names, and rename to ...
206         (requires_variables, traverse_recursively)
207         (_do_recursive_traversal): ... these.
208         (_value_as_list_recursive_worker, transform_variable_recursively):
209         Update to reflect changes.
210         * automake.in (handle_LIBOBJS, handle_ALLOCA)
211         (handle_libraries, handle_ltlibraries, am_primary_prefixes):
212         Likewise.
213         (define_objects_from_sources): Fix typo in comment.
215 2003-08-02  Raja R Harinath  <harinath@acm.org>
217         * automake.in (handle_source_transform): Replace 'grep' with 'map'.
218         (register_language): Replace 'grep' with 'foreach' modifier.
220 2003-08-01  Raja R Harinath  <harinath@acm.org>
222         * lib/Automake/Variables.pm (variables): Return a list of
223         Automake::Variable instances, not a list of strings.
224         (dump): Remove support for being invoked with a string.
225         (variables_dump): Adapt to these changes.
226         * automake.in (check_typos): Likewise.
227         (am_primary_prefixes): Likewise.
229 2003-07-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
231         * lib/depcomp (aix): Support AIX Compiler version 6.
233 2003-07-31  Alexandre Duret-Lutz  <adl@gnu.org>
235         * automake.texi (A Shared Library): Rewrite and split into
236         subsections.  Valuable comments from Norman Gray, Harlan Stenn,
237         Tim Van Holder, and Guido Draheim.
238         * tests/ltcond.test, tests/ltcond2.test, tests/ltconv.test: New files.
239         * tests/Makefile.am (TESTS): Add them.
241 2003-07-30  Alexandre Duret-Lutz  <adl@gnu.org>
243         * automake.in (handle_single_transform_list): Complain about
244         foo.$(OBJEXT) being created both with libtool and without, not
245         about foo.lo.
246         Report from Tim Van Holder.
248 2003-07-29  Alexandre Duret-Lutz  <adl@gnu.org>
250         * Makefile.am (FETCHFILES, fetch): Add config-ml.in and
251         symlink-tree.
252         * lib/config.sub, lib/config-ml.in, lib/texinfo.tex: New
253         upstream versions.
255 2003-07-28  Alexandre Duret-Lutz  <adl@gnu.org>
257         * automake.in (handle_configure): Cosmetic change to avoid
258         a maintainer-check complaint.
260 2003-07-27  Alexandre Duret-Lutz  <adl@gnu.org>
262         * lib/Automake/Variable.pm (@EXPORT): Remove variable_dump.
263         (variable_dump): Replace by ...
264         (dump): ... this method.
265         (rdef, _check_ambiguous_condition): Adjust to use ->dump.
266         (define, variables_dump): Adjust to use Automake::Variable::dump
268         * lib/am/compile.am (mostlyclean-compile): Do not erase core dumps.
269         * automake.texi (Built sources example): Adjust example.
271 2003-07-26  Alexandre Duret-Lutz  <adl@gnu.org>
273         * automake.in (get_object_extension, handle_languages)
274         (handle_single_transform_list, handle_compile, handle_compile)
275         (handle_texinfo_helper, handle_texinfo_helper, handle_man_pages)
276         (handle_tests, handle_minor_options, check_gnu_standards)
277         (lang_sub_obj, lang_c_rewrite, lang_c_finish, rule_define):
278         Simplify "if (defined $options{'X'})" into "if ($options{'X'})".
280         Complete changes from 2003-07-08.
281         * automake.in ($cmdline_use_dependencies, $use_dependencies): Remove,
282         replaced by $options{'no-dependencies'}.
283         ($global_options): Remove.
284         (%global_options): New variable.
285         (initialize_per_input): Empty %options.
286         (process_option_list): Take a location and %options ref argument,
287         process no-dependencies as other options.
288         (handle_options): Do not reparse the global options, just initialize
289         %options from %global_options and fill it with local options.
290         (handle_languages, handle_single_transform_list)
291         (handle_configure, check_cygnus): Adjust usage of
292         $options{'no-dependencies'}.
293         (make_paragraphs): Adjust usage of $options{'cygnus'}.
294         (parse_arguments): Set cygnus and no-dependencies in %global_options.
295         (scan_autoconf_traces) <AM_INIT_AUTOMAKE>: Call process_option_list
296         to fill %global_options.
298 2003-07-25  Alexandre Duret-Lutz  <adl@gnu.org>
300         * tests/remake4.test: Use `$MAKE distdir' instead of `$MAKE dist' to
301         avoid the use of tar.
303 2003-07-24  Alexandre Duret-Lutz  <adl@gnu.org>
305         * tests/gnuwarn2.test: Typo.
307         * tests/insthook.test: Use $MAKE, not make.
309         Fix missing rebuilds during `make dist' with BSD make.
310         * automake.in (generate_makefile): Do not push Makefile.in, and
311         Makefile.am into DIST_COMMON here.
312         * lib/am/configure.am (DIST_COMMON): Do it here, and use
313         %MAKEFILE-AM% and %MAKEFILE-IN% so that items in DIST_COMMON
314         actually match the targets.   Prefix `configure' with `$(srcdir)/'
315         to match the target.
316         * tests/remake4.test: New file.
317         * tests/Makefile.am (TESTS): Add remake4.test.
318         Report from Akim Demaille.
320 2003-07-23  Alexandre Duret-Lutz  <adl@gnu.org>
322         * automake.in (handle_multilib): Register all-multi.
323         (file_contents_internal): Insert \n when concatenating actions
324         from "factored" rules.
325         * lib/config-ml.in: New file, from GCC, including a patch
326         from Ralf Corsepius (see GCC's PR 11526).
327         * lib/symlink-tree.in: New file, from GCC.
328         * lib/Makefile.am (dist_script_DATA): Add config-ml.in and
329         symlink-tree.
330         * lib/am/clean.am (distclean-generic): Do not delete Makefile here...
331         (distclean, maintainer-clean): ... do it here.
332         * lib/am/depend.am (distclean-depend): Likewise, replace by
333         (distclean, maintainer-clean): ... these.
334         * lib/am/multilib.am (all-recursive, install-recursive,
335         mostlyclean-recursive, clean-recursive, distclean-recursive,
336         maintainer-clean-recursive): Remove these rules.
337         (mostlyclean-am, clean-am, distclean-am, maintainer-clean-am): Replace
338         by ...
339         (mostlyclean, clean, distclean, maintainer-clean): ... these.
340         (all-am): Remove, done in handle_multilib.
341         (install-am): Replace by ...
342         (install-exec-am): ... this.
343         * tests/Makefile.am (TESTS): Add multlib.test.
344         * tests/multlib.test: New file, based on a test case by
345         Ralf Corsepius
347 2003-07-23  Tom Tromey  <tromey@redhat.com>
349         * lib/missing (autom4te): Typo.
351 2003-07-16  Derek Price  <derek@ximbiot.com>
353         * automake.in (scan_autoconf_traces): Handle AC_CONFIG_LINKS.
354         (handle_configure): Handle adding AC_CONFIG_LINKS arguments to
355         distclean targets (CONFIG_CLEAN_FILES makefile var).
356         * NEWS: Note new handling of AC_CONFIG_LINKS.
357         * automake.texi (Other things Automake recognizes): Ditto.
358         * tests/Makefile.am (TESTS): Add new tests.
359         * tests/conflnk.test: New test that links are cleaned on distclean.
360         * tests/conflnk2.test: New test that source files for links are
361         distributed.
363 2003-07-15  Ralf Corsepius <corsepiu@faw.uni-ulm.de>  (tiny change)
365         * automake.in (scan_autoconf_traces): Trace AM_ENABLE_MULTILIB to
366         render $seen_multilib functional again.
368 2003-07-10  Raja R Harinath  <harinath@cs.umn.edu>
370         Avoid using refs as hash keys.
371         * lib/Automake/Variable.pm ($_traversal): New.
372         (reset): Reset $_traversal.
373         (_new): New attribute 'scanned'.
374         (%_vars_scanned): Remove.
375         (traverse_variable_recursively)
376         (traverse_variable_recursively_worker):
377         Use $_traversal instead of %_vars_scanned to detect recursively
378         defined variables.
380         * lib/am/configure.am (am--refresh): Silence.
382 2003-07-10  Alexandre Duret-Lutz  <adl@gnu.org>
384         * lib/Automake/Variable.pm (define): Make clear the diagnostic
385         about variable names starting with `_' is about *Make* variables.
387         For Debian Bug #193907:
388         * automake.texi (Clean): make maintainer-clean should still
389         allow ./configure && make to run.
391         * automake.texi (CVS): Typo.
393 2003-07-09  Alexandre Duret-Lutz  <adl@gnu.org>
395         * aclocal.in: Use Automake::FileUtils.
396         (parse_arguments, scan_configure, scan_m4_files): Never call
397         "die" to print an error message.  Use print and exit.
398         * automake.in: Use Automake::FileUtils.
399         * lib/Automake/General.pm ($debug, $help, $tmp, $verbose,
400         $version, &debug, &getopt, &mktmpdir, &verbose): Remove.
401         (END): Do not massage Perl's exit code.  Do not clean any temporary
402         directory.
403         (find_file, mtime, update_file, xsystem, contents): Move to ...
404         * lib/Automake/FileUtils.pm: ... this new file.  Adjust to
405         report errors using Channels.
406         (handle_exec_errors, xqx): New functions, from Autoconf.
407         * lib/Automake/Makefile.am (dist_perllib_DATA): Add FileUtils.pm.
409         * lib/Automake/Variable.pm (_traverse_variable_recursively_worker):
410         Return the empty list on recursively defined variable.  This
411         supersedes my change of 2003-07-02.
413 2003-07-08  Akim Demaille  <akim@epita.fr>
415         * automake.in ($cygnus_mode): Replace with $options{'cygnus'}.
416         Adjust all dependencies.
417         (&depend): Move next to %dependencies and prototype.
418         (&initialize_per_input): Initialize the 'cygnus' field of
419         '%options' to spare the code from 'exists' or 'defined' when
420         testing it.
421         (&handle_configure, &do_check_merge_target, &check_cygnus): Prototype.
422         (&parse_arguments): Rename '%options' and '%options_1st_pass' as
423         '%cli_options' and '%cli_options_1st_pass' to avoid clashes and
424         inconsistencies.
426 2003-07-07  Alexandre Duret-Lutz  <adl@gnu.org>
428         * automake.in (generate_makefile): Move near the end of the
429         file, after the definition of all called functions, so that
430         prototypes can be enforced.
432 2003-07-06  Akim Demaille  <akim@epita.fr>
434         * lib/am/subdirs.am (RECURSIVE_TARGETS): Move install-recursive,
435         install-exec-recursive, install-data-recursive and
436         uninstall-recursive addition to...
437         * lib/am/texinfos.am: here.
438         * lib/am/texinfos.am, lib/am/subdirs.am: Remove the .PHONY
439         declaration of RECURSIVE_TARGETS.
441 2003-07-06  Akim Demaille  <akim@epita.fr>
443         * lib/Automake/Variable.pm, lib/Automake/VarDef.pm (VAR_SORTED):
444         New variable type.
445         Handle it.
446         * automake.in (&handle_subdirs): Prototype.
447         Adjust callers.
448         Make RECURSIVE_TARGETS a VAR_SORTED.
450 2003-07-06  Akim Demaille  <akim@epita.fr>
452         * automake.in (&define_files_variable): New.
453         (&handle_texinfo_helper): Move the handling of user variables from
454         here, to...
455         (&handle_texinfo): here.
456         This is to balance the size of these functions, and to match the
457         convention of other _helper functions.
458         (&handle_texinfo_helper): Use &define_files_variable.
459         Move some code to use less variables.
460         Rename $info_cursor as $texi.
461         (&handle_texinfo): Do not call handle_texinfo_helper if there are
462         no TEXINFOS.
463         * lib/am/texinfos.am: Sort the occurrences of dvi, info, pdf, ps
464         and html.
465         Remove *-recursive targets from .PHONY, they are part of
466         $(RECURSIVE_TARGETS) anyway.
467         (install-info, mostlyclean-aminfo): Are .PHONY.
469 2003-07-05  Akim Demaille  <akim@epita.fr>
471         * lib/am/distdir.am: Use ';' as a terminator, not a separator, for
472         sed complex commands, as required by NetBSD sed.
473         Reported by Patrick Welche.
475 2003-07-05  Alexandre Duret-Lutz  <adl@gnu.org>
477         * lib/config.guess, lib/config.sub: New upstream version.
479 2003-07-04  Alexandre Duret-Lutz  <adl@gnu.org>
481         * automake.texi (Optional, Dist): AC_CONFIG_AUX_DIR files
482         are automatically distributed.
484         * lib/depcomp (icc): Update to grok ICC 7.1's output.
485         * m4/depend.m4 (_AM_DEPENDENCIES): Check dependency generation
486         in a subdirectory, and with many dependencies.  This
487         catches more failures of depcomp.
488         Reports from Ralf Wildenhues and Akim Demaille.
490 2003-07-04  Akim Demaille  <akim@epita.fr>
492         * automake.in (&scan_texinfo_file, &output_texinfo_build_rules,
493         (&handle_texinfo_helper, &handle_texinfo): Formatting changes.
494         Prototype properly.
495         Don't use & when calling functions.
497 2003-07-03  Alexandre Duret-Lutz  <adl@gnu.org>
499         * NEWS: Categorize entries.
500         Suggested by Jim Meyering.
502         * Makefile.am (maintainer-clean): Disallow '$AUTOMAKE && exit 1'.
503         Ignore @...@ substitutions in comments.
504         * tests/defs.in: Try to make the shell more POSIX compliant.
505         (AUTOMAKE_run, AUTOMAKE_fails): New functions.
506         * tests/README: Mention AUTOMAKE_fails.
507         * tests/alloca.test, tests/alloca2.test, tests/ansi8.test,
508         * tests/asm.test, tests/backsl3.test, tests/backsl4.test,
509         * tests/badline.test, tests/badopt.test, tests/canon.test,
510         * tests/canon5.test, tests/colneq.test, tests/comment3.test,
511         * tests/comment5.test, tests/cond2.test, tests/cond20.test,
512         * tests/cond23.test, tests/cond24.test, tests/cond27.test,
513         * tests/condinc2.test, tests/conff2.test, tests/cxx2.test,
514         * tests/dejagnu2.test, tests/dirforbid.test,
515         * tests/distcom3.test, tests/else.test, tests/exdir2.test,
516         * tests/exeext2.test, tests/gcj2.test, tests/gcj5.test,
517         * tests/getopt.test, tests/gettext.test, tests/gettext2.test,
518         * tests/gnits.test, tests/gnuwarn.test, tests/gnuwarn2.test,
519         * tests/insh.test, tests/lex2.test, tests/libobj10.test,
520         * tests/libobj12.test, tests/libobj13.test,
521         * tests/libobj3.test, tests/library2.test,
522         * tests/library3.test, tests/libtool4.test,
523         * tests/libtool6.test, tests/lisp2.test, tests/location.test,
524         * tests/nogzip2.test, tests/output5.test, tests/overrid.test,
525         * tests/percent.test, tests/percent2.test,
526         * tests/pluseq5.test, tests/pluseq7.test, tests/pluseq9.test,
527         * tests/pr211.test, tests/primary.test, tests/primary2.test,
528         * tests/python2.test, tests/recurs.test, tests/reqd2.test,
529         * tests/seenc.test, tests/specflg.test, tests/specflg2.test,
530         * tests/spell.test, tests/spell2.test, tests/srcsub.test,
531         * tests/srcsub2.test, tests/stdlib.test, tests/subdir7.test,
532         * tests/substtarg.test, tests/suffix11.test,
533         * tests/symlink.test, tests/syntax.test,
534         * tests/targetclash.test, tests/txinfo4.test,
535         * tests/version3.test, tests/warnopts.test,
536         * tests/xsource.test, tests/yacc2.test: Use set -e,
537         AUTOMAKE_fails, and always grep error message.
539         * automake.in (handle_ltlibraries): Fix call to msg.
541         * tests/stamph.test: Delete.
542         * tests/Makefile.am (TESTS): Remove stamph.test.
544         * automake.in (handle_single_transform_list): Use $var->name
545         to print variable in the configure-substitution diagnostic.
546         Do not mention the parent when it is the variable itself.
548         * tests/package.test: Delete.
549         * tests/Makefile.am (TESTS): Remove package.test.
551         * automake.in (cond_stack_else): Return FALSE if `if' was not
552         used.
553         (cond_stack_endif): Return TRUE if `if' was not used.  Do not
554         display $negate and $cond, they are irrelevant and maybe undefined.
556 2003-07-02  Alexandre Duret-Lutz  <adl@gnu.org>
558         * lib/Automake/Variable.pm (_traverse_variable_recursively_worker):
559         Do not return undef when a variable is recursively defined, this
560         causes warnings all over the place.  Return the empty string instead.
562         * lib/am/distdir.am (distcheck): Protect loop of DIST_ARCHIVES
563         from empty DIST_ARCHIVES.
565 2003-07-01  Alexandre Duret-Lutz  <adl@gnu.org>
567         * automake.in (scan_autoconf_traces): Check the expected
568         number of arguments of each traced macro.
569         * tests/overrid.test: Fix call to AM_CONDITIONAL.
570         * tests/conff2.test: New files.
571         * tests/Makefile.am (TESTS): Add conff2.test.
572         Report from Paolo Bonzini.
574 2003-06-30  Alexandre Duret-Lutz  <adl@gnu.org>
576         * automake.in ($SUBST_REF_PATTERN): Do not define.
577         (%gen_varname): Move to Variable.pm, as %_gen_varname.
578         (initialize_per_input): Do not clean %gen_varname.
579         (handle_options, check_libobjs_sources, handle_source_transform,
580         handle_LIBOBJS, handle_ltlibraries, handle_texinfo_helper,
581         handle_man_pages, handle_dist, handle_subdirs, handle_gettext,
582         am_install_var): Adjust to use value_as_list_recursive,
583         loc_and_value_as_list_recursive, and has_conditional_contents.
584         (require_file_with_macro): Accept an Automake::Variable as argument.
585         (traverse_variable_recursively,
586         traverse_variable_recursively_worker, gen_varname,
587         transform_variable_recursively): Move ...
588         * lib/Automake/Variable.pm (traverse_variable_recursively,
589         _traverse_variable_recursively_worker,
590         _gen_varname, transform_variable_recursively): ... here.
591         * automake.in (variable_conditionally_defined,
592         variable_value_as_list_recursive_worker,
593         variable_value_as_list_recursive
594         variable_loc_and_value_as_list_recursive): Move ...
595         * lib/Automake/Variable.pm (has_conditional_contents,
596         _value_as_list_recursive_worker,
597         value_as_list_recursive, loc_and_value_as_list_recursive): ... here.
598         (reset): Reset %_gen_varname.
599         (require_variables_for_variable): Accept an Automake::Variable
600         as argument.
602 2003-06-27  Alexandre Duret-Lutz  <adl@gnu.org>
604         * tests/aclocal6.test: Test maintainer-clean in VPATH
605         builds. (For Ralf's fix.)
607 2003-06-27  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>  (tiny change)
609         * lib/am/configure.am (maintainer-clean): Remove
610         $(top_srcdir)/autom4te.cache, not autom4te.cache.
612 2003-06-27  Akim Demaille  <akim@epita.fr>
614         * automake.texi: Use @node with a single argument.
616 2003-06-27  Alexandre Duret-Lutz  <adl@gnu.org>
618         * m4/Makefile.am (dist_m4data_DATA): Add $(top_srcdir)/m4/amversion.m4.
620         * lib/am/distdir.am (distcheck): Run $(am__remove_distdir)
621         at the end of distcheck.  This was mistakenly removed on
622         2003-06-15.
623         * tests/subpkg.test: Make sure distcheck cleans up after itself.
625         * m4/Makefile.am ($(srcdir)/amversion.m4): Rename as ...
626         ($(top_srcdir)/m4/amversion.m4): ... this.
627         (DISTCLEANFILES): Remove.
628         (nodist_m4data_DATA): Remove. amversion.m4 is automatically
629         distributed.
630         (EXTRA_DIST): Add amversion.in.
632 2003-06-25  Akim Demaille  <akim@epita.fr>
634         * automake.texi (Top): Use @copying and @insertcopying.
635         Make Alexandre an author.
636         * automake.in ($gen_copyright): Add the "(C)" to Copyright.
637         * lib/depcomp: Likewise.
639 2003-06-23  Alexandre Duret-Lutz  <adl@gnu.org>
641         * lib/Automake/Variable.pm (vardef, rvardef, set_seen): New functions.
642         (variable_defined, examine_variable): Remove.
643         (%_ac_macro_for_var): Add an entry for ALLOCA.
644         (require_variables): Use vardef instead of variable_defined.
645         Do not use _cvar.
646         * automake.in (generate_makefile): Do not push $(SOURCE) into
647         @sources.  Use define_pretty_variable to define SOURCES.
648         (handle_LIBOBJS, handle_ALLOCA): Use require_variables_for_variable
649         to require LIBOBJS, LTLIBOBJS and ALLOCA.
650         (handle_programs, handle_ltlibraries): Do not define an empty
651         _DEPENDENCIES or _LDFLAGS variable when none is defined.
652         (define_configure_variable): Do not check whether the variable
653         already exists (it's Automake::Variable::define's job).
654         (require_build_directory): Likewise, do not check
655         the existence of am__dirstamp.
656         (generate_makefile, handle_options, handle_languages)
657         (check_libobjs_sources, handle_single_transform_list)
658         (traverse_variable_recursively_worker, handle_source_transform)
659         (handle_lib_objects, handle_LIBOBJS, handle_compile)
660         (handle_libtool, handle_programs, handle_libraries)
661         (handle_ltlibraries, check_typos, handle_texinfo_helper)
662         (handle_man_pages, handle_tags, handle_dist, handle_subdirs)
663         (scan_aclocal_m4, handle_gettext, handle_footer, handle_install)
664         (handle_all, do_check_merge_target, handle_clean, lang_c_finish)
665         (handle_tests, lang_yacc_target_hook, define_pretty_variable)
666         (define_compiler_variable, define_linker_variable)
667         (make_paragraphs, am_primary_prefixes, am_install_var): Adjust to
668         call var, vardef, or set_seen, instead of variable_defined.  Use
669         set_seen only for variables which are actually checked by
670         check_typos.
671         * tests/target.test: Delete.
672         * tests/alloca.test, tests/alloca2.test: New files.
673         * tests/libobj3.test: Check error message.
674         * tests/distcom4.test: Make sure configure is in DIST_COMMON.
675         This replace confdist.test.
676         * tests/Makefile.am (TESTS, XFAIL_TESTS): Remove target.test.
677         (TESTS): Add alloca.test and alloca2.test.  Remove confdist.test.
679 2003-06-20  Alexandre Duret-Lutz  <adl@gnu.org>
681         * automake.in (handle_dist): Delete DIST_COMMON before redefining
682         it.  Bug report from Akim Demaille.
683         (rewrite_inputs_into_dependencies): Make sure we always return
684         something, even when $add_srcdir is 0.
685         * tests/distcom4.test, tests/distcom5.test: New files.
686         * tests/Makefile.am (TESTS): Add distcom4.test and distcom5.test.
688         * tests/cond29.test: Also check for _SOURCES.
689         Report from Paolo Bonzini.
691 2003-06-20  Akim Demaille  <akim@epita.fr>
693         * lib/am/configure.am: Replace leading spaces with a real tab.
695 2003-06-15  Alexandre Duret-Lutz  <adl@gnu.org>
697         * tests/nogzip.test, tests/nogzip2.test: New files.
698         * tests/Makefile.am (TESTS): Add nogzip.test and nogzip2.test
700 2003-06-15  Akim Demaille  <akim@epita.fr>
702         * automake.in (&make_paragraphs): Define %GZIP%.
703         (&process_option_list): Accept no-dist-gzip2.
704         (&handle_dist): Complain when no archive format is enabled.
705         * lib/am/distdir.am (DIST_ARCHIVES): New variable.
706         (dist-gzip, dist-bzip2, dist-tarZ, dist-zip): No longer
707         conditioned.
708         (dist): Build $(distdir).tar.gz conditionally.
709         (distcheck): Use DIST_ARCHIVES to find an archive to unpack, and
710         to list built archives.  Run $(MAKE) dist instead of dist-gzip.
711         * automake.texi (Options, The types of distributions): Adjust.
713 2003-06-15  Jens Elkner  <elkner@imsgroup.de>  (tiny change)
715         * m4/lispdir.m4 (AM_PATH_LISPDIR): Fix sed commands to work with
716         POSIXLY_CORRECT=1.
718 2003-06-14  Karl Berry  <karl@gnu.org>
719             Alexandre Duret-Lutz  <adl@gnu.org>
721         * mkinstalldirs (scriptversion): New variable.  Setup emacs hooks
722         to update it each time the file is written, as in install-sh.
723         (usage): Improve message.
724         (--version): New option.
725         (--help): Output to stdout, not stderr.
727 2003-06-13  Paul Eggert  <eggert@twinsun.com>
729         * lib/install-sh (dsttmp, rmtmp): Do not use '#' in file names;
730         it's not guaranteed by POSIX and it doesn't work on OpenVMS.
731         Bug reported by Bernard Giroud in:
732         http://mail.gnu.org/archive/html/autoconf-patches/2003-06/msg00013.html
734 2003-06-05  Alexandre Duret-Lutz  <adl@gnu.org>
736         * automake.in (check_gnu_standards): Use no-installman and
737         no-installinfo's locations.
738         (process_option_list): Fill %options with locations.
739         (check_cygnus) Fill $options{'no-installinfo'} and
740         $options{'no-dependencies'} with $cygnus_mode, so that it
741         remains a Location.
742         * tests/gnuwarn2.test: New file.
743         * tests/Makefile.am (TESTS): Add gnuwarn2.test.
745 2003-06-04  Alexandre Duret-Lutz  <adl@gnu.org>
747         * automake.in (process_option_list): Record the location
748         of ansi2knr's definition.
749         (handle_compile): Use it.
750         * tests/ansi3.test: Make sure the location appears correctly.
751         Update to use set -e.
752         * tests/ansi3b.test: New file.
753         * tests/Makefile.am (TESTS): Add ansi3b.test.
755         * tests/alpha.test: Really run $MAKE.  Augment to test
756         subdirectories, and check-news report.
757         * tests/alpha2.test: New file.  Bug report from Akim Demaille.
758         * tests/gnits2.test: Make sure README-alpha is not distributed.
759         * tests/Makefile.am (TESTS): Add alpha2.test.
760         * automake.in (handle_minor_options): Distribute README-alpha
761         using push_dist_common, not require_file_with_macro.
763 2003-06-03  Alexandre Duret-Lutz  <adl@gnu.org>
765         * lib/Automake/Configure_ac.pm
766         (search_configure_ac, find_configure_ac): Rename as ...
767         (find_configure_ac, require_configure_ac): ... these.
768         * aclocal.in (scan_configure): Adjust call to require_configure_ac.
769         * automake.in (scan_autoconf_files): Likewise.
770         Suggested by Tim Van Holder.
772         * alocal.in: Use Automake::Configure_ac.
773         ($configure_ac): Delete.
774         (scan_configure): Adjust use of find_configure_ac;
775         * automake.in: Use Automake::Configure_ac.
776         ($configure_ac): Delete.
777         (scan_autoconf_files): Adjust use of find_configure_ac;
778         * lib/Automake/Configure_ac.pm: New file.
779         * lib/Automake/General.pm (find_configure_ac): Delete.  Now
780         replaced by Automake::Configure_ac::search_configure_ac.
781         * lib/Automake/Makefile.am (dist_perllib_DATA): Add Configure_ac.pm.
782         * lib/Automake/Variable.pm: Use Automake::Configure_ac.
783         (require_variables): Adjust use of $configure_ac.
785 2003-06-02  Akim Demaille  <akim@epita.fr>
787         * lib/am/texi-vers.am, lib/am/subdirs.am, lib/am/scripts.am,
788         * lib/am/remake-hdr.am, lib/am/python.am, lib/am/progs.am,
789         * lib/am/program.am, lib/am/multilib.am, lib/am/mans.am,
790         * lib/am/mans-vars.am, lib/am/ltlibrary.am, lib/am/ltlib.am,
791         * lib/am/lisp.am, lib/am/libtool.am, lib/am/library.am,
792         * lib/am/lang-compile.am, lib/am/java.am, lib/am/header.am,
793         * lib/am/header-vars.am, lib/am/footer.am, lib/am/depend.am,
794         * lib/am/dejagnu.am, lib/am/data.am, lib/am/compile.am,
795         * lib/am/clean.am, lib/am/clean-hdr.am, lib/am/check.am,
796         * lib/am/ansi2knr.am, lib/am/Makefile.am, lib/Makefile.am,
797         * m4/strip.m4, m4/sanity.m4, m4/runlog.m4, m4/regex.m4,
798         * m4/python.m4, m4/protos.m4, m4/options.m4, m4/obsolete.m4,
799         * m4/obsol-lt.m4, m4/obsol-gt.m4, m4/multi.m4, m4/missing.m4,
800         * m4/minuso.m4, m4/maintainer.m4, m4/lispdir.m4, m4/lex.m4,
801         * m4/install-sh.m4, m4/header.m4, m4/gcj.m4, m4/dmalloc.m4,
802         * m4/depout.m4, m4/cond.m4, m4/ccstdc.m4, m4/auxdir.m4, m4/as.m4,
803         * m4/Makefile.am: White space changes and Copyright updates.
805 2003-05-29  Alexandre Duret-Lutz  <adl@gnu.org>
807         * lib/Automake/Variable.pm (check_defined_unconditionally): Add
808         the $parent_cond argument.
809         (output): Use $self->name in diagnostic not $self.
810         (variable_value_as_list): Rename as ...
811         (value_as_list): ... this.  Declare as a method.  Take a $parent_cond
812         argument and pass it to check_defined_unconditionally.  Do not call
813         variable_assert, now that this is a method.
814         (variable_assert): Delete (unused).
815         * automake.in (traverse_variable_recursively_worker): Adjust to
816         use check_defined_unconditionally and value_as_list as a methods.
818         * lib/Automake/Variable.pm (output): Declare as a method, since it
819         is only used this way.
820         (define): Fix documentation of $cond.
821         Suggested by Raja R. Harinath.
823 2003-05-25  Alexandre Duret-Lutz  <adl@gnu.org>
825         * lib/Automake/Variable.pm, lib/Automake/VarDef.pm: New files.
826         * lib/Automake/Makefile.am (dist_perllib_DATA): Add Variable.pm
827         and VarDef.pm.
828         * automake.in: Use Automake::Variable and Automake::VarDef.
829         (MACRO_PATTERN): Delete. Now Automake::Variable::_MACRO_PATTERN.
830         (am_macro_for_var): Delete. Now Automake::Variable::_am_macro_for_var.
831         (ac_macro_for_var): Delete. Now Automake::Variable::_ac_macro_for_var.
832         (silent_variable_override): Delete.  Now
833         Automake::Variable::_silent_variable_override.
834         (var_value, var_location, var_comment, var_type, var_owner,
835         var_pretty, content_seen): Delete.  This functionality is now
836         offered by Automake::Variable and Automake::VarDef.
837         (VAR_AUTOMAKE, VAR_CONFIGURE, VAR_MAKEFILE, VAR_ASIS, VAR_PRETTY):
838         Delete.  Now defined in Automake::VarDef.
839         (var_order): Delete.  Now Automake::Variable::_var_order.
840         (appendvar): Delete.  Now Automake::Variable::_appendvar.
841         (var_SUFFIX_trigger): Register using Automake::Variable::hook.
842         (initialize_per_input): Call Automake::Variable::reset.
843         (err_var, msg_cond_var, msg_var, reject_var): Delete.  Now
844         defined in Automake::Variable.
845         (generate_makefile, process_option_list, handle_languages)
846         (traverse_variable_recursively_worker)
847         (transform_variable_recursively, handle_compile)
848         (handle_libraries, handle_ltlibraries)
849         (check_typos, handle_dist, handle_subdirs, scan_autoconf_files):
850         Adjust to use Automake::Variable functions.
851         (check_ambiguous_condition): Delete.  Now
852         Automake::Variable::_check_ambiguous_condition.
853         (condition_ambiguous_p): Delete.  Now
854         Automake::Variable::condition_ambiguous_p.
855         (variable_not_always_defined_in_cond): Delete.  Now
856         Automake::Variable::not_always_defined_in_cond.
857         (macro_define): Delete.  Now Automake::Variable::define.
858         (macro_delete): Delete.  Now Automake::Variable::variable_delete.
859         (macro_dump): Delete.  Now Automake::Variable::variable_dump.
860         (macros_dump): Delete.  Now Automake::Variable::variables_dump.
861         (variable_defined): Delete.  Now
862         Automake::Variable::variable_defined, with the target check
863         temporarily disabled.
864         (variable_assert): Delete.  Now Automake::Variable::variable_assert.
865         (examine_variable): Delete.  Now
866         Automake::Variable::examine_variable.
867         (variable_conditions): Delete.  Now Automake::Variable::conditions.
868         (scan_variable_expansions): Delete.  Now
869         Automake::Variable::scan_variable_expansions.
870         (check_variable_expansions): Delete.  Now
871         Automake::Variable::check_variable_expansions.
872         (check_variable_defined_unconditionally): Delete.  Now
873         Automake::Variable::check_defined_unconditionally.
874         (variable_value): Delete.  Now Automake::Variable::variable_value.
875         (variable_value_as_list): Delete.  Now
876         Automake::Variable::variable_value_as_list.
877         (variable_value_as_list_recursive_worker): Adjust to use
878         Automake::Variable functions.
879         (variable_output): Delete.  Now Automake::Variable::output.
880         (define_pretty_variable, define_configure_variable, read_am_file)
881         (define_standard_variables, read_main_am_file): Adjust to use
882         Automake::Variable functions.
883         (handle_variables): Delete.  Now Automake::Variable::output_variables.
884         (file_contents_internal, am_primary_prefixes, am_install_var)
885         (require_file_with_macro, require_conf_file_with_macro)
886         (push_dist_common): : Adjust to use
887         Automake::Variable functions.
888         (require_variables): Delete.  Now
889         Automake::Variable::require_variables.
890         (require_variables_for_macro): Delete.  Now
891         Automake::Variable::require_variables_for_variable.
892         * tests/Makefile.am (XFAIL_TESTS): Add target.test.
894 2003-05-25  Christian Cornelssen  <ccorn@cs.tu-berlin.de>  (tiny change)
896         * tests/dejagnu7.test: Check if runtest supports --status.
898 2003-05-23  Alexandre Duret-Lutz  <adl@gnu.org>
900         * lib/Automake/Location.pm (dump): Output 'INTERNAL' when position
901         is undefined.
903         * lib/Automake/DisjConditions.pm (human): Fix infinite loop when
904         $self contains only one Condition.
906         * automake.in: Use plain strict, including refs.
907         (macro_define, handle_single_transform_list): Use \&{'name'} to
908         build references to named subroutines.
910 2003-05-22  Karl Berry  <karl@gnu.org>
912         * automake.texi: Update @dircategory to match the Free Software
913         Directory.  End directory entries with dots.
915 2003-05-22  Alexandre Duret-Lutz  <adl@gnu.org>
917         * automake.texi (maintainer-mode): s/François/Fran@,{c}ois/.
919         * lib/elisp-comp: s/François/Franc,ois/.
920         Suggested by Paul Eggert.
922         * automake.in: Move the "main" code at the end.
923         (parse_arguments): Move near the end.
924         ($KNOWN_EXTENSIONS_PATTERN, @known_extensions_list,
925         accept_extensions, var_SUFFIXES_trigger): Move these definitions
926         before any call to register_language.
927         (am_file): Move the definition with all other global variables,
928         do not use local to define it.
929         * Makefile.am (maintainer-check): Expect no `local' in Automake.
931 2003-05-21  Alexandre Duret-Lutz  <adl@gnu.org>
933         * lib/Automake/Wrap.pm, lib/Automake/tests/Wrap.pl: New files.
934         * lib/Automake/Makefile.am (dist_perllib_DATA): Add Wrap.pm.
935         * lib/Automake/tests/Makefile.am (TESTS): Add Wrap.pl.
936         * automake.in (handle_texinfo_helper, pretty_print_rule)
937         (variable_output): Adjust to use makefile_wrap instead of
938         pretty_print_internal.
939         (pretty_print_internal): Remove.  Renamed as Automake::Wrap::wrap
940         and augmented to accept the $eol and $max_len arguments.
942 2003-05-18  Alexandre Duret-Lutz  <adl@gnu.org>
944         * lib/Autom4te/XFile.pm, lib/config.guess, lib/config.sub,
945         lib/texinfo.tex: New upstream versions.
947 2003-05-17  Alexandre Duret-Lutz  <adl@gnu.org>
949         * lib/am/install.am (install, install-exec, install-data, uninstall):
950         Declare conditionally using a if/else/endif block instead of
951         using ?SUBDIRS?-style conditions.  The latter fail when
952         %maybe_BUILT_SOURCES% is replaced by several lines.
953         This fixes a bug introduced on 2003-04-06.
954         * tests/bsource.test: New file.
955         * tests/Makefile.am (TESTS): Add bsource.test.
956         Reported by Bruno Haible.
958 2003-05-11  Alexandre Duret-Lutz  <adl@gnu.org>
960         * automake.texi (renamed objects): New node.
961         (Program and Library Variables): Move maude_DEPENDENCIES closer
962         to maude_LDADD.  Define and use `per-target compilation flags' in the
963         explanation for maude_CFLAGS et al.  Link to the `renamed objects'
964         node.  Illustrate maude_SHORTNAME.
966 2003-05-09  Alexandre Duret-Lutz  <adl@gnu.org>
968         * lib/install-sh: Update copyright notice and license to that of
969         X11R6.  This removes an advertising clause reported as Debian bug
970         #191717.
972 2003-05-07  Alexandre Duret-Lutz  <adl@gnu.org>
974         * configure.in (ACLOCAL): Do not use -I, --acdir is enough.
976         * m4/make.m4: Rename the doit target as am__doit,
977         and make it phony.
978         Reported by Philip S Tellis.
980 2003-05-07  Alexandre Duret-Lutz  <adl@gnu.org>
982         * lib/am/configure.am (%MAKEFILE-IN%): Propagate automake's exit
983         status.
984         * tests/makej.test: New file (test Autom4te's cache locking,
985         new in CVS Autoconf).
986         * tests/Makefile.am (TESTS): Add makej.test.
988 2003-05-06  Alexandre Duret-Lutz  <adl@gnu.org>
990         * lib/Automake/General.pm (contents): New function.
991         * aclocal.in (greatest_mtime, force_output): New globals.
992         (scan_configure, add_file): Update $greatest_mtime.
993         (parse_arguments): Parse --force.
994         (write_aclocal): Do not overwrite $output_file unless needed.
995         * automake.texi (aclocal options): Document --force.
996         * tests/aclocal7.test: New file.
997         * tests/Makefile.am (TESTS): Add aclocal7.test.
999 2003-05-05  Alexandre Duret-Lutz  <adl@gnu.org>
1001         * automake.texi (Optional): Document m4_include.
1002         (Invoking aclocal): Shake a bit to introduce the various uses
1003         of aclocal and explain that aclocal will use m4_include for
1004         local files.
1005         (Extending aclocal): Show how to install installable macros
1006         in $(datadir)/aclocal, and make it clearer that writing installable
1007         macros is not the only way to extend aclocal.
1008         (Local Macros, Future of aclocal): New sections.
1010 2003-04-27  Alexandre Duret-Lutz  <adl@gnu.org>
1012         * automake.in (@common_files): Remove acinclude.m4 since
1013         it will be m4_included by aclocal.m4 and files are always
1014         distributed.
1015         (scan_aclocal_m4): Do not bother about acinclude.m4 anymore.
1016         We will get this dependency when tracing m4_includes.
1017         * tests/aclocal6.test: Make sure acinclude.m4 is distributed
1018         when used.
1019         * tests/acinclude.test: Delete.
1020         * tests/Makefile.am (TESTS): Remove acinclude.test.
1022 2003-04-25  Alexandre Duret-Lutz  <adl@gnu.org>
1024         * automake.in (handle_configure): Don't add @configure_deps to
1025         DIST_COMMON, we do this from lib/am/configure.am now.
1026         Define the am__configure_deps variable instead of substituing
1027         %CONFIGURE_DEPS%.
1028         * lib/am/configure.am (%MAKEFILE-IN%, $(top_srcdir)/configure,
1029         $(ACLOCAL_M4)): Use $(am__configure_deps) instead of %CONFIGURE_DEPS%.
1030         (DIST_COMMON): Add $(am__configure_deps).
1032         * tests/aclocal6.test: New file.
1033         * lib/am/configure.am (am--refresh): New rule.
1034         (%MAKEFILE-IN%, %MAKEFILE%, $(top_builddir)/config.status,
1035         $(top_srcdir)/configure): Call the top-level am--refresh from
1036         subdirectories.
1037         ($(ACLOCAL_M4)): Depend upon %CONFIGURE_DEPS%.  Call the
1038         top-level am--refresh when not in the top-level directory.
1039         Fix jump directories for VPATH builds.
1040         Suggested by Raja R. Harinath.
1042 2003-04-24  Alexandre Duret-Lutz  <adl@gnu.org>
1044         * automake.in (scan_aclocal_m4): Do not parse ACLOCAL_AMFLAGS
1045         and glob for m4_files (We've got all local m4 files while
1046         tracing m4_include's).  Diagnose ACLOCAL_M4_SOURCES as obsolete.
1047         Distribute aclocal.m4 only at the top-level.
1048         (my_glob): Remove.  This fixes PR automake/11.
1049         (handle_dist): Strip leading `./' from directories.
1050         * aclocal.in (add_file): Output 'm4_include([file.m4])' instead
1051         of copying local files.
1052         (write_aclocal, parse_arguments): Bump copyright date.
1053         * configure.in: De not build m4/amversion.m4 from here ...
1054         * m4/Makefile.am ($(srcdir)/amversion.m4): ... do this here.
1055         (nodist_m4data_DATA): Use $(srcdir)/amversion.m4 instead
1056         of amversion.m4.
1057         * tests/Makefile.am (XFAIL_TESTS): Remove aclocal5.test.
1058         (TESTS): Remove aclocal2.test.  Do not test aclocal.test twice.
1059         * tests/aclocal2.test: Delete (pointless).
1060         * tests/aclocal5.test: Make sure configure's dependencies are
1061         distributed.
1062         * tests/acinclude.test: Adjust to search for m4_include.
1063         * tests/dirlist.test, tests/dup3.test: Run $AUTOCONF and grep
1064         configure instead of aclocal.m4.
1066         For PR automake/46:
1067         * automake.in (scan_aclocal_m4): Work in all directories, not only
1068         the top-level.  Prepend $(top_srcdir) in front of each aclocal.m4
1069         dependency.
1070         * lib/am/configure.am (config.status, configure, $(ACLOCAL_M4)):
1071         Define rebuild rules in each directory.
1072         * tests/subdir8.test: Augment to exercise aclocal.m4's dependencies
1073         from the top-level directory.
1074         * tests/aclocal5.test: New file.  Exercise aclocal.m4's dependencies
1075         from a subdirectory.
1076         * tests/Makefile.am (TESTS): Add aclocal5.test.
1077         (XFAIL_TESTS): Replace subdir8.test by aclocal5.test.
1079 2003-04-24  Akim Demaille  <akim@epita.fr>
1080             Alexandre Duret-Lutz  <adl@gnu.org>
1082         For PR automake/46:
1083         * lib/am/configure.am (%MAKEFILE-IN%): If Makefile.in is rebuilt
1084         because of one of configure's dependencies, run automake without
1085         argument to update the whole tree at once.  Depend upon
1086         %CONFIGURE_DEPS%.
1087         (%MAKEFILE%): If Makefile is rebuilt because config.status has
1088         been updated, run config.status without arguments.
1089         * automake.in (scan_autoconf_traces): Prepend $(top_srcdir)
1090         before all files in @configure_deps.
1091         * tests/subdir5.test: Modernize configure.in, make sure
1092         maude/Makefile was actually created, and exercise %CONFIGURE_DEPS%.
1093         * tests/subdir8.test: New file.
1094         * tests/Makefile.am (TESTS): Add subdir8.test.
1095         (XFAIL_TESTS): Replace subdir5.test by subdir8.test.
1097 2003-04-23  Alexandre Duret-Lutz  <adl@gnu.org>
1099         * automake.texi (Requirements): Typo in index
1100         s/AC_CONFIG_FILE/AC_CONFIG_FILES/.
1102         * lib/texinfo.tex: New upstream version.
1104 2003-04-21  Jim Meyering  <jim@meyering.net>
1106         * lib/mkinstalldirs: Remove each sequence of spaces before a
1107         TAB character.
1108         * lib/depcomp: Search for TAB-SPC, not SPC-TAB.
1110 2003-04-19  Alexandre Duret-Lutz  <adl@gnu.org>
1112         Fix for PR automake/389:
1113         * automake.in (handle_configure): Don't put $colon_infile in
1114         CONFIG-MAKEFILE.
1115         * tests/conff.test: New file.
1116         * tests/Makefile.am (TESTS): Add conff.test.
1117         Reported by Alexander Turbov.
1119 2003-04-18  Alexandre Duret-Lutz  <adl@gnu.org>
1121         * tests/defs.in: Handle required=etags to work around
1122         Exuberant Ctags.
1124         * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
1125         versions.
1127         * tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test:
1128         Distribute dejagnu test cases, so that distcheck actually runs them.
1130 2003-04-18  Richard Dawe  <rich@phekda.freeserve.co.uk>
1132         * lib/am/dejagnu.am (site.exp): Don't define tool in site.exp,
1133         because we set that by invoking runtest with --tool.
1134         * tests/Makefile.am (TESTS): Add dejagnu4.test, dejagnu5.test,
1135         dejagnu6.test, dejagnu7.test.
1136         * tests/dejagnu4.test: New test.
1137         * tests/dejagnu5.test: New test.
1138         * tests/dejagnu6.test: New test.
1139         * tests/dejagnu7.test: New test.
1141         * tests/dejagnu3.test: Make sure the DejaGnu test is actually run.
1143 2003-04-18  Jim Meyering  <jim@meyering.net>
1145         * automake.in (variable_output): Fix typo in comment s/is/if/.
1147         * lib/am/yacc.am (?!GENERIC?%OBJ% aka .y.c): Don't redirect
1148         directly to $@.  Instead, redirect to $@t and rename upon success.
1149         Also, move the commands that update $@ so they are last.  Otherwise,
1150         this rule could leave the user with an up to date target (.c file)
1151         but with a missing or corrupted corresponding .h file.
1153 2003-04-17  Richard Dawe  <rich@phekda.freeserve.co.uk>
1155         * tests/defs.in: Handle required=runtest, to detect runtest
1156         from DejaGnu.
1157         * tests/Makefile.am (TESTS): Add dejagnu3.test.
1158         * tests/dejagnu3.test: New test.
1160 2003-04-16  Alexandre Duret-Lutz  <adl@gnu.org>
1162         * automake.in (rule_define): If the user tries to override
1163         an Automake which has a -local variant, suggest using the
1164         -local variant in the -Woverride diagnostic.
1165         (handle_factored_dependencies): Register factored
1166         rules with rule_define, and define them only in undefined
1167         conditions.
1168         * tests/Makefile.am (TESTS): Add override.test.
1169         * tests/overrid.test: New file.
1170         * tests/phony.test: Count the number of .PHONY targets.
1172 2003-04-15  Alexandre Duret-Lutz  <adl@gnu.org>
1174         * lib/am/distdir.am (distuninstallcheck, distcleancheck): Silence
1175         these rules, so that we don't confuse users by echoing
1176         "echo ERROR:" commands which are not run.
1178 2003-03-14  Richard Dawe  <rich@phekda.freeserve.co.uk>
1179             Alexandre Duret-Lutz  <adl@gnu.org>
1181         * automake.in (output_texinfo_build_rules, handle_texinfo_helper,
1182         initialize_per_input):  Add infrastructure for generating HTML
1183         documentation from texinfo source.
1184         * lib/am/texinfos.am: Add rules for building HTML documentation
1185         from texinfo source.
1186         * lib/am/texibuild.am: Likewise.
1187         * automake.texi (Texinfo): Document rules for building
1188         HTML documentation from texinfo source.
1189         * tests/txinfo21.test: New file.
1190         * tests/Makefile.am (TESTS): Add txinfo21.test.
1191         * tests/defs.in: Handle required=makeinfo-html.
1193 2003-04-14  Alexandre Duret-Lutz  <adl@gnu.org>
1195         * automake.in (%silent_variable_override): New variable.
1196         (macro_define): Warn about variable definitions overriding
1197         Automake variables.
1198         (rule_define): Warn about target definitions overriding
1199         Automake variables.  Fix $condmsg definition.
1200         * automake.texi (Invoking Automake): Document the `override'
1201         category.
1202         * lib/Automake/ChannelDefs.pm (usage): Likewise.
1203         * lib/am/texinfos.am [!%?CYGNUS] (MAKEINFO): Do not define,
1204         this is already done in m4/init.m4.
1205         * tests/dejagnu2.test: Run $MAKE, don't only grep.  Use
1206         -Wno-override, and make sure we get a warning without.
1207         * tests/exeext2.test, tests/substtarg.test: Use -Wno-override,
1208         and make sure we get a warning without.
1209         * tests/exeext3.test, tests/java2.test, tests/nolink.test,
1210         tests/subpkg.test, tests/vartest.test: Use -Wno-override.
1211         * tests/txinfo13.test: Use installcheck-local instead of overriding
1212         installcheck.
1213         * tests/txinfo2.test: Run $MAKE on the real Makefile (this test
1214         used to succeed thanks to a failure...)
1215         * tests/location.test: Adjust expected messages.
1216         * tests/Makefile.am (XFAIL_TESTS): Add txinfo5.test.
1218 2003-04-12  Raja R Harinath  <harinath@acm.org>
1220         * lib/Automake/DisjConditions.pm (true): Don't cache answer.
1221         (invert): Update comment.
1222         (_simplify): Remove.
1223         (simplify): Implement using invert().
1224         * lib/Automake/tests/DisjConditions.pl (test_simplify):
1225         Update to reflect changes.
1227 2003-04-12  Alexandre Duret-Lutz  <adl@gnu.org>
1229         * automake.in (scan_autoconf_files): Augment the error message
1230         about AM_INIT_AUTOMAKE not found.
1231         Suggested by Bruno Haible.
1233         * lib/Automake/Version.pm: New file.
1234         * lib/Automake/Makefile.am (dist_perllib_DATA): Add Version.pm.
1235         * lib/Automake/tests/Version.pl: New file.
1236         * lib/Automake/tests/Makefile.am (TESTS): Add Version.pl.
1237         * tests/Makefile.am (TESTS): Remove version5.test.
1238         * tests/version5.test: Delete.  Move the tests to Version.pl.
1239         * automake.in (version_split, version_compare, version_check): Move ...
1240         * lib/Automake/Version.pm (split, compare, check): ... here.
1242 2003-04-11  Alexandre Duret-Lutz  <adl@gnu.org>
1244         * lib/Automake/tests/Condition.pl (test_reduce_and)
1245         (test_reduce_or): Cosmetics.
1246         * lib/Automake/tests/DisjConditions.pl (test_sub_conditions):
1247         Fix a comment.
1248         * lib/Automake/DisjConditions.pm (sub_conditions): Add missing C<...>
1249         in comment.
1250         * tests/yacc8.test, configure.in: Update copyright year.
1252 2003-04-10  Richard Dawe  <rich@phekda.freeserve.co.uk>
1254         * configure.in: Get the build platform name.  Define
1255         MODIFICATION_DELAY as the time to wait after modifying a file,
1256         to cope with timestamp granularity issues, depending
1257         on the platform.
1258         * tests/defs.in: Define `sleep' using MODIFICATION_DELAY.
1260 2003-04-10  Eric Siegerman  <eric_97@pobox.com>  (tiny change)
1262         * automake.texi (Public macros): Clarify that the new
1263         AM_INIT_AUTOMAKE variant is preferred, and the old one
1264         deprecated.  Copy-edit the rest of the AM_INIT_AUTOMAKE item.
1265         (Hello): Caution that the example uses the deprecated
1266         AC_INIT/AM_INIT_AUTOMAKE syntax, and xref to the discussion.
1268 2003-04-10  Alexandre Duret-Lutz  <adl@gnu.org>
1270         Retain all variable definitions until the whole Makefile.am has
1271         been processed, then output all variables in one step, at the top
1272         of Makefile.in.  (Older revisions used to output user variables
1273         before generating Automake targets, and to mix Automake variables
1274         with Automake targets, preventing redefinitions of previously
1275         output variables.)
1277         * automake.in (%var_pretty): New variable.
1278         (VAR_ASIS, VAR_PRETTY): New constants.
1279         (@var_list): Rename as ...
1280         (@var_order): ... this.
1281         (initialize_per_input): Clear %var_pretty.
1282         (handle_variables): New function, extracted from ...
1283         (read_main_am_file): ... here.
1284         (generate_makefile): Call handle_variable after everything else.
1285         (handle_dist): Use define_pretty_variable, not pretty_print.
1286         (pretty_print): Delete.
1287         (macro_define): Augment with $COMMENT and $PRETTY parameters.
1288         Update %var_comment, %var_pretty, and @var_order.  Adjust callers.
1289         (variable_pretty_output): Merge with ...
1290         (variable_output): ... this, and choose the prettiness on a
1291         per-condition basis.
1292         (append_comments): Delete.  This work is now done by macro_define.
1293         (read_am_file, file_contents_internal): Don't call append_comments
1294         nor update @var_list, adjust calls to macro_define.
1295         (handle_subdirs): Don't explicitly output RECURSIVE_TARGETS,
1296         just mark it as VAR_PRETTY.
1297         * tests/exeext.test: Make sure bin_PROGRAMS is output only once.
1298         Report from Jim Meyering.
1300 2003-04-06  Alexandre Duret-Lutz  <adl@gnu.org>
1302         * automake.in (handle_installdirs): Rename as ...
1303         (handle_install): ... this.  Define maybe_BUILT_SOURCES.
1304         (generate_makefile): Adjust call to handle_install.
1305         * lib/am/install.am (install): Use %maybe_BUILT_SOURCES%.
1306         * automake.texi (Sources, Built sources example): BUILT_SOURCES
1307         is honored by `make install' too.
1308         * tests/check3.test: Make sure that `make install' also depends
1309         upon BUILT_SOURCES.
1310         Report from Alexander Turbov.
1312         * lib/am/libs.am (ARFLAGS): Define.
1313         * automake.in (handle_libraries): Use `$(ARFLAGS)' instead of
1314         hard-coding `cru'.
1315         * automake.texi (A Library): Explain how AR, ARFLAGS and RANLIB
1316         are used, and how they can be overridden.
1317         (Program and Library Variables): Adjust to show `$(ARFLAGS)'
1318         instead of `cru'
1319         * tests/ar.test: Rewrite to test for AR, ARFLAGS, and RANLIB.
1320         * tests/ranlib.test: Delete, obsoleted by ar.test.
1321         * tests/Makefile.am (TESTS): Remove ranlib.test.
1322         Report from Paul Thomas.
1324 2003-04-03  Alexandre Duret-Lutz  <adl@gnu.org>
1326         * automake.in (check_trailing_slash): New function (variation on
1327         a patch by Peter Muir).  Diagnose whitespaces following trailing
1328         backslash.
1329         (read_am_file): Use it.
1330         * tests/backsl4.test: New file.
1331         * tests/Makefile.am (TESTS): Add backsl4.test.
1332         Reported by Peter Muir.
1334 2003-03-29  Raja R Harinath  <harinath@acm.org>
1336         Speedup Automake::DisjConditions::invert().
1337         * lib/Automake/Condition.pm (multiply): New.
1338         * lib/Automake/DisjConditions.pm (_multiply): Use it.
1339         (sub_conditions): Likewise.
1341         * lib/Automake/Condition.pm (reduce): Rename to ...
1342         (reduce_and): ... this.
1343         (reduce_or): New.
1344         * lib/Automake/DisjConditions.pm (_multiply): Use reduce_or().
1345         * lib/Automake/tests/Condition.pl (test_reduce): Rename to ...
1346         (test_reduce_and): ... this.
1347         (test_reduce_or): New.
1348         * lib/Automake/tests/DisjConditions.pl
1349         (test_invert): Update to reflect effect of reduce_or().
1350         (test_simplify): Don't skip invert() on larger inputs.
1352 2003-03-29  Raja R Harinath  <harinath@cs.umn.edu>
1354         * tests/yacc8.test: Add a $sleep before modifying Makefile.am so
1355         that timestamp will change.
1357 2003-03-23  Akim Demaille  <akim@epita.fr>
1358             Alexandre Duret-Lutz  <adl@gnu.org>
1360         * lib/am/tags.am (TAGS): Use --etags-include instead of --include,
1361         when supported by etags (Exuberant Ctags).
1362         * tests/tagsub.test: Rewrite to _run_ the `tags' rule.
1364 2003-03-20  Alexandre Duret-Lutz  <adl@gnu.org>
1366         For Debian Bug #185388:
1367         * automake.texi (Extending): Augment the install-exec-hook
1368         discussion with an example how to symlink a versioned binary.
1369         * tests/insthook.test: Rewrite to test the above example.
1370         Report from James R. Van Zandt.
1372 2003-03-19  Alexandre Duret-Lutz  <adl@gnu.org>
1374         * Makefile.am (maintainer-check): Allow `automake:' tokens,
1375         occuring in location.test.  Automake now has 5 legitimate
1376         unsubstituted @strings@.
1378         * tests/aclocal4.test: Require GNU make.
1380 2003-03-14  Alexandre Duret-Lutz  <adl@gnu.org>
1382         * tests/aclocal4.test: New file.  Test for the ACLOCAL_M4 bug below.
1383         * tests/Makefile.am (TESTS): Add aclocal4.test.
1385 2003-03-14  Jim Meyering  <jim@meyering.net>
1387         * automake.in (scan_aclocal_m4): Define ACLOCAL_M4 even in
1388         subdirectories.  Makefile.in depends on that variable.
1390 2003-03-13  Alexandre Duret-Lutz  <adl@gnu.org>
1392         * m4/init.m4: Remove a leftover comment from the pre-1.7 era.
1394         Fix for PR automake/386:
1395         * m4/init.m4: Require Autoconf 2.55.
1396         Reported by Owen Taylor.
1398         * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
1399         (?GENERIC?%EXT%.lo): Use `mv -f' instead of `mv' in FASTDEP mode.
1400         Suggested by Matthias Andree.
1402         * tests/README: Typo.
1404 2003-03-08  Alexandre Duret-Lutz  <adl@gnu.org>
1406         * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
1407         (?GENERIC?%EXT%.lo): Hide the if/then/else machinery for FASTDEP.
1408         Just echo the gcc command.
1409         Suggested by Karl Berry.
1411 2003-03-06  Alexandre Duret-Lutz  <adl@gnu.org>
1413         * lib/am/depend2.am (?GENERIC?%EXT%.lo): Do not use
1414         `test -f foo || echo $(srcdir)/` to emulate a VPATH search when
1415         outputing suffix rules.  This follows 2003-02-25's change.
1416         * lib/am/lex.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
1417         * lib/am/yacc.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
1419 2003-03-05  Alexandre Duret-Lutz  <adl@gnu.org>
1421         * automake.texi (Requirements) <AC_CONFIG_FILES>: Files listed
1422         with AC_CONFIG_FILES are cleaned by `make distclean'.  Don't
1423         pretend otherwise.
1424         Reported by Rafael Laboissiere.
1426 2003-03-04  Andreas Buening  <andreas.buening@nexgo.de>
1428         * lib/mdate-sh: Find out which column of the ls -l output contains
1429         the month. Do not assume it is at least the fifth column.
1431 2003-02-26  Alexandre Duret-Lutz  <adl@gnu.org>
1433         * automake.texi (Emacs Lisp): Mention that `dist_' can be used.
1435         * automake.texi (Emacs Lisp): Instruct people to use lisp_DATA
1436         instead of lisp_LISP when they don't want byte-compilation.
1437         Don't mention ELCFILES anymore.
1438         * automake.in (handle_data): Allow lisp_DATA.
1439         * tests/lisp5.test: New file.
1440         * tests/Makefile.am (TESTS): Add lisp5.test.
1442         * automake.in (handle_emacs_lisp): Don't build *.elc files
1443         if ELCFILES was set empty.
1444         * tests/lisp4.test: New file.
1445         * tests/Makefile.am (TESTS): Add lisp4.test.
1446         Reported by Simon Josefsson.
1448         * tests/lex3.test, tests/lex5.test: Require flex.
1449         Reported by Leo Davis.
1451 2003-02-25  Alexandre Duret-Lutz  <adl@gnu.org>
1453         * lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj): Do not
1454         use the `test -f foo || echo $(srcdir)/` to emulate a VPATH search
1455         when outputing suffix rules.
1456         * lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.dvi)
1457         (?GENERIC?%SOURCE_SUFFIX%.pdf): Likewise.
1458         Suggested by Bruno Haible.
1460         * automake.in (read_am_file): Catch trailing backslashes on last line.
1461         * tests/backsl3.test: New file.
1462         * tests/Makefile.am (TESTS): Add backsl3.test.
1463         Reported by Akim Demaille.
1465 2003-02-24  Alexandre Duret-Lutz  <adl@gnu.org>
1467         * ChangeLog: Move 2002's entries to ...
1468         * ChangeLog.02: ... this new file.
1469         * Makefile.am (EXTRA_DIST): Add ChangeLog.02.
1471 2003-02-24  Richard Dawe  <rich@phekda.freeserve.co.uk>
1473         * tests/version7.test: Use $sleep to sleep before updating
1474         the version, to work around timestamp inconsistencies in Windows.
1476 2003-02-24  Bruno Haible  <bruno@clisp.org>
1477             Alexandre Duret-Lutz  <adl@gnu.org>
1479         * lib/am/texibuild.am: Don't remove the target info files. Instead,
1480         back up and restore them if makeinfo fails.
1481         * tests/txinfo20.test: New file.
1482         * tests/Makefile.am (TESTS): Add txinfo20.test.
1484 2003-02-23  Alexandre Duret-Lutz  <adl@gnu.org>
1486         * automake.texi (FAQ, CVS, maintainer-mode, wildcards)
1487         (distcleancheck): Fix typos and other errors reported by Karl
1488         Berry.
1490 2003-02-20  Alexandre Duret-Lutz  <adl@gnu.org>
1492         * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Use $(...)
1493         instead of ${...}.
1495         * tests/defs.in: Handle required=ro-dir.
1496         * tests/destdir.test: Use this.
1498 2003-02-19  Richard Dawe  <rich@phekda.freeserve.co.uk>
1500         * lib/am/distdir.am (distcheck): Strip any leading DOS drive
1501         from dc_install_base.
1503 2003-02-19  Alexandre Duret-Lutz  <adl@gnu.org>
1505         * lib/am/texinfos.am (install-info-am, uninstall-info-am): Install
1506         DJGPP-style *.iNN info files.
1507         (maintainer-clean-aminfo): Rewrite using the same pattern
1508         as in uninstall-info-am.
1509         * lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Erase
1510         DJGPP-style *.iNN info files before running $(MAKEINFO).
1511         * tests/txinfo19.test: New file.
1512         * tests/Makefile.am (TESTS): Add txinfo19.test.
1514 2003-02-18  Richard Dawe  <rich@phekda.freeserve.co.uk>
1516         * lib/depcomp (dashmstdout): Cope with DOS filenames in
1517         dependencies.
1519 2003-02-17  Alexandre Duret-Lutz  <adl@gnu.org>
1521         * lib/depcomp (makedepend): Don't pass $object to makedepend.
1522         Reported by Stepan Kasal.
1524 2003-02-12  Alexandre Duret-Lutz  <adl@gnu.org>
1526         * tests/defs.in: Handle required=makedepend.
1528         * Makefile.am (maintainer-check): Update the diff check
1529         to account for the recent @SHELL@ substitution.
1531 2003-02-11  Alexandre Duret-Lutz  <adl@gnu.org>
1533         * lib/depcomp: Do not put comments on the `icc)' line.
1535         * lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
1536         versions.
1538         Fix for PR automake/381:
1539         * automake.in (handle_gettext): Do not print diagnostics
1540         about po/ and intl/ missing from SUBDIRS if po/ does not
1541         exist.  Warn if `SUBDIRS = intl' is used although libintl
1542         is 'external'.
1543         * tests/gettext.test: Make sure diagnostics are not output
1544         when po/ does not exist.
1545         * tests/gettext2.test: Test for unwanted intl/.
1546         PR from Alexander Turbov, fix suggested by Bruno Haible.
1548         * m4/depend.m4: Grep depcomp's stderr for icc warnings about
1549         ignored options.
1550         * lib/depcomp (icc): New mode.
1551         * tests/depcomp5.test: New file.
1552         * tests/defs.in: Handle required=icc.
1553         * tests/Makefile.am (TESTS): Add it.
1555         Temporary hack for PR automake/381:
1556         * automake.in (handle_gettext): Turn missing po/ and intl/ errors
1557         into -Wsyntax warnings.
1559 2003-02-10  Richard Dawe  <rich@phekda.freeserve.co.uk>
1561         * Makefile.am: Substitute @SHELL@ in automake.in and aclocal.in.
1562         This makes the setting of SHELL work for DJGPP.
1564 2003-02-10  Alexandre Duret-Lutz  <adl@gnu.org>
1566         For PR automake/385:
1567         * lib/depcomp (makedepend): Strip any libtool call, before
1568         running makedepends.
1569         * tests/depcomp4.test: New file.
1570         * tests/Makefile.am (TESTS): Add it.
1571         Reported by Jeff Squyres.
1573         Related to PR automake/385:
1574         * lib/depcomp (dashmstdout): Do not use `-o /dev/null', or gcc will
1575         write dependencies to /dev/null.  `-o /dev/null' was added
1576         on 2002-06-13 just because I tried to replace `-o foo.o' by something
1577         else and didn't thought about removing it entirely.
1578         * tests/depcomp3.test: New file.
1579         * tests/Makefile.am (TESTS): Add it.
1581         * automake.in (BEGIN): Override $ENV{'SHELL'} with ./configure's
1582         SHELL for DJGPP.
1583         Suggested by Richard Dawe.
1585 2003-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
1587         * automake.texi (FAQ, CVS, maintainer-mode, wildcards)
1588         (distcleancheck): New nodes.
1590 2003-02-06  Alexandre Duret-Lutz  <adl@gnu.org>
1592         * automake.in (scan_autoconf_files): Don't complain that
1593         AM_INIT_AUTOMAKE comes from an old version if it was not found.
1595 2003-02-05  Alexandre Duret-Lutz  <adl@gnu.org>
1597         * automake.in (am_install_var): Simplify filtering of
1598         variable_loc_and_value_as_list_recursive's output.
1600 2003-02-04  Alexandre Duret-Lutz  <adl@gnu.org>
1602         * m4/init.m4 (_AC_AM_CONFIG_HEADER_HOOK): Recompute
1603         indexes of header files so we create stamp files with
1604         the right numbers when config.status is run on some headers.
1605         * tests/stamph2.test: Check for this.
1606         Reported by Sander Niemeijer.
1608 2003-02-02  Alexandre Duret-Lutz  <adl@gnu.org>
1610         * automake.in (vars_scanned): Move near traverse_variable_recursively.
1611         (traverse_variable_recursively,
1612         traverse_variable_recursively_worker): Accept a $COND_FILTER argument
1613         to filter out conditions during recursion.  Don't recurse into
1614         undefined variables.  Don't pass empty results to &FUN_COLLECT.
1615         (value_to_list): Remove, was used by
1616         variable_value_as_list_recursive_worker only.
1617         (variable_value_as_list_recursive_worker): Rewrite using
1618         traverse_variable_recursively.  Remove the $parent argument.
1619         (variable_value_as_list_recursive,
1620         variable_loc_and_value_as_list_recursive): Adjust calls
1621         to variable_value_as_list_recursive_worker.  Don't reset
1622         %vars_scanned.
1623         * tests/cond3.test: Don't expect empty helper variables,
1624         we don't output them anymore.
1625         * tests/cond30.test: Use an undefined variable.
1627         * automake.in (handle_programs): Strip $(EXEEXT) before
1628         calling &check_canonical_spelling.
1629         * tests/exeext.test: Make sure we don't use a
1630         maude3__EXEEXT__OBJECTS variable.
1632 2003-02-02  Jeremy Nimmer  <jwnimmer@alum.mit.edu>  (tiny change)
1634         For Debian Bug #39542:
1635         * automake.texi (Invoking Automake, Optional): Document how
1636         AC_CONFIG_AUX_DIR interacts with missing files.
1638 2003-02-02  Alexandre Duret-Lutz  <adl@gnu.org>
1640         * lib/Automake/DisjConditions.pm (_permutations_worker)
1641         (permutations): Remove, so that people aren't tempted to use it.
1642         * lib/Automake/tests/DisjConditions.pl (tests_permutations): Remove.
1644         * automake.in (variable_conditions_recursive): Remove.
1645         (variable_conditionally_defined): Rewrite using
1646         traverse_variable_recursively.
1648         * automake.in (traverse_variable_recursively,
1649         traverse_variable_recursively_worker): Pass one merged Condition
1650         instead of a stack of conditions to &FUN_STORE and &FUN_COLLECT.
1651         (transform_variable_recursively, define_objects_from_sources)
1652         (handle_lib_objects, variable_conditions_recursive): Adjust usage.
1654 2003-02-01  Alexandre Duret-Lutz  <adl@gnu.org>
1656         * automake.in (handle_lib_objects): Compute _DEPENDENCIES variables
1657         using transform_variable_recursively instead of
1658         variable_conditions_recursive and variable_value_as_list_recursive
1659         to avoid combinatorial explosion.
1660         (handle_lib_objects_cond): Merge into handle_lib_objects.
1661         * tests/cond11.test: Don't grep internal details in Makefile.in,
1662         run $MAKE to make sure the resulting Makefile runs as expected.
1663         * tests/cond29.test: Also exercise conditional _LDADD.
1664         * tests/cond31.test, tests/cond32.test: New files.
1665         * tests/Makefile.am (TESTS): Add tests/cond31.test and
1666         tests/cond32.test.
1668 2003-01-31  Alexandre Duret-Lutz  <adl@gnu.org>
1670         * automake.in (handle_lib_objects_cond): Ignore -dlopen and
1671         -dlpreopen in _LIBADD variables too.
1672         (handle_LIBOBJS, handle_ALLOCA): New functions, extracted from
1673         handle_lib_objects_cond.
1674         * tests/libtool7.test: New file.
1675         * tests/Makefile.am (TESTS): Add libtool7.test.
1677         * automake.texi (Program and Library Variables): Clarify that
1678         _LIBADD is for libraries and _LDADD for programs.
1680         * automake.in (handle_source_transform): Correct typo from 2003-01-23.
1682 2003-01-28  Alexandre Duret-Lutz  <adl@gnu.org>
1684         Fix for PR automake/352:
1685         * automake.in (transform_variable_recursively): If the destination
1686         and the source variables are the same, delete the source variable
1687         before defining the destination variable.
1688         (handle_programs): Strip any $(EXEEXT) suffix from $one_file,
1689         or this will confuse handle_source_transform.
1690         (append_exeext): Rewrite using transform_variable_recursively.
1691         * tests/cond29.test, tests/cond30.test: New files.
1692         * tests/exeext.test: Run ./configure and make, this uncovered
1693         the above handle_programs issue.
1694         * tests/Makefile.am (TESTS): Add cond29.test and cond20.test.
1696         * automake.in (%subobjvar): Replace by ...
1697         (%gen_varname): ... this.
1698         (subobjname): Replace by ...
1699         (gen_varname): ... this.
1700         (initialize_per_input): Clean gen_varname instead of subobjname.
1701         (transform_variable_recursively): New function, extracted
1702         from define_objects_from_sources.
1703         (define_objects_from_sources): Use transform_variable_recursively.
1704         Remove the unused $parent argument.
1705         (handle_source_transform): Adjust call to define_objects_from_sources.
1707 2003-01-23  Alexandre Duret-Lutz  <adl@gnu.org>
1709         * automake.in (@substfroms, @substtos): Move near
1710         traverse_variable_recursively.
1711         (traverse_variable_recursively, traverse_variable_recursively_worker):
1712         New functions, extracted from define_objects_from_sources.
1713         (define_objects_from_sources): Rewrite using
1714         traverse_variable_recursively.
1715         (handle_source_transform): Use variables_conditionally_defined
1716         instead of calling variable_conditions_recursive directly.
1717         Adjust the call to define_objects_from_sources; there is no need
1718         to reset @substtos, @substfroms, and %vars_scanned now.
1719         (variable_conditions_recursive): Rewrite using
1720         traverse_variable_recursively.
1721         (variable_conditions_recursive_sub): Remove.
1722         (variable_conditionally_defined): Fix condition comparison (the
1723         consequence was that DIST_SUBDIRS was always output).
1724         * lib/Automake/Condition.pm (merge): Allow merging several
1725         conditions at once.
1727 2003-01-22  Alexandre Duret-Lutz  <adl@gnu.org>
1729         * automake.texi (Python): Explain that directory variables start
1730         with either ${prefix} or ${exec_prefix}, and point to the
1731         `Installation Directory Variables' section of the Autoconf manual.
1733 2003-01-21  Alexandre Duret-Lutz  <adl@gnu.org>
1735         * lib/am/distdir.am (top_distdir, distdir): Define these
1736         variables only in top level Makefile.  Redefine $(top_distdir)
1737         as $(distdir).
1738         (distdir): Fix passing of $(top_distdir) to sub-makes.
1739         * automake.in (handle_dist): Do not define the DISTDIR and
1740         TOP_DISTDIR transformations.  We don't need them anymore.
1741         * automake.texi (Dist): Reorder the dist-hook section, and move
1742         the DIST_SUBDIRS paragraph earlier.  Document distdir and
1743         top_distdir.
1744         * tests/subpkg.test: Update to check for $(distdir) and
1745         $(top_distdir).
1747 2003-01-19  Alexandre Duret-Lutz  <adl@gnu.org>
1749         Rename more files to accomodate 8+3 file systems, and adjust the
1750         vocabulary at the same time: AM_CONDITIONAL defines "conditionals",
1751         and we call "condition" a conjunction of "conditionals".
1752         * lib/am/Conditional.pm: Rename to lib/am/Condition.pm.
1753         * lib/am/tests/Conditional.pl: Rename to lib/am/tests/Condition.pl.
1754         * lib/am/ConditionalSet.pm: Rename to lib/am/DisjConditions.pm.
1755         * lib/am/tests/ConditionalSet.pl: Rename to
1756         lib/am/tests/DisjConditions.pl
1757         * lib/am/Conditional.pm (condition_negate): Rename to ...
1758         * lib/am/Condition.pm (conditional_negate): ... this.
1759         * automake.in: Adjust references to Condition and DisjConditions.
1760         (check_ambiguous_conditional, conditional_ambiguous_p): Rename to ...
1761         (check_ambiguous_condition, condition_ambiguous_p): ... these.
1763         * tests/README: New file.
1765         * automake.texi (Conditional Programs): Show a sample Makefile.am.
1766         Remind $(EXEEXT) must be appended to configure substitutions.
1767         Show how Automake conditionals can be used instead.
1768         * tests/exeext.test (check_PROGRAMS): Make sure EXEEXT is also
1769         appended to conditionally defined programs.
1771 2003-01-16  Jim Meyering  <jim@meyering.net>
1773         Accept --help and --version, and lots of syntactic clean-up.
1774         * lib/install-sh: Use consistent indentation, two spaces per level.
1775         (scriptversion): New variable.
1776         Change initializations like `variable=""' to `variable='.
1777         (usage): New variable.
1778         Use `test', not `['.
1779         Use `test -z "$var"', not `[ x"$var" = x ]'.
1780         Use `test -n "$var"', not `[ x"$var" != x ]'.
1781         Alphabetize case entries.
1782         Accept --help and --version options.
1783         Remove unnecessary `else :' clauses.
1784         Add a `Local variables' eval block to help emacs users update
1785         the time-stamp variable added above.
1786         Mostly from Karl Berry.
1788 2003-01-16  Alexandre Duret-Lutz  <adl@gnu.org>
1790         * m4/python.m4 (AM_PATH_PYTHON) <_AM_PYTHON_INTERPRETER_LIST>: Add
1791         python2.3.
1793         * m4/python.m4 (AM_PATH_PYTHON): Query distutils for `pythondir'
1794         or `pyexecdir', for the sake of 64-bit distributions that usually
1795         use lib64/ instead of lib/.  Fall back to the default directory
1796         if it doesn't work.
1797         Suggested by Gwenole Beauchesne.
1799 2003-01-14  Alexandre Duret-Lutz  <adl@gnu.org>
1801         For PR automake/382:
1802         * automake.texi (Yacc and Lex): Document `AM_YFLAGS = -d'.
1803         Explain BUILT_SOURCES is usually needed in this case.
1804         Reported by William S Fulton.
1806 2003-01-13  Alexandre Duret-Lutz  <adl@gnu.org>
1808         Rename some files for the sake of 8+3 file systems.
1809         * tests/aclocali.test:     Rename to tests/aclocal.test.
1810         * tests/aclocali1.test:    Rename to tests/aclocal2.test.
1811         * tests/aclocalii.test:    Rename to tests/aclocal3.test.
1812         * tests/acoutput.test:     Rename to tests/acoutpt.test.
1813         * tests/acoutput2.test:    Rename to tests/acoutpt2.test.
1814         * tests/acouttbs.test:     Rename to tests/acoutbs.test.
1815         * tests/acouttbs2.test:    Rename to tests/acoutbs2.test.
1816         * tests/autoheader.test:   Rename to tests/autohdr.test.
1817         * tests/autoheader2.test:  Rename to tests/autohdr2.test.
1818         * tests/condincl.test:     Rename to tests/condinc.test.
1819         * tests/condincl2.test:    Rename to tests/condinc2.test.
1820         * tests/distcommon.test:   Rename to tests/distcom.test.
1821         * tests/distcommon2.test:  Rename to tests/distcom2.test.
1822         * tests/distcommon3.test:  Rename to tests/distcom3.test.
1823         * tests/installsh.test:    Rename to tests/instsh.test.
1824         * tests/installsh2.test:   Rename to tests/instsh2.test.
1825         * tests/instdata.test:     Rename to tests/instdat.test.
1826         * tests/instdata2.test:    Rename to tests/instdat2.test.
1827         * tests/libobj12b.test:    Rename to tests/libobj13.test.
1828         * tests/link_f_c.test:     Rename to tests/link_fc.test.
1829         * tests/link_f_c_cxx.test: Rename to tests/link_fccxx.test.
1830         * tests/link_f_cxx.test:   Rename to tests/link_fcxx.test.
1831         * tests/nodefine.test:     Rename to tests/nodef.test.
1832         * tests/nodefine2.test:    Rename to tests/nodef2.test.
1833         * tests/required.test:     Rename to tests/reqd.test.
1834         * tests/required2.test:    Rename to tests/reqd2.test.
1835         * tests/sourcesub.test:    Rename to tests/srcsub.test.
1836         * tests/sourcesub2.test:   Rename to tests/srcsub2.test.
1837         * tests/specflags.test:    Rename to tests/specflg.test.
1838         * tests/specflags2.test:   Rename to tests/specflg2.test.
1839         * tests/specflags3.test:   Rename to tests/specflg3.test.
1840         * tests/specflags6.test:   Rename to tests/specflg6.test.
1841         * tests/specflags7.test:   Rename to tests/specflg7.test.
1842         * tests/specflags8.test:   Rename to tests/specflg8.test.
1843         * tests/specflags9.test:   Rename to tests/specflg9.test.
1844         * tests/subdircond.test:   Rename to tests/subcond.test.
1845         * tests/subdircond2.test:  Rename to tests/subcond2.test.
1846         * tests/subdircond3.test:  Rename to tests/subcond3.test.
1847         * tests/texinfo.test:      Rename to tests/txinfo.test.
1848         * tests/texinfo2.test:     Rename to tests/txinfo2.test.
1849         * tests/texinfo3.test:     Rename to tests/txinfo3.test.
1850         * tests/texinfo4.test:     Rename to tests/txinfo4.test.
1851         * tests/texinfo5.test:     Rename to tests/txinfo5.test.
1852         * tests/texinfo6.test:     Rename to tests/txinfo6.test.
1853         * tests/texinfo7.test:     Rename to tests/txinfo7.test.
1854         * tests/texinfo8.test:     Rename to tests/txinfo8.test.
1855         * tests/texinfo9.test:     Rename to tests/txinfo9.test.
1856         * tests/texinfo10.test:    Rename to tests/txinfo10.test.
1857         * tests/texinfo13.test:    Rename to tests/txinfo13.test.
1858         * tests/texinfo16.test:    Rename to tests/txinfo16.test.
1859         * tests/texinfo17.test:    Rename to tests/txinfo17.test.
1860         * tests/texinfo18.test:    Rename to tests/txinfo18.test.
1861         * tests/Makefile.am (TESTS): Adjust.
1862         * ChangeLog.1996: Rename to ChangeLog.96.
1863         * ChangeLog.1998: Rename to ChangeLog.98.
1864         * ChangeLog.2000: Rename to ChangeLog.00.
1865         * ChangeLog.2001: Rename to ChangeLog.01.
1866         * Makefile.am (EXTRA_DIST): Adjust.
1867         Reported by Richard Dawe.
1869 2003-01-13  Richard Dawe  <rich@phekda.freeserve.co.uk>  (tiny change)
1871         * lib/am/distdir.am (distcheck): '=' is not valid in DOS filenames.
1872         Use '_build' and '_inst' instead of '=build' and '=inst'.
1873         * tests/man2.test: Reflect change automake: check for files in
1874         '_build' and '_inst' directories instead of '=build' and '=inst'.
1876 2003-01-13  Alexandre Duret-Lutz  <adl@gnu.org>
1878         Use `_dirstamp' when the file-system doesn't support `.dirstamp'.
1879         * m4/lead-dot.m4: New file.
1880         * m4/Makefile.am (dist_m4data_DATA): Add lead-dot.m4
1881         * m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_SET_LEADING_DOT.:
1882         * m4/depend.m4 (AM_SET_DEPDIR): Require AM_SET_LEADING_DOT. Define
1883         DEPDIR using am__leading_dot.
1884         * automake.in (require_build_directory): Define am__dirstamp, a new
1885         variable for the dirstamp basename, based on am__leading_dot.
1886         * tests/subobj6.test: Move all `test -f' into Makefiles, so we can
1887         use $(am__dirstamp).
1888         Reported by Richard Dawe.
1890         * tests/gnits2.test, tests/pr300-prog.test, tests/transform.test:
1891         Move all `test -f' into Makefiles, so we can honor $(EXEEXT) when
1892         testing for programs.
1893         Reported by Richard Dawe.
1895 2003-01-10  Alexandre Duret-Lutz  <adl@gnu.org>
1897         * Makefile.am (maintainer-check): Suggest using $sleep instead of
1898         sleep 2.
1899         * tests/defs.in (sleep): New variable.
1900         * tests/asm.test, tests/confsub.test, tests/lisp3.test,
1901         tests/texinfo16.test, tests/warnopts.test, tests/yaccvpath.test:
1902         Use $sleep instead of sleep 2, to work around timestamp
1903         inconsistencies in Windows.
1904         Reported by Richard Dawe.
1906         * Makefile.am (maintainer-check): Do not require SHELL=/bin/sh
1907         after $MAKE -e.
1908         * tests/ansi3.test, tests/ansi5.test, tests/cond22.test,
1909         tests/man2.test, tests/subobj3.test, tests/suffix8.test,
1910         tests/suffix11.test: Do not set SHELL=/bin/sh after $MAKE -e.
1911         $SHELL is overridden by tests/defs, so it won't hurt even
1912         if $MAKE -e uses the $SHELL envvar.
1913         * tests/ansi.test, tests/insh2.test, tests/texinfo.test,
1914         tests/texinfo8.test: Use SHELL=$SHELL, not SHELL=/bin/sh.
1915         Reported by Richard Dawe.
1917         Build elisp files all at once instead of one by one.
1918         * automake.in (handle_emacs_lisp): Define am__ELFILES.  Add
1919         elc-stamp to all's dependencies.
1920         * lib/am/lisp.am (elc-stamp): New rule, build all *.elc files.
1921         (.el.elc): Rewrite to call elc-stamp if $@ doesn't exist.
1922         (clean-lisp): Clean elc-stamp.
1923         * lib/elisp-comp: Reindent.  Erase the temporatry directory
1924         from a trap.  Propagate Emacs's exit status.
1925         * tests/lisp3.test: New file.
1926         * tests/Makefile.am (TESTS): Add lisp3.test.
1927         Reported by Ryan T. Sammartino.
1929 2003-01-09  Akim Demaille  <akim@epita.fr>
1931         * automake.texi: Prefer $(FOO) to @FOO@ in the documentation.
1933 2003-01-08  Alexandre Duret-Lutz  <adl@gnu.org>
1935         * m4/lispdir.m4: Register EMACS and EMACSLOADPATH as precious
1936         variables.  Suggested by Ryan T. Sammartino.
1938 2003-01-05  Alexandre Duret-Lutz  <adl@gnu.org>
1940         * automake.in (macro_define): Add missing `{$cond}' (typo from
1941         2002-09-18).
1942         ($gen_copyright): Append year 2003.
1943         (version): Increase year.
1945         * tests/defs.in: Substitute aclocaldir instead of running
1946         the installed aclocal.  Otherwise Libtool and Gettext
1947         tests get skipped when aclocal doesn't preexist.
1948         Reported by Imacat.
1949         * tests/listval.test, tests/suffix2.test: Remove pointless -I
1950         argument to aclocal.
1952 -----
1954 Copyright (C) 2003  Free Software Foundation, Inc.
1956 This file is part of GNU Automake.
1958 GNU Automake is free software; you can redistribute it and/or modify
1959 it under the terms of the GNU General Public License as published by
1960 the Free Software Foundation; either version 2, or (at your option)
1961 any later version.
1963 GNU Automake is distributed in the hope that it will be useful,
1964 but WITHOUT ANY WARRANTY; without even the implied warranty of
1965 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1966 GNU General Public License for more details.
1968 You should have received a copy of the GNU General Public License
1969 along with autoconf; see the file COPYING.  If not, write to
1970 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1971 Boston, MA 02111-1307, USA.