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