news: sync with branch-1.11, fix mis-merges
[platform/upstream/automake.git] / NEWS
1 New in 1.11a:
2
3 * WARNING: Future backward-incompatibilities!
4
5   - Starting from the next major Automake version (1.13), the parallel
6     testsuite harness (previously only enabled by the 'parallel-tests'
7     option) will become the default one; the older serial testsuite
8     harness will still be available through the use of the 'serial-tests'
9     option.
10
11   - The following long-obsolete m4 macros will be removed in the
12     next major Automake version (1.13):
13
14       AM_PROG_CC_STDC:    superseded by AC_PROG_CC since October 2002
15       fp_PROG_CC_STDC:    broken alias for AM_PROG_CC_STDC
16       fp_WITH_DMALLOC:    old alias for AM_WITH_DMALLOC
17       AM_CONFIG_HEADER:   superseded by AC_CONFIG_HEADERS since July 2002
18       ud_PATH_LISPDIR:    old alias for AM_PATH_LISPDIR
19       jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE
20       ud_GNU_GETTEXT:     old alias for AM_GNU_GETTEXT
21       gm_PROG_LIBTOOL:    old alias for AC_PROG_LIBTOOL
22       fp_C_PROTOTYPES:    old alias for AM_C_PROTOTYPES (which was part
23                           of the now-removed automatic de-ANSI-fication
24                           support of Automake)
25
26   - All the "old alias" macros in 'm4/obsolete.m4' will be removed in
27     the next major Automake version (1.13).
28
29   - Support for the "Cygnus-style" trees (enabled by the 'cygnus' option)
30     will be deprecated in the next minor version of Automake (1.12.1) and
31     removed in the next major version (1.13).
32
33   - Support for the two- and three-arguments invocation forms of the
34     AM_INIT_AUTOMAKE macro will be deprecated in the next minor version
35     of Automake (1.12.1) and removed in the next major version (1.13).
36
37   - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
38     variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will
39     all be deprecated in the next minor version of Automake (1.12.1)
40     and removed in the next major version (1.13).
41
42   - The '--acdir' option of aclocal is deprecated, and will probably
43     be removed in the next major Automake release (1.13).  You should
44     use the options '--automake-acdir' and '--system-acdir' instead
45     (which have been introduced in Automake 1.11.2).
46
47   - The exact order in which the directories in the aclocal macro
48     search path are looked up is probably going to be changed in the
49     next Automake release (1.13).
50
51 * Obsolete features removed:
52
53   - The never documented nor truly used script 'acinstall' has been
54     removed.
55
56   - Support for automatic de-ANSI-fication has been removed.
57
58   - The support for the "obscure" multilib feature has been removed
59     from Automake core (but remains available in the 'contrib/'
60     directory of the Automake distribution).
61
62   - Support for ".log -> .html" conversion and the check-html and
63     recheck-html targets has been removed from Automake core (but
64     remains available in the 'contrib/' directory of the Automake
65     distribution).
66
67   - The deprecated 'lzma' compression format for distribution archives
68     has been removed, in favor of 'xz' and 'lzip'.
69
70   - The obsolete AM_WITH_REGEX macro has been removed.
71
72   - The long-deprecated options '--output-dir', '--Werror' and
73     '--Wno-error' have been removed.
74
75   - The chapter on the history of Automake has been moved out of the
76     reference manual, into a new dedicated Texinfo file.
77
78 * New targets:
79
80   - New 'cscope' target to build a cscope database for the source tree.
81
82 * Changes to Automake-generated testsuite harnesses:
83
84   - The new automake option 'serial-tests' has been introduced.  It can
85     be used to explicitly instruct automake to use the older serial
86     testsuite harness.  This is still the default at the moment, but it
87     might change in future versions.
88
89   - Test scripts that exit with status 99 to signal an "hard error" (e.g.,
90     and unexpected or internal error, or a failure to set up the test case
91     scenario) have their outcome reported as an 'ERROR' now.  Previous
92     versions of automake reported such an outcome as a 'FAIL' (the only
93     difference with normal failures being that hard errors were counted
94     as failures even when the test originating them was listed in
95     XFAIL_TESTS).
96
97   - The testsuite summary displayed by the parallel-test harness has a
98     completely new format, that always list the numbers of passed, failed,
99     xfailed, xpassed, skipped and errored tests, even when these numbers
100     are zero (but using smart coloring when the color-tests option is in
101     effect).
102
103   - The default testsuite driver offered by the 'parallel-tests' option is
104     now implemented (partly at least) with the help of automake-provided
105     auxiliary scripts (e.g., 'test-driver'), instead of relying entirely
106     on code in the generated Makefile.in.
107     This has two noteworthy implications.  The first one is that projects
108     using the 'parallel-tests' option should now either run automake with
109     the '--add-missing' option, or manually copy the 'test-driver' script
110     into their tree.  The second, and more important, implication is that
111     now, when the 'parallel-tests' option is in use, TESTS_ENVIRONMENT can
112     not be used anymore to define a test runner, and the command specified
113     in LOG_COMPILER (and <ext>_LOG_COMPILER) must be a *real* executable
114     program or script.  For example, this is still a valid usage (albeit
115     a little contorted):
116
117       TESTS_ENVIRONMENT = \
118         if test -n '$(STRICT_TESTS)'; then \
119           maybe_errexit='-e'; \
120         else \
121           maybe_errexit=''; \
122         fi;
123       LOG_COMPILER = $(SHELL) $$maybe_errexit
124
125     while this is not anymore:
126
127       TESTS_ENVIRONMENT = \
128         $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'`
129
130     neither is this:
131
132       TESTS_ENVIRONMENT = \
133         run_with_perl_or_shell () \
134         { \
135           if grep -q '^#!.*perl' $$1; then
136             $(PERL) $$1; \
137           else \
138             $(SHELL) $$1; \
139           fi; \
140         }
141       LOG_COMPILER = run_with_per_or_shell
142
143   - The package authors can now use customary testsuite drivers within
144     the framework provided by the 'parallel-tests' testsuite harness.
145     Consistently with the existing syntax, this can be done by defining
146     special makefile variables 'LOG_DRIVER' and '<ext>_LOG_DRIVER'.
147
148   - A new developer-reserved variable 'AM_TESTS_FD_REDIRECT' can be used
149     to redirect/define file descriptors used by the test scripts.
150
151   - The parallel-tests harness generates now, in addition the '.log' files
152     holding the output produced by the test scripts, a new set of '.trs'
153     files, holding "metadata" derived by the execution of the test scripts;
154     among such metadata are the outcomes of the test cases run by a script.
155
156   - Initial and still experimental support for the TAP test protocol is
157     now provided.
158
159 * Changes to Yacc and Lex support:
160
161   - C source and header files derived from non-distributed Yacc and/or
162     Lex sources are now removed by a simple "make clean" (while they were
163     previously removed only by "make maintainer-clean").
164
165   - Slightly backward-incompatible change, relevant only for use of Yacc
166     with C++: the extensions of the header files produced by the Yacc
167     rules are now modelled after the extension of the corresponding
168     sources.  For example, yacc files named "foo.y++" and "bar.yy" will
169     produce header files named "foo.h++" and "bar.hh" respectively, where
170     they would have previously produced header files named simply "foo.h"
171     and "bar.h".  This change offers better compatibility with 'bison -o'.
172
173 * Miscellaneous changes:
174
175   - Automake now prefers to quote 'like this' or "like this", rather
176     than `like this', in diagnostic message and generated Makefiles,
177     to accommodate the new GNU Coding Standards recommendations.
178
179   - Automake has a new option '--print-libdir' that prints the path of the
180     directory containing the Automake-provided scripts and data files.
181
182   - The 'dist' and 'dist-all' targets now can run compressors in parallel.
183
184   - Automake can now generate silenced rules for texinfo outputs.
185
186   - Some auxiliary files that are automatically distributed by Automake
187     (e.g., 'install-sh', or the 'depcomp' script for packages compiling
188     C sources) might now be listed in the DIST_COMMON variable in many
189     Makefile.in files, rather than in the top-level one.
190
191   - Messages of types warning or error from 'automake' and 'aclocal'
192     are now prefixed with the respective type, and presence of -Werror
193     is noted.
194
195   - Automake's early configure-time sanity check now tries to avoid
196     sleeping for a second, which slowed down cached configure runs
197     noticeably.  In that case, it will check back at the end of the
198     configure script to ensure that at least one second has passed, to
199     avoid time stamp issues with makefile rules rerunning autotools
200     programs.
201
202   - The warnings in the category 'extra-portability' are now enabled by
203     '-Wall'.  In previous versions, one has to use '-Wextra-portability'
204     to enable them.
205
206 Bugs fixed in 1.11a:
207
208   - Various minor bugfixes for recent or long-standing bugs.
209
210 * Bugs introduced by 1.11:
211
212   - The AM_COND_IF macro also works if the shell expression for the
213     conditional is no longer valid for the condition.
214
215   - The automake-provided parallel testsuite harness does not fail anymore
216     with BSD make used in parallel mode when there are test scripts in a
217     subdirectory, like in:
218
219       TESTS = sub/foo.test sub/bar.test
220
221 * Long-standing bugs:
222
223   - Automake's own build system finally have a real "installcheck" target.
224
225   - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are
226     now automatically distributed also if the directory of the auxiliary
227     files coincides with the top-level directory.
228
229   - Automake now detects the presence of the '-d' flag in the various
230     '*YFLAGS' variables even when their definitions involve indirections
231     through other variables, such as in:
232       foo_opts = -d
233       AM_YFLAGS = $(foo_opts)
234
235   - Automake now complains if a '*YFLAGS' variable has any conditional
236     content, not only a conditional definition.
237
238   - Explicit enabling and/or disabling of Automake warning categories
239     through the '-W...' options now always takes precedence over the
240     implicit warning level implied by Automake strictness (foreign, gnu
241     or gnits), regardless of the order in which such strictness and
242     warning flags appear.  For example, a setting like:
243       AUTOMAKE_OPTIONS = -Wall --foreign
244     will cause the warnings in category 'portability' to be enabled, even
245     if those warnings are by default disabled in 'foreign' strictness.
246
247 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
248
249 New in 1.11.4:
250
251 * WARNING: Future backward-incompatibilities!
252
253   - The support for the "obscure" multilib feature has been deprecated,
254     and will be moved out of the automake core in the next major Automake
255     release (1.12).
256
257   - The support for ".log -> .html" conversion and the check-html and
258     recheck-html targets will be removed in the next major Automake
259     release (1.12).
260
261   - The obsolescent AM_WITH_REGEX  macro has been deprecated (since the
262     GNU rx library has been decommissioned), and will be removed in the
263     next major Automake release (1.12).
264
265   - The `lzma' compression format for distribution archives has been
266     deprecated in favor of `xz' and `lzip', and will be removed in the
267     next major Automake release (1.12).
268
269   - The `--acdir' option of aclocal is deprecated, and will probably be
270     removed in the next major Automake release (1.12).
271
272   - The exact order in which the directories in the aclocal macro
273     search path are looked up is probably going to be changed in the
274     next Automake release (1.12).
275
276   - The Automake support for automatic de-ANSI-fication will be removed
277     in the next major Automake release (1.12).
278
279   - Starting from the next Automake release (1.12), warnings in the
280     `extra-portability' category will be enabled by `-Wall' (right now,
281     one has to use `-Wextra-portability' explicitly).
282
283 * Miscellaneous changes:
284
285   - The 'ar-lib' script now ignores the "s" (symbol index) and "S" (no
286     symbol index) modifiers as well as the "s" action, as the symbol index
287     is created unconditionally by Microsoft lib.  Also, the "q" (quick)
288     action is now a synonym for "r" (replace).  Also, the script has been
289     ignoring the "v" (verbose) modifier already since Automake 1.11.3.
290
291   - When the 'compile' script is used to wrap MSVC, it now accepts an
292     optional space between the -I, -L and -l options and their respective
293     arguments, for better POSIX compliance.
294
295   - There is an initial, experimental support for automatic dependency
296     tracking with tcc (the Tiny C Compiler).  Its associated depmode is
297     currently recognized as "icc" (but this and other details are likely
298     to change in future versions).
299
300   - Automatic dependency tracking now works also with the IBM XL C/C++
301     compilers, thanks to the new new depmode 'xlc'.
302
303 Bugs fixed in 1.11.4:
304
305 * Bugs introduced by 1.11.2:
306
307   - A definition of 'noinst_PYTHON' before 'python_PYTHON' (or similar)
308     don't cause spurious failures upon "make install" anymore.
309
310   - The user can now instruct the 'uninstall-info' rule not to update
311     the '${infodir}/dir' file by exporting the environment variable
312     'AM_UPDATE_INFO_DIR' to the value "no".  This is done for consistency
313     with how the 'install-info' rule operates since automake 1.11.2.
314
315 * Long-standing bugs:
316
317   - It is now possible for a foo_SOURCES variable to hold Vala sources
318     together with C header files, as well as with sources and headers for
319     other supported languages (e.g., C++).  Previously, only mixing C and
320     Vala sources was supported.
321
322   - If "aclocal --install" is used, and the first directory specified with
323     '-I' is non-existent, aclocal will now create it before trying to copy
324     files in it.
325
326   - An empty declaration of a "foo_PRIMARY" don't cause anymore the
327     generated install rules to create an empty $(foodir) directory;
328     for example, if Makefile.am contains something like:
329
330       pkglibexec_SCRIPTS =
331       if FALSE
332       pkglibexec_SCRIPTS += bar.sh
333       endif
334
335     the $(pkglibexec) directory will not be created upon "make install".
336
337 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
338
339 New in 1.11.3:
340
341 * Miscellaneous changes:
342
343   - Automake's own build system is more silent by default, making use of
344     the 'silent-rules' option.
345
346   - The master copy of the `gnupload' script is now maintained in gnulib,
347     not in automake.
348
349   - The `missing' script doesn't try to wrap calls to `tar' anymore.
350
351   - "make dist" doesn't wrap `tar' invocations with the `missing' script
352     anymore.  Similarly, the obsolescent variable `$(AMTAR)' (which you
353     shouldn't be using BTW ;-) does not invoke the missing script anymore
354     to wrap tar, but simply invokes the `tar' program itself.
355
356   - "make dist" can now create lzip-compressed tarballs.
357
358   - In the Automake info documentation, the Top node and the nodes about
359     the invocation of the automake and aclocal programs have been renamed;
360     now, calling "info automake" will open the Top node, while calling
361     "info automake-invocation" and "info aclocal-invocation" will access
362     the nodes about the invocation of respectively automake and aclocal.
363
364   - Automake is now distributed as a gzip-compressed and an xz-compressed
365     tarball.  Previously, bzip2 was used instead of xz.
366
367   - The last relics of Python 1.5 support have been removed from the
368     AM_PATH_PYTHON macro.
369
370   - For programs and libraries, automake now detects EXTRA_foo_DEPENDENCIES
371     and adds them to the normal list of dependencies, but without
372     overwriting the foo_DEPENDENCIES variable, which is normally computed
373     by automake.
374
375 Bugs fixed in 1.11.3:
376
377 * Bugs introduced by 1.11.2:
378
379   - Automake now correctly recognizes the prefix/primary combination
380    `pkglibexec_SCRIPTS' as valid.
381
382   - The parallel-tests harness doesn't trip anymore on sed implementations
383     with stricter limits on the length of input lines (problem seen at
384     least on Solaris 8).
385
386 * Long-standing bugs:
387
388   - The "deleted header file problem" for *.am files is avoided by stub
389     rules.  This allows `make' to trigger a rerun of `automake' also if
390     some previously needed `.am' file has been removed.
391
392   - The `silent-rules' option now generates working makefiles even
393     for the uncommon `make' implementations that do not support the
394     nested-variables extension to POSIX 2008.  For such `make'
395     implementations, whether a build is silent is determined at
396     configure time, and cannot be overridden at make time with
397     `make V=0' or `make V=1'.
398
399   - Vala support now works better in VPATH setups.
400
401 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
402
403 New in 1.11.2:
404
405 * Changes to aclocal:
406
407   - The `--acdir' option is deprecated.  Now you should use the new options
408     `--automake-acdir' and `--system-acdir' instead.
409
410   - The `ACLOCAL_PATH' environment variable is now interpreted as a
411     colon-separated list of additional directories to search after the
412     automake internal acdir (by default ${prefix}/share/aclocal-APIVERSION)
413     and before the system acdir (by default ${prefix}/share/aclocal).
414
415 * Miscellaneous changes:
416
417   - The Automake support for automatic de-ANSI-fication has been
418     deprecated.  It will probably be removed in the next major Automake
419     release (1.12).
420
421   - The `lzma' compression scheme and associated automake option `dist-lzma'
422     is obsoleted by `xz' and `dist-xz' due to upstream changes.
423
424   - You may adjust the compression options used in dist-xz and dist-bzip2.
425     The default is now merely -e for xz, but still -9 for bzip;  you may
426     specify a different level via the XZ_OPT and BZIP2 envvars respectively.
427     E.g., "make dist-xz XZ_OPT=-7" or "make dist-bzip2 BZIP2=-5"
428
429   - The `compile' script now converts some options for MSVC for a better
430     user experience.  Similarly, the new `ar-lib' script wraps Microsoft lib.
431
432   - The py-compile script now accepts empty arguments passed to the options
433     `--destdir' and `--basedir', and complains about unrecognized options.
434     Moreover, a non-option argument or a special `--' argument terminates
435     the list of options.
436
437   - A developer that needs to pass specific flags to configure at "make
438     distcheck" time can now, and indeed is advised to, do so by defining
439     the developer-reserved makefile variable AM_DISTCHECK_CONFIGURE_FLAGS,
440     instead of the old DISTCHECK_CONFIGURE_FLAGS.
441     The DISTCHECK_CONFIGURE_FLAGS variable should now be reserved for the
442     user; still, the old Makefile.am files that used to define it will
443     still continue to work as before.
444
445   - New macro AM_PROG_AR that looks for an archiver and wraps it in the new
446     'ar-lib' auxiliary script if the selected archiver is Microsoft lib.
447     This new macro is required for LIBRARIES and LTLIBRARIES when automake
448     is run with -Wextra-portability and -Werror.
449
450   - When using DejaGnu-based testsuites, the user can extend the `site.exp'
451     file generated by automake-provided rules by defining the special make
452     variable `$(EXTRA_DEJAGNU_SITE_CONFIG)'.
453
454   - The `install-info' rule can now be instructed not to create/update
455     the `${infodir}/dir' file, by exporting the new environment variable
456     `AM_UPDATE_INFO_DIR' to the value "no".
457
458 Bugs fixed in 1.11.2:
459
460 * Bugs introduced by 1.11:
461
462   - The parallel-tests driver no longer produces erroneous results with
463     Tru64/OSF 5.1 sh upon unreadable log files.
464
465   - The `parallel-tests' test driver does not report spurious successes
466     when used with concurrent FreeBSD make (e.g., "make check -j3").
467
468   - When the parallel-tests driver is in use, automake now explicitly
469     rejects invalid entries and conditional contents in TEST_EXTENSIONS,
470     instead of issuing confusing and apparently unrelated error messages
471     (e.g., "non-POSIX variable name", "bad characters in variable name",
472     or "redefinition of TEST_EXTENSIONS), or even, in some situations,
473     silently producing broken `Makefile.in' files.
474
475   - The `silent-rules' option now truly silences all compile rules, even
476     when dependency tracking is disabled.  Also, when `silent-rules' is
477     not used, `make' output no longer contains spurious backslash-only
478     lines, thus once again matching what Automake did before 1.11.
479
480   - The AM_COND_IF macro also works if the shell expression for the
481     conditional is no longer valid for the condition.
482
483 * Long-standing bugs:
484
485   - The order of Yacc and Lex flags is fixed to be consistent with other
486     languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before
487     $(LFLAGS), so that the user variables override the developer variables.
488
489   - "make distcheck" now correctly complains also when "make uninstall"
490     leaves one and only one file installed in $(prefix).
491
492   - A "make uninstall" issued before a "make install", or after a mere
493     "make install-data" or a mere "make install-exec" does not spuriously
494     fail anymore.
495
496   - Automake now warns about more primary/directory invalid combinations,
497     such as "doc_LIBRARIES" or "pkglib_PROGRAMS".
498
499   - Rules generated by Automake now try harder to not change any files when
500     `make -n' is invoked.  Fixes include compilation of Emacs Lisp, Vala, or
501     Yacc source files and the rule to update config.h.
502
503   - Several scripts and the parallel-tests testsuite driver now exit with
504     the right exit status upon receiving a signal.
505
506   - A per-Makefile.am setting of -Werror does not erroneously carry over
507     to the handling of other Makefile.am files.
508
509   - The code for automatic dependency tracking works around a Solaris
510     make bug triggered by sources containing repeated slashes when the
511     `subdir-objects' option was used.
512
513   - The makedepend and hp depmodes now work better with VPATH builds.
514
515   - Java sources specified with check_JAVA are no longer compiled for
516     "make all", but only for "make check".
517
518   - An usage like "java_JAVA = foo.java" will now cause Automake to warn
519     and error out if `javadir' is undefined, instead of silently producing
520     a broken Makefile.in.
521
522   - aclocal and automake now honour the configure-time definitions of
523     AUTOCONF and AUTOM4TE when they spawn autoconf or autom4te processes.
524
525   - The `install-info' recipe no longer tries to guess whether the
526     `install-info' program is from Debian or from GNU, and adaptively
527     change its behaviour; this has proven to be frail and easy to
528     regress.
529
530 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
531
532 Bugs fixed in 1.11.1:
533
534   - Lots of minor bugfixes.
535
536 * Bugs introduced by 1.11:
537
538   - The `parallel-tests' test driver works around a GNU make 3.80 bug with
539     trailing white space in the test list (`TESTS = foo $(EMPTY)').
540
541 * Long standing bugs:
542
543   - On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
544     even if the `--prefix' argument pointed outside of a system directory.
545     AM_PATH_PYTHON has been fixed to ignore the value returned from python's
546     `get_python_lib' function if it points outside the configured prefix,
547     unless the `--prefix' argument was either `/usr' or below `/System'.
548
549   - The testsuite does not try to change the mode of `ltmain.sh' files from
550     a Libtool installation (symlinked to test directories) any more.
551
552   - AM_PROG_GCJ uses AC_CHECK_TOOLS to look for `gcj' now, so that prefixed
553     tools are preferred in a cross-compile setup.
554
555   - The distribution is tarred up with mode 755 now by the `dist*' targets.
556     This fixes a race condition where untrusted users could modify files
557     in the $(PACKAGE)-$(VERSION) distdir before packing if the toplevel
558     build directory was world-searchable.  This is CVE-2009-4029.
559
560 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
561
562 New in 1.11:
563
564 * Version requirements:
565
566   - Autoconf 2.62 or greater is required.
567
568 * Changes to aclocal:
569
570   - The autoconf version check implemented by aclocal in aclocal.m4
571     (and new in Automake 1.10) is degraded to a warning.  This helps
572     in the common case where the Autoconf versions used are compatible.
573
574 * Changes to automake:
575
576   - The automake program can run multiple threads for creating most
577     Makefile.in files concurrently, if at least Perl 5.7.2 is available
578     with interpreter-based threads enabled.  Set the environment variable
579     AUTOMAKE_JOBS to the maximum number of threads to use, in order to
580     enable this experimental feature.
581
582 * Changes to Libtool support:
583
584   - Libtool generic flags are now passed to the install and uninstall
585     modes as well.
586
587   - distcheck works with Libtool 2.x even when LT_OUTPUT is used, as
588     config.lt is removed correctly now.
589
590 * Languages changes:
591
592   - subdir-object mode works now with Fortran (F77, FC, preprocessed
593     Fortran, and Ratfor).
594
595   - For files with extension .f90, .f95, .f03, or .f08, the flag
596     $(FCFLAGS_f[09]x) computed by AC_FC_SRCEXT is now used in compile rules.
597
598   - Files with extension .sx are also treated as preprocessed assembler.
599
600   - The default source file extension (.c) can be overridden with
601     AM_DEFAULT_SOURCE_EXT now.
602
603   - Python 3.0 is supported now, Python releases prior to 2.0 are no
604     longer supported.
605
606   - AM_PATH_PYTHON honors python's idea about the site directory.
607
608   - There is initial support for the Vala programming language, when using
609     Vala 0.7.0 or later.
610
611 * Miscellaneous changes:
612
613   - Automake development is done in a git repository on Savannah now, see
614
615       http://git.sv.gnu.org/gitweb/?p=automake.git
616
617     A read-only CVS mirror is provided at
618
619       cvs -d :pserver:anonymous@pserver.git.sv.gnu.org:/automake.git \
620           checkout -d automake HEAD
621
622   - "make dist" can now create xz-compressed tarballs,
623     as well as (deprecated?) lzma-compressed tarballs.
624
625   - `automake --add-missing' will by default install the GPLv3 file as
626     COPYING if it is missing.  It will also warn that the license file
627     should be added to source control.  Note that Automake will never
628     overwrite an existing COPYING file, even when the `--force-missing'
629     option is used.
630
631   - The manual is now distributed under the terms of the GNU FDL 1.3.
632
633   - Automake ships and installs man pages for automake and aclocal now.
634
635   - New shorthand `$(pkglibexecdir)' for `$(libexecdir)/@PACKAGE@'.
636
637   - install-sh supports -C, which does not update the installed file
638     (and its time stamps) if the contents did not change.
639
640   - The `gnupload' script has been revamped.
641
642   - The `depcomp' and `compile' scripts now work with MSVC under MSYS.
643
644   - The targets `install' and `uninstall' are more efficient now, in that
645     for example multiple files from one Automake variable such as
646     `bin_SCRIPTS' are copied in one `install' (or `libtool --mode=install')
647     invocation if they do not have to be renamed.
648
649     Both install and uninstall may sometimes enter (`cd' into) the target
650     installation directory now, when no build-local scripts are used.
651
652     Both install and uninstall do not fail anymore but do nothing if an
653     installation directory variable like `bindir' is set to the empty string.
654
655     For built-in rules, `make install' now fails reliably if installation
656     of a file failed.  Conversely, `make uninstall' even succeeds when
657     issued multiple times.
658
659     These changes may need some adjustments from users:  For example,
660     some `install' programs refuse to install multiple copies of the
661     same file in one invocation, so you may need to remove duplicate
662     entries from file lists.
663
664     Also, within one set of files, say, nobase_data_DATA, the order of
665     installation may be changed, or even unstable among different hosts,
666     due to the use of associative arrays in awk.  The increased use of
667     awk matches a similar move in Autoconf to provide for better scaling.
668
669     Further, most undocumented per-rule install command variables such as
670     binSCRIPT_INSTALL have been removed because they are not needed any
671     more.  Packages which use them should be using the appropriate one of
672     INSTALL_{DATA,PROGRAM,SCRIPT} or their install_sh_{DATA,PROGRAM,SCRIPT}
673     counterpart, depending on the type of files and the need for automatic
674     target directory creation.
675
676   - The "deleted header file problem" for *.m4 files is avoided by
677     stub rules.  This allows `make' to trigger a rerun of `aclocal'
678     also if some previously needed macro file has been removed.
679
680   - Rebuild rules now also work for a removed `subdir/Makefile.in' in
681     an otherwise up to date tree.
682
683   - The `color-tests' option causes colored test result output on terminals.
684
685   - The `parallel-tests' option enables a new test driver that allows for
686     parallel test execution, inter-test dependencies, lazy test execution
687     for unit-testing, re-testing only failed tests, and formatted result output
688     as RST (reStructuredText) and HTML.  Enabling this option may require some
689     changes to your test suite setup; see the manual for details.
690
691   - The `silent-rules' option enables Linux kernel-style silent build output.
692     This option requires the widely supported but non-POSIX `make' feature
693     of recursive variable expansion, so do not use it if your package needs
694     to build with `make' implementations that do not support it.
695
696     To enable less verbose build output, the developer has to use the Automake
697     option `silent-rules' in `AM_INIT_AUTOMAKE', or call the `AM_SILENT_RULES'
698     macro.  The user may then set the default verbosity by passing the
699     `--enable-silent-rules' option to `configure'.  At `make' run time, this
700     default may be overridden using `make V=0' for less verbose, and `make V=1'
701     for backward-compatible verbose output.
702
703   - New prefix `notrans_' for manpages which should not be transformed
704     by --program-transform.
705
706   - New macro AM_COND_IF for conditional evaluation and conditional
707     config files.
708
709   - For AC_CONFIG_LINKS, if source and destination are equal, do not
710     remove the file in a non-VPATH build.  Such setups work with Autoconf
711     2.62 or newer.
712
713   - AM_MAINTAINER_MODE now allows for an optional argument specifying
714     the default setting.
715
716   - AM_SUBST_NOTMAKE may prevent substitution of AC_SUBSTed variables,
717     useful especially for multi-line values.
718
719   - Automake's early configure-time sanity check now diagnoses an
720     unsafe absolute source directory name and makes configure fail.
721
722   - The Automake macros and rules cope better with whitespace in the
723     current directory name, as long as the relative path to `configure'
724     does not contain whitespace.  To this end, the values of `$(MISSING)'
725     and `$(install_sh)' may contain suitable quoting, and their expansion
726     might need `eval'uation if used outside of a makefile.  These
727     undocumented variables may be used in several documented macros such
728     as $(AUTOCONF) or $(MAKEINFO).
729
730 Bugs fixed in 1.11:
731
732 * Long-standing bugs:
733
734   - Fix aix dependency tracking for libtool objects.
735
736   - Work around AIX sh quoting issue in AC_PROG_CC_C_O, leading to
737     unnecessary use of the `compile' script.
738
739   - For nobase_*_LTLIBRARIES with nonempty directory components, the
740     correct `-rpath' argument is used now.
741
742   - `config.status --file=Makefile depfiles' now also works with the
743     extra quoting used internally by Autoconf 2.62 and newer
744     (it used to work only without the `--file=' bit).
745
746   - The `missing' script works better with versioned tool names.
747
748   - Semantics for `missing help2man' have been revamped:
749
750     Previously, if `help2man' was not present, `missing help2man' would have
751     the following semantics: if some man page was out of date but present, then
752     a warning would be printed, but the exit status was 0.  If the man page was
753     not present at all, then `missing' would create a replacement man page
754     containing an error message, and exit with a status of 2.  This does not play
755     well with `make': the next run will see this particular man page as being up
756     to date, and will only error out on the next generated man page, if any;
757     repeat until all pages are done.  This was not desirable.
758
759     These are the new semantics: if some man page is not present, and help2man
760     is not either, then `missing' will warn and generate the replacement page
761     containing the error message, but exit successfully.  However, `make dist'
762     will ensure that no such bogus man pages are packaged into a tarball.
763
764   - Targets provided by automake behave better with `make -n', in that they
765     take care not to create files.
766
767   - `config.status Makefile... depfiles' works fine again in the presence of
768     disabled dependency tracking.
769
770   - The default no-op recursive rules for these targets also work with BSD make
771     now: html, install-html, install-dvi, install-pdf, install-pdf, install-info.
772
773   - `make distcheck' works also when both a directory and some file below it
774     have been added to a distribution variable, such as EXTRA_DIST or *_SOURCES.
775
776   - Texinfo dvi, ps, pdf, and html output files are not removed upon
777     `make mostlyclean' any more; only the LaTeX by-products are.
778
779   - Renamed objects also work with the `subdir-objects' option and
780     source file languages which Automake does not know itself.
781
782   - `automake' now correctly complains about variable assignments which are
783     preceded by a comment, extend over multiple lines with backslash-escaped
784     newlines, and end in a comment sign.  Previous versions would silently
785     and wrongly ignore such assignments completely.
786
787 * Bugs introduced by 1.10:
788
789   - Fix output of dummy dependency files in presence of post-processed
790     Makefile.in's again, but also cope with long lines.
791
792   - $(EXEEXT) is automatically appended to filenames of XFAIL_TESTS
793     that have been declared as programs in the same Makefile.
794     This is for consistency with the analogous change to TESTS in 1.10.
795
796   - Fix order of standard includes to again be `-I. -I$(srcdir)',
797     followed by directories containing config headers.
798
799 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
800
801 New in 1.10:
802
803 * Version requirements:
804
805   - Autoconf 2.60 or greater is required.
806
807   - Perl 5.6 or greater is required.
808
809 * Changes to aclocal:
810
811   - aclocal now also supports -Wmumble and -Wno-mumble options.
812
813   - `dirlist' entries (for the aclocal search path) may use shell
814     wildcards such as `*', `?', or `[...]'.
815
816   - aclocal supports an --install option that will cause system-wide
817     third-party macros to be installed in the local directory
818     specified with the first -I flag.  This option also uses #serial
819     lines in M4 files to upgrade local macros.
820
821     The new aclocal options --dry-run and --diff help to review changes
822     before they are installed.
823
824   - aclocal now outputs an autoconf version check in aclocal.m4 in
825     projects using automake.
826
827     For a few years, automake and aclocal have been calling autoconf
828     (or its underlying engine autom4te) to accurately retrieve the
829     data they need from configure.ac and its siblings.  Doing so can
830     only work if all autotools use the same version of autoconf.  For
831     instance a Makefile.in generated by automake for one version of
832     autoconf may stop working if configure is regenerated with another
833     version of autoconf, and vice versa.
834
835     This new version check ensures that the whole build system has
836     been generated using the same autoconf version.
837
838 * Support for new Autoconf macros:
839
840   - The new AC_REQUIRE_AUX_FILE Autoconf macro is supported.
841
842   - If `subdir-objects' is set, and AC_CONFIG_LIBOBJ_DIR is specified,
843     $(LIBOBJS), $(LTLIBOBJS), $(ALLOCA), and $(LTALLOCA) can be used
844     in different directories.  However, only one instance of such a
845     library objects directory is supported.
846
847 * Change to Libtool support:
848
849   - Libtool generic flags (those that go before the --mode=MODE option)
850     can be specified using AM_LIBTOOLFLAGS and target_LIBTOOLFLAGS.
851
852 * Yacc and Lex changes:
853
854   - The rebuild rules for distributed Yacc and Lex output will avoid
855     overwriting existing files if AM_MAINTAINER_MODE and maintainer-mode
856     is not enabled.
857
858   - ylwrap is now always used for lex and yacc source files,
859     regardless of whether there is more than one source per directory.
860
861 * Languages changes:
862
863   - Preprocessed assembler (*.S) compilation now honors CPPFLAGS,
864     AM_CPPFLAGS and per-target _CPPFLAGS, and supports dependency
865     tracking, unlike non-preprocessed assembler (*.s).
866
867   - subdir-object mode works now with Assembler.  Automake assumes
868     that the compiler understands `-c -o'.
869
870   - Preprocessed assembler (*.S) compilation now also honors
871     $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES).
872
873   - Improved support for Objective C:
874     - Autoconf's new AC_PROG_OBJC will enable automatic dependency tracking.
875     - A new section of the manual documents the support.
876
877   - New support for Unified Parallel C:
878     - AM_PROG_UPC looks for a UPC compiler.
879     - A new section of the manual documents the support.
880
881   - Per-target flags are now correctly handled in link rules.
882
883     For instance maude_CFLAGS correctly overrides AM_CFLAGS; likewise
884     for maude_LDFLAGS and AM_LDFLAGS.  Previous versions bogusly
885     preferred AM_CFLAGS over maude_CFLAGS while linking, and they
886     used both AM_LDFLAGS and maude_LDFLAGS on the same link command.
887
888     The fix for compiler flags (i.e., using maude_CFLAGS instead of
889     AM_CFLAGS) should not hurt any package since that is how _CFLAGS
890     is expected to work (and actually works during compilation).
891
892     However using maude_LDFLAGS "instead of" AM_LDFLAGS rather than
893     "in addition to" breaks backward compatibility with older versions.
894     If your package used both variables, as in
895
896       AM_LDFLAGS = common flags
897       bin_PROGRAMS = a b c
898       a_LDFLAGS = more flags
899       ...
900
901     and assumed *_LDFLAGS would sum up, you should rewrite it as
902
903       AM_LDFLAGS = common flags
904       bin_PROGRAMS = a b c
905       a_LDFLAGS = $(AM_LDFLAGS) more flags
906       ...
907
908     This new behavior of *_LDFLAGS is more coherent with other
909     per-target variables, and the way *_LDFLAGS variables were
910     considered internally.
911
912 * New installation targets:
913
914   - New targets mandated by GNU Coding Standards:
915       install-dvi
916       install-html
917       install-ps
918       install-pdf
919     By default they will only install Texinfo manuals.
920     You can customize them with *-local variants:
921       install-dvi-local
922       install-html-local
923       install-ps-local
924       install-pdf-local
925
926   - The undocumented recursive target `uninstall-info' no longer exists.
927     (`uninstall' is in charge of removing all possible documentation
928     flavors, including optional formats such as dvi, ps, or info even
929     when `no-installinfo' is used.)
930
931 * Miscellaneous changes:
932
933   - Automake no longer complains if input files for AC_CONFIG_FILES
934     are specified using shell variables.
935
936   - clean, distribution, or rebuild rules are normally disabled for
937     inputs and outputs of AC_CONFIG_FILES, AC_CONFIG_HEADERS, and
938     AC_CONFIG_LINK specified using shell variables.  However, if these
939     variables are used as ${VAR}, and AC_SUBSTed, then Automake will
940     be able to output rules anyway.
941     (See the Automake documentation for AC_CONFIG_FILES.)
942
943   - $(EXEEXT) is automatically appended to filenames of TESTS
944     that have been declared as programs in the same Makefile.
945     This is mostly useful when some check_PROGRAMS are listed in TESTS.
946
947   - `-Wportability' has finally been turned on by default for `gnu' and
948     `gnits' strictness.  This means, automake will complain about %-rules
949     or $(GNU Make functions) unless you switch to `foreign' strictness or
950     use `-Wno-portability'.
951
952   - Automake now uses AC_PROG_MKDIR_P (new in Autoconf 2.60), and uses
953     $(MKDIR_P) instead of $(mkdir_p) to create directories.  The
954     $(mkdir_p) variable is still defined (to the same value as
955     $(MKDIR_P)) but should be considered obsolete.  If you are using
956     $(mkdir_p) in some of your rules, please plan to update them to
957     $(MKDIR_P) at some point.
958
959   - AM_C_PROTOTYPES and ansi2knr are now documented as being obsolete.
960     They still work in this release, but may be withdrawn in a future one.
961
962   - Inline compilation rules for gcc3-style dependency tracking are
963     more readable.
964
965   - Automake installs a "Hello World!" example package in $(docdir).
966     This example is used throughout the new "Autotools Introduction"
967     chapter of the manual.
968
969 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
970
971 New in 1.9:
972
973 * Makefile.in bloat reduction:
974
975   - Inference rules are used to compile sources in subdirectories when
976     the `subdir-objects' option is used and no per-target flags are
977     used.  This should reduce the size of some projects a lot, because
978     Automake used to output an explicit rule for each such object in
979     the past.
980
981   - Automake no longer outputs three rules (.o, .obj, .lo) for each
982     object that must be built with explicit rules.  It just outputs
983     the rules required to build the kind of object considered: either
984     the two .o and .obj rules for usual objects, or the .lo rule for
985     libtool objects.
986
987 * Change to Libtool support:
988
989   - Libtool tags are used with libtool versions that support them.
990     (I.e., with Libtool 1.5 or greater.)
991
992   - Automake is now able to handle setups where a libtool library is
993     conditionally installed in different directories, as in
994
995       if COND
996         lib_LTLIBRARIES = liba.la
997       else
998         pkglib_LTLIBRARIES = liba.la
999       endif
1000       liba_la_SOURCES = ...
1001
1002 * Changes to aclocal:
1003
1004   - aclocal now ensures that AC_DEFUNs and AU_DEFUNs it discovers are
1005     really evaluated, before it decides to include them in aclocal.m4.
1006     This solves nasty problems with conditional redefinitions of
1007     Autoconf macros in /usr/share/aclocal/*.m4 files causing extraneous
1008     *.m4 files to be included in any project using these macros.
1009     (Calls to AC_PROG_EGREP causing libtool.m4 to be included is the
1010     most famous instance of this bug.)
1011
1012   - Do not complain about missing conditionally AC_REQUIREd macros
1013     that are not actually used.  In 1.8.x aclocal would correctly
1014     determine which of these macros were really needed (and include
1015     only these in the package); unfortunately it would also require
1016     all of them to be present in order to run.  This created
1017     situations were aclocal would not work on a tarball distributing
1018     all the macros it uses.  For instance running aclocal on a project
1019     containing only the subset of the Gettext macros in use by the
1020     project did not work, because gettext conditionally requires other
1021     macros.
1022
1023 * Portability improvements:
1024
1025   - Tar format can be chosen with the new options tar-v7, tar-ustar, and
1026     tar-pax.  The new option filename-length-max=99 helps diagnosing
1027     filenames that are too long for tar-v7.  (PR/414)
1028
1029   - Variables aumented with `+=' are now automatically flattened (i.e.,
1030     trailing backslashes removed) and then wrapped around 80 colummns
1031     (adding trailing backslashes).  In previous versions, a long series
1032     of
1033       VAR += value1
1034       VAR += value2
1035       VAR += value3
1036       ...
1037     would result in a single-line definition of VAR that could possibly
1038     exceed the maximum line length of some make implementations.
1039
1040     Non-augmented variables are still output as they are defined in
1041     the Makefile.am.
1042
1043 * Miscellaneous:
1044
1045   - Support Fortran 90/95 with the new "fc" and "ppfc" languages.
1046     Works the same as the old Fortran 77 implementation; just replace
1047     F77 with FC everywhere (exception: FFLAGS becomes FCFLAGS).
1048     Requires a version of autoconf which provides AC_PROG_FC (>=2.59).
1049
1050   - Support for conditional _LISP.
1051
1052   - Support for conditional -hook and -local rules (PR/428).
1053
1054   - Diagnose AC_CONFIG_AUX_DIR calls following AM_INIT_AUTOMAKE. (PR/49)
1055
1056   - Automake will not write any Makefile.ins after the first error it
1057     encounters.  The previous Makefile.ins (if any) will be left in
1058     place.  (Warnings will not prevent output, but remember they can
1059     be turned into errors with -Werror.)
1060
1061   - The restriction that SUBDIRS must contain direct children is gone.
1062     Do not abuse.
1063
1064   - The manual tells more about SUBDIRS vs. DIST_SUBDIRS.
1065     It also gives an example of nested packages using AC_CONFIG_SUBDIRS.
1066
1067 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1068
1069 Bugs fixed in 1.8.5:
1070
1071 * Long-standing bugs:
1072
1073   - Define DIST_SUBDIRS even when the `no-dist' or `cygnus' options are used
1074     so that `make distclean' and `make maintainer-clean' can work.
1075
1076   - Define AR and ARFLAGS even when only EXTRA_LIBRARIES are defined.
1077
1078   - Fix many rules to please FreeBSD make, which runs commands with `sh -e'.
1079
1080   - Polish diagnostic when no input file is found.
1081
1082 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1083
1084 Bugs fixed in 1.8.4:
1085
1086 * Long-standing bugs:
1087
1088   - Fix AM_PATH_PYTHON to correctly display $PYTHON when it has been
1089     overridden by the user.
1090
1091   - Honor PATH_SEPARATOR in various places of the Automake package, for
1092     the sake of OS/2.
1093
1094   - Adjust dependency tracking mode detection to ICC 8.0's new output.
1095     (PR/416)
1096
1097   - Fix install-sh so it can install the `mv' binary... using `mv'.
1098
1099   - Fix tru64 dependency tracking for libtool objects.
1100
1101   - Work around Exuberant Ctags when creating a TAGS files in a directory
1102     without files to scan but with subdirectories to include.
1103
1104 * Bugs introduced by 1.8:
1105
1106   - Fix an "internal error" when @LIBOBJS@ is used in a variable that is
1107     not defined in the same conditions as the _LDADD that uses it.
1108
1109   - Do not warn when JAVAROOT is overridden, this is legitimate.
1110
1111 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1112
1113 Bugs fixed in 1.8.3:
1114
1115 * Long-standing bugs:
1116
1117   - Quote filenames in installation rules, in case $DESTDIR, $prefix,
1118     or any of the other *dir variables contain a space.
1119
1120     Please note that Automake does not and cannot support spaces in
1121     filenames that are involved during the build.  This change affects
1122     only installation paths, so that `make install' does not bomb out
1123     in packages configured with
1124       ./configure --prefix '/c/Program Files'
1125
1126   - Fix the depfiles output so it works with GNU sed (<4.1) even when
1127     POSIXLY_CORRECT is set.
1128
1129   - Do not AC_SUBST(LIBOBJS) in AM_WITH_REGEX.  This macro was unusable
1130     since Autoconf 2.54, which defines LIBOBJS itself.
1131
1132   - Fix a potential (but unlikely) race condition in parallel elisp
1133     builds.  (Introduced in 1.7.3.)
1134
1135   - Do not assume that users override _DEPENDENCIES in all conditions
1136     where Automake will try to define them.
1137
1138   - Do not use `mkdir -p' in mkinstalldirs, unless this is GNU mkdir.
1139     Solaris 8's `mkdir -p' is not thread-safe and can break parallel
1140     builds.
1141
1142     This fix also affects the $(mkdir_p) variable defined since
1143     Automake 1.8.  It will be set to `mkdir -p' only if mkdir is GNU
1144     mkdir, and to `mkinstalldirs' or `install-sh -d' otherwise.
1145
1146   - Secure temporary directory creation in `make distcheck'. (PR/413)
1147
1148   - Do not generate two build rules for `parser.h' when the
1149     parser appears in two different conditionals.
1150
1151   - Work around a Solaris 8 /bin/sh bug in the test for dependency
1152     checking.  Usually ./configure will not pick this shell; so this
1153     fix only helps cases where the shell is forced to /bin/sh.
1154
1155 * Bugs introduced by 1.8:
1156
1157   - In some situations (hand-written `m4_include's), aclocal would
1158     call the `File::Spec->rel2abs' method, which was only introduced
1159     in Perl 5.6.  This new version reestablish support Perl 5.005.
1160
1161     It is likely that the next major Automake releases will require at
1162     least Perl 5.6.  Consider upgrading your development environment
1163     if you are still using the five-year-old Perl 5.005.
1164
1165   - Automake would sometimes fail to define rules for targets listed
1166     in variables defined in multiple conditions.  For instance on
1167       if C1
1168         bin_PROGRAMS = a
1169       else
1170         bin_PROGRAMS = b
1171       endif
1172     it would define only the `a.$(OBJEXT): a.c' rule and omit the
1173     `b.$(OBJEXT): b.c' rule.
1174
1175 * New sections in manual:
1176
1177   - Third-Party Makefiles: how to interface third party Makefiles.
1178   - Upgrading: upgrading packages to newer Automake versions.
1179   - Multiple Outputs: handling tools that produce many outputs.
1180
1181 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1182
1183 Bug fixed in 1.8.2:
1184
1185 * A (well known) portability bug slipped in the changes made to
1186   install-sh in Automake 1.8.1.  The broken install-sh would refuse to
1187   install anything on Tru64.
1188
1189 * Fix install rules for conditionally built python files.  (This never
1190   really worked.)
1191
1192 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1193
1194 Bug fixed in 1.8.1:
1195
1196 * Bugs introduced by 1.8:
1197
1198   - Fix Config.pm import error with old Perl versions (at least
1199     5.005_03).  One symptom is that aclocal could not find its macro
1200     directory.
1201
1202   - Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
1203     created by `make install' are always world readable, even if the
1204     installer happens to have an overly restrictive umask (e.g. 077).
1205     This was a mistake and has been reverted.  There are at least two
1206     reasons why we must not use `-m 0755':
1207       - it causes special bits like SGID to be ignored,
1208       - it may be too restrictive (some setups expect 775 directories).
1209
1210   - Fix aclocal to honor definitions located in files which have been
1211     m4_included manually.  aclocal 1.8 had been updated to check
1212     m4_included files for new requirements, but forgot that these
1213     m4_included files can also provide new definitions.
1214
1215     Note that if you have such a setup, we recommend you get rid of
1216     it.  In the past, there was a reason to m4_include files manually:
1217     aclocal used to duplicate entire M4 files into aclocal.m4, even
1218     files that were distributed.  Some packages were therefore
1219     m4_including the distributed file directly, and playing some
1220     tricks to ensure aclocal would not copy that file to aclocal.m4,
1221     in order to limit the amount of duplication.  Since aclocal 1.8.x
1222     will precisely output m4_includes for local M4 files, we recommend
1223     that you clean up your setup, removing all manual m4_includes and
1224     letting aclocal output them.
1225
1226   - Output detailed menus in the Info version if the Automake manual,
1227     so that Emacs can locate the indexes.
1228
1229   - configure.ac and configure were listed twice in DIST_COMMON (an
1230     internal variable where Automake lists configury files to
1231     distribute).  This was harmless, but unaesthetic.
1232
1233   - Use `chmod a-w' instead of `chmod -w' as the latter honors umask.
1234     This was an issue only in the Automake package itself, not in
1235     its output.
1236
1237   - Automake assumed that all AC_CONFIG_LINKS arguments had the form
1238     DEST:SRC.  This was wrong, as some packages do
1239     AC_CONFIG_LINKS($computedlinks).  This version no longer abort in
1240     that situation.
1241
1242   - Contrary to mkinstalldirs, $(mkdir_p) was expecting exactly one
1243     argument.  This caused two kinds of failures:
1244       - Rules installing data in a conditionally defined directory
1245         failed when that directory was undefined.  In this case no
1246         argument was supplied.
1247       - `make installdirs' failed, because several directories were
1248         passed to $(mkdir_p).  This was an issue only on platform
1249         were $(mkdir_p) is implemented with `install-sh -d'.
1250     $(mkdir_p) as been changed to accept 0 or more arguments, as
1251     mkinstalldirs did.
1252
1253 * Long-standing bugs:
1254
1255   - Fix an unexpected diagnostic occurring when users attempt
1256     to override some internal variables that Automake appends to.
1257
1258   - aclocal now scans configure.ac for macro definitions (PR/319).
1259
1260   - Fix a portability issue with OSF1/Tru64 Make.  If a directory
1261     distributes files which are outside itself (this usually occurs
1262     when using AC_CONFIG_AUX_DIR([../dir]) to use auxiliary files
1263     from a parent package), then `make distcheck' fails due to an
1264     optimization performed by OSF1/Tru64 Make in its VPATH handling.
1265     (tests/subpkg2.test failure)
1266
1267   - Fix another portability issue with Sun and OSF1/Tru64 Make.
1268     In a VPATH-build configuration, `make install' would install
1269     nobase_ files to wrong locations.
1270
1271   - Fix a Perl `uninitialized value' diagnostic occurring when
1272     automake complains that a Texinfo file does not have a
1273     @setfilename statement.
1274
1275   - Erase config.status.lineno during `make distclean'.  This file
1276     can be created by config.status.  Automake already knew about
1277     configure.lineno, but forgot config.status.lineno.
1278
1279   - Distribute all files, even those which are built and installed
1280     conditionally.  This change affects files listed in conditionally
1281     defined *_HEADERS and *_PYTHON variable (unless they are nodist_*)
1282     as well as those listed in conditionally defined dist_*_DATA,
1283     dist_*_JAVA, dist_*_LISP, and dist_*_SCRIPTS variables.
1284
1285   - Fix AM_PATH_LISPDIR to avoid \? in sed regular expressions; it
1286     doesn't conform to POSIX.
1287
1288   - Normalize help strings for configure variables and options added
1289     by Automake macros.
1290
1291 * Anticipation:
1292
1293   - Check for python2.4 in AM_PATH_PYTHON.
1294
1295 * Spurious failures in test suite:
1296
1297   - tests/libtool5.test, tests/ltcond.test, tests/ltcond2.test,
1298     tests/ltconv.test: fix failures with CVS Libtool.
1299   - tests/aclocal6.test: fix failure if autom4te.cache is disabled.
1300   - tests/txinfo24.test, tests/txinfo25.test, tests/txinfo28.test:
1301     fix failures with old Texinfo versions.
1302
1303 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1304
1305 New in 1.8:
1306
1307 * Meta-News
1308
1309   - The NEWS file is more verbose.
1310
1311 * Requirements
1312
1313   - Autoconf 2.58 or greater is required.
1314
1315 * New features
1316
1317   - Default source file names in the absence of a _SOURCES declaration
1318     are made by removing any target extension before appending `.c', so
1319     to make the libtool module `foo.la' from `foo.c', you only need to
1320     do this:
1321
1322         lib_LTLIBRARIES = foo.la
1323         foo_la_LDFLAGS  = -module
1324
1325     For backward compatibility, foo_la.c will be used instead of
1326     foo.c if this file exists or is the explicit target of a rule.
1327     However -Wobsolete will warn about this deprecated naming.
1328
1329   - AR's `cru' flags are now set in a global ARFLAGS variable instead
1330     of being hard-coded in each $(AR) invocation, so they can be
1331     substituted from configure.ac.  This has been requested by people
1332     dealing with non-POSIX ar implementations.
1333
1334   - New warning option: -Woverride.  This will warn about any user
1335     target or variable definitions which override Automake
1336     definitions.
1337
1338   - Texinfo rules back up and restore info files when makeinfo fails.
1339
1340   - Texinfo rules now support the `html' target.
1341     Running this requires Texinfo 4.0 or greater.
1342
1343     `html' is a new recursive target, so if your package mixes
1344     hand-crafted `Makefile.in's with Automake-generated
1345     `Makefile.in's, you should adjust the former to support (or
1346     ignore) this target so that `make html' recurses successfully.  If
1347     you had a custom `html' rule in your `Makefile.am', it's better to
1348     rename it as `html-local', otherwise your rule will override
1349     Automake's new rule (you can check that by running `automake
1350     -Woverride') and that will stop the recursion to subdirectories.
1351
1352     Last but not least, this `html' rule is declared PHONY, even when
1353     overridden.  Fortunately, it appears that few packages use a
1354     non-PHONY `html' rule.
1355
1356   - Any file which is m4_included from configure.ac will appear as a
1357     configure and Makefile.in dependency, and will be automatically
1358     distributed.
1359
1360   - The rules for rebuilding Makefiles and Makefile.ins will now
1361     rebuild all Makefiles and all Makefile.ins at once when one of
1362     configure's dependencies has changed.  This is considerably faster
1363     than previous implementations, where config.status and automake
1364     were run separately in each directory (this still happens when you
1365     change a Makefile.am locally, without touching configure.ac or
1366     friends).  Doing this also solves a longstanding issue: these
1367     rebuild rules failed to work when adding new directories to the
1368     tree, forcing you to run automake manually.
1369
1370   - For similar reasons, the rules to rebuild configure,
1371     config.status, and aclocal.m4 are now defined in all directories.
1372     Note that if you were using the CONFIG_STATUS_DEPENDENCIES and
1373     CONFIGURE_DEPENDENCIES (formerly undocumented) variables, you
1374     should better define them in all directories.  This is easily done
1375     using an AC_SUBST (make sure you prefix these dependencies with
1376     $(top_srcdir) since this variable will appear at different
1377     levels of the build tree).
1378
1379   - aclocal will now use `m4_include' instead of copying local m4
1380     files into aclocal.m4.  (Local m4 files are those you ship with
1381     your project, other files will be copied as usual.)
1382
1383     Because m4_included files are automatically distributed, it means
1384     for most projects there is no point in EXTRA_DISTing the list of
1385     m4 files which are used.  (You can probably get rid of
1386     m4/Makefile.am if you had one.)
1387
1388   - aclocal will avoid touching aclocal.m4 when possible, so that
1389     Autom4te's cache isn't needlessly invalidated.  This behavior can
1390     be switched off with the new `--force' option.
1391
1392   - aclocal now uses Autoconf's --trace to detect macros which are
1393     actually used and will no longer include unused macros simply
1394     because they where mentioned.  This was often the case for macros
1395     called conditionally.
1396
1397   - New options no-dist and no-dist-gzip.
1398
1399   - compile, depcomp, elisp-comp, install-sh, mdate-sh, mkinstalldirs,
1400     py-compile, and ylwrap, now all understand --version and --help.
1401
1402   - Automake will now recognize AC_CONFIG_LINKS so far as removing created
1403     links as part of the distclean target and including source files in
1404     distributions.
1405
1406   - AM_PATH_PYTHON now supports ACTION-IF-FOUND and ACTION-IF-NOT-FOUND
1407     argument.  The latter can be used to override the default behavior
1408     (which is to abort).
1409
1410   - Automake will exit with $? = 63 on version mismatch.  (So does
1411     Autoconf 2.58)  missing knows this, and in this case it will
1412     emulate the tools as if they were absent.  Because older versions
1413     of Automake and Autoconf did not use this exit code, this change
1414     will only be useful in projects generated with future versions of
1415     these tools.
1416
1417   - When using AC_CONFIG_FILES with multiple input files, Automake
1418     generates the first ".in" input file for which a ".am" exists.
1419     (Former versions would try to use only the first input file.)
1420
1421   - lisp_DATA is now allowed.  If you are using the empty ELCFILES
1422     idiom to disable byte-compilation of lisp_LISP files, it is
1423     recommended that you switch to using lisp_DATA.  Note that
1424     this is not strictly equivalent: lisp_DATA will install elisp
1425     files even if emacs is not installed, while *_LISP do not
1426     install anything unless emacs is found.
1427
1428   - Makefiles will prefer `mkdir -p' over mkinstalldirs if it is
1429     available.  This selection is achieved through the Makefile
1430     variable $(mkdir_p) that is set by AM_INIT_AUTOMAKE to either
1431     `mkdir -m 0755 -p --', `$(mkinstalldirs) -m 0755', or
1432     `$(install_sh) -m 0755 -d'.
1433
1434 * Obsolete features
1435
1436   - Because `mkdir -p' is available on most platforms, and we can use
1437     `install-sh -d' when it is not, the use of the mkinstalldirs
1438     script is being phased out.  `automake --add-missing' no longer
1439     installs it, and if you remove mkinstalldirs from your package,
1440     automake will define $(mkinstalldirs) as an alias for $(mkdir_p).
1441
1442     Gettext 0.12.1 still requires mkinstalldirs.  Fortunately
1443     gettextize and autopoint will install it when needed.  Automake
1444     will continue to define the $(mkinstalldirs) and to distribute
1445     mkinstalldirs when this script is in the source tree.
1446
1447   - AM_PROG_CC_STDC is now empty.  The content of this macro was
1448     merged in AC_PROG_CC.  If your code uses $am_cv_prog_cc_stdc, you
1449     should adjust it to use $ac_cv_prog_cc_stdc instead.  (This
1450     renaming should be safe, even if you have to support several,
1451     versions of Automake, because AC_PROG_CC defines this variable
1452     since Autoconf 2.54.)
1453
1454   - Some users where using the undocumented ACLOCAL_M4_SOURCES
1455     variable to override the aclocal.m4 dependencies computed
1456     (inaccurately) by older versions of Automake.  Because Automake
1457     now tracks configure's m4 dependencies accurately (see m4_include
1458     above), the use of ACLOCAL_M4_SOURCES should be considered
1459     obsolete and will be flagged as such when running `automake
1460     -Wobsolete'.
1461
1462 * Bug fixes
1463
1464   - Defining programs conditionally using Automake conditionals no
1465     longer leads to a combinatorial explosion.  The following
1466     construct used to be troublesome when used with dozens of
1467     conditions.
1468
1469       bin_PROGRAMS = a
1470       if COND1
1471         bin_PROGRAMS += a1
1472       endif
1473       if COND2
1474         bin_PROGRAMS += a2
1475       endif
1476       if COND3
1477         bin_PROGRAMS += a3
1478       endif
1479       ...
1480
1481     Likewise for _SOURCES, _LDADD, and _LIBADD variables.
1482
1483   - Due to implementation constraints, previous versions of Automake
1484     proscribed multiple conditional definitions of some variables
1485     like bin_PROGRAMS:
1486
1487       if COND1
1488         bin_PROGRAMS = a1
1489       endif
1490       if COND2
1491         bin_PROGRAMS = a2
1492       endif
1493
1494     All _PROGRAMS, _LDADD, and _LIBADD variables were affected.
1495     This restriction has been lifted, and these variables now
1496     support multiple conditional definitions as do other variables.
1497
1498   - Cleanup the definitions of $(distdir) and $(top_distdir).
1499     $(top_distdir) now points to the root of the distribution
1500     directory created during `make dist', as it did in Automake 1.4,
1501     not to the root of the build tree as it did in intervening
1502     versions.  Furthermore these two variables are now only defined in
1503     the top level Makefile, and passed to sub-directories when running
1504     `make dist'.
1505
1506   - The --no-force option now correctly checks the Makefile.in's
1507     dependencies before deciding not to update it.
1508
1509   - Do not assume that make files are called Makefile in cleaning rules.
1510
1511   - Update .info files in the source tree, not in the build tree.  This
1512     is what the GNU Coding Standard recommend.  Only Automake 1.7.x
1513     used to update these files in the build tree (previous versions did
1514     it in the source tree too), and it caused several problems, varying
1515     from mere annoyance to portability issues.
1516
1517   - COPYING, COPYING.LIB, and COPYING.LESSER are no longer overwritten
1518     when --add-missing and --force-missing are used.  For backward
1519     compatibility --add-missing will continue to install COPYING (in
1520     `gnu' strictness) when none of these three files exist, but this
1521     use is deprecated: you should better choose a license yourself and
1522     install it once for all in your source tree (and in your code
1523     management system).
1524
1525   - Fix ylwrap so that it does not overwrite header files that haven't
1526     changed, as the inline rule already does.
1527
1528   - User-defined rules override automake-defined rules for the same
1529     targets, even when rules do not have commands.  This is not new
1530     (and was documented), however some of the automake-generated
1531     rules have escaped this principle in former Automake versions.
1532     Rules for the following targets are affected by this fix:
1533
1534        clean, clean-am, dist-all, distclean, distclean-am, dvi, dvi-am,
1535        info, info-am, install-data-am, install-exec-am, install-info,
1536        install-info-am, install-man, installcheck-am, maintainer-clean,
1537        maintainer-clean-am, mostlyclean, mostlyclean-am, pdf, pdf-am,
1538        ps, ps-am, uninstall-am, uninstall-info, uninstall-man
1539
1540     Practically it means that an attempt to supplement the dependencies
1541     of some target, as in
1542
1543        clean: my-clean-rule
1544
1545     will now *silently override* the automake definition of the
1546     rule for this target.  Running `automake -Woverride' will diagnose
1547     all such overriding definitions.
1548
1549     It should be noted that almost all these targets support a *-local
1550     variant that is meant to supplement the automake-defined rule
1551     (See node `Extending' in the manual).  The above rule should
1552     be rewritten as
1553
1554       clean-local: my-clean-rule
1555
1556     These *-local targets have been documented since at least
1557     Automake 1.2, so you should not fear the change if you have
1558     to support multiple automake versions.
1559
1560 * Miscellaneous
1561
1562   - The Automake manual is now distributed under the terms of the GNU FDL.
1563
1564   - Targets dist-gzip, dist-bzip2, dist-tarZ, dist-zip are always defined.
1565
1566   - core dumps are no longer removed by the cleaning rules.  There are
1567     at least three reasons for this:
1568       1. These files should not be created by any build step,
1569          so their removal do not fit any of the cleaning rules.
1570          Actually, they may be precious to the developer.
1571       2. If such file is created during a build, then it's clearly a
1572          bug Automake should not hide.  Not removing the file will
1573          cause `make distcheck' to complain about its presence.
1574       3. Operating systems have different naming conventions for
1575          core dump files.  A core file on one system might be a
1576          completely legitimate data file on another system.
1577
1578   - RUNTESTFLAGS, CTAGSFLAGS, ETAGSFLAGS, JAVACFLAGS are no longer
1579     defined by Automake.  This means that any definition in the
1580     environment will be used, unless overridden in the Makefile.am or
1581     on the command line.  The old behavior, where these variables were
1582     defined empty in each Makefile, can be obtained by AC_SUBSTing or
1583     AC_ARG_VARing each variable from configure.ac.
1584
1585   - CONFIGURE_DEPENDENCIES and CONFIG_STATUS_DEPENDENCIES are now
1586     documented.  (The is not a new feature, these variables have
1587     been there since at least Automake 1.4.)
1588
1589 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1590
1591 Bugs fixed in 1.7.9:
1592 * Fix install-strip to work with nobase_ binaries.
1593 * Fix renaming of #line directives in ylwrap.
1594 * Rebuild with Autoconf 2.59.  (1.7.8 was not installable with pdksh.)
1595
1596 Bugs fixed in 1.7.8:
1597 * Remove spurious blank lines in cleaning rules introduced in 1.7.7.
1598 * Fix detection of Debian's install-info, broken since version 1.5.
1599   (Debian bug #213524).
1600 * Honor -module if it appears in AM_LDFLAGS (i.e., relax name checking)
1601   This was only done for libfoo_LDFLAGS and LDFLAGS in previous versions.
1602
1603 Bugs fixed in 1.7.7:
1604 * The implementation of automake's --no-force option is unreliable,
1605   so this option is ignored in this version.  A real fix will appear in
1606   Automake 1.8.  (Debian Bug #206299)
1607 * AM_PATH_PYTHON: really check the whole list of interpreters if no
1608   argument is given.  (PR/399)
1609 * Do not warn about leading `_' in variable names, even with -Wportability.
1610 * Support user redefinitions of TEXINFO_TEX.
1611 * depcomp: support AIX Compiler version 6.
1612 * Fix missing rebuilds during `make dist' with BSD make.
1613   (Could produce tarballs containing out-of-date files.)
1614 * Resurrect multilib support.
1615 * Noteworthy manual updates:
1616   - Extending aclocal: how to write m4 macros that won't trigger warnings
1617     with Automake 1.8.
1618   - A Shared Library: Rewrite and split into subsections.
1619
1620 Bugs fixed in 1.7.6:
1621 * Fix depcomp's icc mode for ICC 7.1.
1622 * Diagnose calls to AC_CONFIG_FILES and friends with not enough arguments.
1623 * Fix maintainer-clean's removal of autom4te.cache in VPATH builds.
1624 * Fix AM_PATH_LISPDIR to work with POSIXLY_CORRECT=1.
1625 * Fix the location reported in some diagnostics related to AUTOMAKE_OPTIONS.
1626 * Remove Latin-1 characters from elisp-comp.
1627 * Update the manual's @dircategory to match the Free Software Directory.
1628
1629 Bugs fixed in 1.7.5:
1630 * Update install-sh's license to remove an advertising clause.
1631   (Debian bug #191717)
1632 * Fix a bug introduced in 1.7.4, related to BUILT_SOURCE handling,
1633   that caused invalid Makefile.ins to be generated.
1634 * Make sure AM_MAKE_INCLUDE doesn't fail when a `doit' file exists.
1635 * New FAQ entry: renamed objects.
1636
1637 Bugs fixed in 1.7.4:
1638 * Tweak the TAGS rule to support Exuberant Ctags (in addition to
1639   the Emacs implementation)
1640 * Fix output of aclocal.m4 dependencies in subdirectories.
1641 * Use `mv -f' instead of `mv' in fastdep rules.
1642 * Upgrade mdate-sh to work on OS/2.
1643 * Don't byte-compile elisp files when ELCFILES is set empty.
1644   (this documented feature was broken by 1.7.3)
1645 * Diagnose trailing backslashes on last line of Makefile.am.
1646 * Diagnose whitespace following trailing backslashes.
1647 * Multiple tests are now correctly supported in DEJATOOL. (PR/388)
1648 * Fix rebuilt rules for AC_CONFIG_FILES([Makefile:Makefile.in:Makefile.bot])
1649   Makefiles. (PR/389)
1650 * `make install' will build `BUILT_SOURCES' first.
1651 * Minor documentation fixes.
1652
1653 Bugs fixed in 1.7.3:
1654 * Fix stamp files numbering (when using multiple AC_CONFIG_HEADERS).
1655 * Query distutils for `pythondir' and `pythonexecdir', instead of
1656   using an hardcoded path.  This should allow builds on 64-bit
1657   distributions that usually use lib64/ instead of lib/.
1658 * AM_PATH_PYTHON will also search for python2.3.
1659 * elisp files are now built all at once instead of one by one. Besides
1660   incurring a speed-up, this is required to support interdependent elisp files.
1661 * Support for DJGPP:
1662   - `make distcheck' will now work in `_inst/' and `_build' instead
1663     of `=inst/' and `=build/'
1664   - use `_dirstamp' when the file-system doesn't support `.dirstamp'
1665   - install/uninstall `*.i[0-9][0-9]'-style info files
1666   - more changes that affect only the Automake package (not its output)
1667 * Fix some incompatibilities with upcoming perl-5.10.
1668 * Properly quote AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION when defining
1669   PACKAGE and VERSION.
1670 * depcomp fixes:
1671   - dashmstdout and dashXmstdout modes: don't use `-o /dev/null', this
1672     is troublesome with gcc and Solaris compilers. (PR/385)
1673   - makedepend mode: work with Libtool. (PR/385 too)
1674   - support for ICC.
1675 * better support for unusual gettext setups, such as multiple po/ directories
1676   (PR/381):
1677   - Flag missing po/ and intl/ directories as warnings, not errors.
1678   - Disable these warnings if po/ does not exist.
1679 * Noteworthy manual updates:
1680   - New FAQ chapter.
1681   - Document how AC_CONFIG_AUX_DIR interacts with missing files.
1682     (Debian Bug #39542)
1683   - Document `AM_YFLAGS = -d'.  (PR/382)
1684
1685 Bugs fixed in 1.7.2:
1686 * Fix installation and uninstallation of Info files built in subdirectories.
1687 * Do not run `./configure --with-included-gettext' during `make distcheck'
1688   if AM_GNU_GETTEXT([external]) is used.
1689 * Correctly uninstall renamed man pages.
1690 * Do not strip escaped newline in variables defined in one condition
1691   and augmented in another condition.
1692 * Fix ansi2knr rules for LIBOBJS sources.
1693 * Clean all known Texinfo index files, not only those which appear to
1694   be used, because we cannot know which indexes are used in included files.
1695   (PR/375, Debian Bug #168671)
1696 * Honor only the first @setfilename seen in a Texinfo file.
1697 * Treat "required file X not found" diagnostics as errors (exit status 1).
1698 * Don't complain that a required file is not found when it is a Makefile
1699   target. (PR/357)
1700 * Don't use single suffix inference rules when building `.info'-less
1701   Info files, for the sake of Solaris make.
1702 * The `check' target now depends on `$(BUILT_SOURCES)'. (PR/359)
1703 * Recognize multiple inference rules such as `.a.b .c.d:'. (PR/371)
1704 * Warn about multiple inference rules when -Wportability is used. (PR/372)
1705 * Fix building of deansified files from subdirectories. (PR/370)
1706 * Add missing `fi' in the .c->.obj rules.
1707 * Improve install-sh to work even when names contain spaces or certain
1708   (but not all) shell metachars.
1709 * Fix the following spurious failures in the test suite:
1710   depcomp2.test, gnits2.test, gnits3.test, python3.test, texinfo13.test
1711 * Noteworthy manual updates:
1712   - Augment the section about BUILT_SOURCES.
1713   - Mention that AM_PROG_CC_STDC is a relic that is better avoided today.
1714
1715 Bugs fixed in 1.7.1:
1716 * Honor `ansi2knr' for files built in subdirectories, or using per-targets
1717   flags.
1718 * Aclocal should now recognize macro names containing parentheses, e.g.
1719   AC_DEFUN([AC_LANG_PREPROC(Fortran 90)], [...]).
1720 * Erase *.sum and *.log files created by DejaGnu, during `make distclean'.
1721   (Debian Bug#153697)
1722 * Install Python files even if they were built.  (PR/369)
1723 * Have stamp-vti dependent upon configure instead of configure.ac, as the
1724   version might not be defined in the latter. (PR/358)
1725 * Reorder arguments passed to a couple of commands, so things works
1726   when POSIXLY_CORRECT=1.
1727 * Fix a regex that can cause Perl to segfault on large input.
1728   (Debian Bug#162583)
1729 * Fix distribution of packages that have some sources defined conditionally,
1730   as in the `Conditional compilation using Automake conditionals' example
1731   of the manual.
1732 * Fix spurious test suite failures on IRIX.
1733 * Don't report a required variable as undefined if it has been
1734   defined conditionally for the "right" conditions.
1735 * Fix cleaning of the /tmp subdirectory used by `make distcheck', in case
1736   `make distcheck' fails.
1737 * Fix distribution of included Makefile fragment, so we don't create
1738   spurious directories in the distribution. (PR/366)
1739 * Don't complain that a target lacks `.$(EXEEXT)' when it has it.
1740
1741 New in 1.7:
1742 * Autoconf 2.54 is required.
1743 * `aclocal' and `automake' will no longer warn about obsolete
1744   configure macros.  This is done by `autoconf -Wobsolete'.
1745 * AM_CONFIG_HEADER, AM_SYS_POSIX_TERMIOS and
1746   AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL are obsolete (although still
1747   supported).  You should use AC_CONFIG_HEADERS, AC_SYS_POSIX_TERMIOS,
1748   and AC_HEADER_TIOCGWINSZ instead.  `autoupdate' can upgrade
1749   `configure.ac' for you.
1750 * Support for per-program and per-library `_CPPFLAGS'.
1751 * New `ctags' target (builds CTAGS files).
1752 * Support for -Wmumble and -Wno-mumble, where mumble is a warning category
1753   (see `automake --help' or the manual for a list of them).
1754 * Honor the WARNINGS environment variable.
1755 * Omit the call to depcomp when using gcc3: call the compiler directly.
1756 * A new option, std-options, tests that programs support --help and --version
1757   when `make installcheck' is run.  This is enabled by --gnits.
1758 * Texinfo rules now support the `ps' and `pdf' targets.
1759 * Info files are now created in the build directory, not the source directory.
1760 * info_TEXINFOS supports files in subdirectories (this requires Texinfo 4.1
1761   or greater).
1762 * `make distcheck' will enforce DESTDIR support by attempting
1763   a DESTDIR install.
1764 * `+=' can be used in conditionals, even if the augmented variable
1765   was defined for another condition.
1766 * Makefile fragments (inserted with `include') are always distributed.
1767 * Use Autoconf's --trace interface to inspect configure.ac and get
1768   a more accurate view of it.
1769 * Add support for extending aclocal's default macro search path
1770   using a `dirlist' file within the aclocal directory.
1771 * automake --output-dir is deprecated.
1772 * The part of the distcheck target that checks whether uninstall actually
1773   removes all installed files has been moved in a separate target,
1774   distuninstallcheck, so it can be overridden easily.
1775 * Many bug fixes.
1776
1777 New in 1.6.3:
1778 * Support for AM_INIT_GETTEXT([external])
1779 * Bug fixes, including:
1780   - Fix Automake's own `make install' so it works even if `ln' doesn't.
1781   - nobase_ programs and scripts honor --program-transform correctly.
1782   - Erase configure.lineno during `make distclean'.
1783   - Erase YACC and LEX outputs during `make maintainer-clean'.
1784
1785 New in 1.6.2:
1786 * Many bug fixes, including:
1787   - Requiring the current version works.
1788   - Fix "$@" portability issues (for Zsh).
1789   - Fix output of dummy dependency files in presence of post-processed
1790     Makefile.in's.
1791   - Don't compute dependencies in background to avoid races with libtool.
1792   - Fix handling of _OBJECTS variables for targets sharing source variables.
1793   - Check dependency mode for Java when AM_PROG_GCJ is used.
1794
1795 New in 1.6.1:
1796 * automake --output-dir is deprecated
1797 * Many bug fixes, including:
1798   - Don't choke on AM_LDFLAGS definitions.
1799   - Clean libtool objects from subdirectories.
1800   - Allow configure variables with reserved suffix and unknown prefix
1801     (e.g. AC_SUBST(mumble_LDFLAGS) when 'mumble' is not a target).
1802   - Fix the definition of AUTOMAKE and ACLOCAL in configure.
1803
1804 New in 1.6:
1805 * Autoconf 2.52 is required.
1806 * automake no longer run libtoolize.
1807   This is the job of autoreconf (from GNU Autoconf).
1808 * `dist' generates all the archive flavors, as did `dist-all'.
1809 * `dist-gzip' generates the Gzip tar file only.
1810 * Combining Automake Makefile conditionals no longer lead to a combinatorial
1811   explosion.  Makefile.in's keep a reasonable size.
1812 * AM_FUNC_ERROR_AT_LINE, AM_FUNC_STRTOD, AM_FUNC_OBSTACK, AM_PTRDIFF_T
1813   are no longer shipped, since Autoconf 2.52 provides them (both as AM_
1814   and AC_).
1815 * `#line' of Lex and Yacc files are properly set.
1816 * EXTRA_DIST can contain generated directories.
1817 * Support for dot-less extensions in suffix rules.
1818 * The part of the distcheck target that checks whether distclean actually
1819   cleans all built files has been moved in a separate target, distcleancheck,
1820   so it can be overridden easily.
1821 * `make distcheck' will pass additional options defined in
1822   $(DISTCHECK_CONFIGURE_FLAGS) to configure.
1823 * Fixed CDPATH portability problems, in particular for MacOS X.
1824 * Fixed handling of nobase_ targets.
1825 * Fixed support of implicit rules leading to .lo objects.
1826 * Fixed late inclusion of --add-missing files (e.g. depcomp) in DIST_COMMON
1827 * Added uninstall-hook target
1828 * `AC_INIT AM_INIT_AUTOMAKE(tarname,version)' is an obsolete construct.
1829   You can now use `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' instead.
1830   (Note that "pkgname" is not "tarname", see the manual for details.)
1831   It is also possible to pass a list of global Automake options as
1832   first argument to this new form of AM_INIT_AUTOMAKE.
1833 * Compiler-based assembler is now called `CCAS'; people expected `AS'
1834   to be a real assembler.
1835 * AM_INIT_AUTOMAKE will set STRIP itself when it needs it.  Adding
1836   AC_CHECK_TOOL([STRIP], [strip]) manually is no longer required.
1837 * aclocal and automake are also installed with the version number
1838   appended, and some of the install directory names have changed.
1839   This lets you have multiple versions installed simultaneously.
1840 * Support for parsers and lexers in subdirectories.
1841
1842 New in 1.5:
1843 * Support for `configure.ac'.
1844 * Support for `else COND', `endif COND' and negated conditions `!COND'.
1845 * `make dist-all' is much faster.
1846 * Allows '@' AC_SUBSTs in macro names.
1847 * Faster AM_INIT_AUTOMAKE (requires update of `missing' script)
1848 * User-side dependency tracking.  Developers no longer need GNU make
1849 * Python support
1850 * Uses DIST_SUBDIRS in some situations when SUBDIRS is conditional
1851 * Most files are correctly handled if they appear in subdirs
1852   For instance, a _DATA file can appear in a subdir
1853 * GNU tar is no longer required for `make dist'
1854 * Added support for `dist_' and `nodist_' prefixes
1855 * Added support for `nobase_' prefix
1856 * Compiled Java support
1857 * Support for per-executable and per-library compilation flags
1858 * Many bug fixes
1859
1860 New in 1.4:
1861 * Added support for the Fortran 77 programming language.
1862 * Re-indexed the Automake Texinfo manual.
1863 * Added `AM_FOOFLAGS' variable for each compiler invocation;
1864   e.g. AM_CFLAGS can be used in Makefile.am to set C compiler flags
1865 * Support for latest autoconf, including support for objext
1866 * Can now put `.' in SUBDIRS to control build order
1867 * `include' command and `+=' support for macro assignment
1868 * Dependency tracking no long susceptible to deleted header file problem
1869 * Maintainer mode now a conditional.  @MAINT@ is now an anachronism.
1870 * Bug fixes
1871
1872 New in 1.3:
1873 * Bug fixes
1874 * Better Cygwin32 support
1875 * Support for suffix rules with _SOURCES variables
1876 * New options `readme-alpha' and `check-news'; Gnits mode sets these
1877 * @LEXLIB@ no longer required when lex source seen
1878   Lex support in `missing', and new lex macro.  Update your missing script.
1879 * Built-in support for assembly
1880 * aclocal gives error if `AM_' macro not found
1881 * Passed YFLAGS, not YACCFLAGS, to yacc
1882 * AM_PROG_CC_STDC does not have to come before AC_PROG_CPP
1883 * Dependencies computed as a side effect of compilation
1884 * Preliminary support for Java
1885 * DESTDIR support at "make install" time
1886 * Improved ansi2knr support; you must use the latest ansi2knr.c (included)
1887
1888 New in 1.2:
1889 * Bug fixes
1890 * Better DejaGnu support
1891 * Added no-installinfo option
1892 * Added Emacs Lisp support
1893 * Added --no-force option
1894 * Included `aclocal' program
1895 * Automake will now generate rules to regenerate aclocal.m4, if appropriate
1896 * Now uses `AM_' macro names everywhere
1897 * ansi2knr option can have directory prefix (eg `../lib/ansi2knr')
1898   ansi2knr now works correctly on K&R sources
1899 * Better C++, yacc, lex support
1900 * Will compute _DEPENDENCIES variables automatically if not supplied
1901 * Will interpolate $(...) and ${...} when examining contents of a variable
1902 * .deps files now in build directory, not source directory; dependency
1903   handling generally rewritten
1904 * DATA, MANS and BUILT_SOURCES no longer included in distribution
1905 * can now put config.h into a subdir
1906 * Added dist-all target
1907 * Support for install-info program (see texinfo 3.9)
1908 * Support for "yacc -d"
1909 * configure substitutions are automatically discovered and included
1910   in generated Makefile.in
1911 * Special --cygnus mode
1912 * OMIT_DEPENDENCIES can now hold list of dependencies to be omitted
1913   when making distribution.  Some dependencies are auto-ignored.
1914 * Changed how libraries are specified in _LIBRARIES variable
1915 * Full libtool support, from Gord Matzigkeit
1916 * No longer have to explicitly touch stamp-h when using AC_CONFIG_HEADER;
1917   AM_CONFIG_HEADER handles it automatically
1918 * Texinfo output files no longer need .info extension
1919 * Added `missing' support
1920 * Cygwin32 support
1921 * Conditionals in Makefile.am, from Ian Taylor
1922
1923 New in 1.0:
1924 * Bug fixes
1925 * distcheck target runs install and installcheck targets
1926 * Added preliminary support for DejaGnu.
1927
1928 New in 0.33:
1929 * More bug fixes
1930 * More checking
1931 * More libtool fixes from Gord Matzigkeit; libtool support is still
1932   preliminary however
1933 * Added support for jm_MAINTAINER_MODE
1934 * dist-zip support
1935 * New "distcheck" target
1936
1937 New in 0.32:
1938 * Many bug fixes
1939 * mkinstalldirs and mdate-sh now appear in directory specified by
1940   AC_CONFIG_AUX_DIR.
1941 * Removed DIST_SUBDIRS, DIST_OTHER
1942 * AC_ARG_PROGRAM only required when an actual program exists
1943 * dist-hook target now run before distribution packaged up; idea from
1944   Dieter Baron.  Other hooks exist, too.
1945 * Preliminary (unfinished) support for libtool
1946 * Added short option names.
1947 * Better "dist" support when gluing together multiple packages
1948
1949 New in 0.31:
1950 * Bug fixes
1951 * Documentation updates (many from François Pinard)
1952 * strictness `normal' now renamed to `foreign'
1953 * Renamed --install-missing to --add-missing
1954 * Now handles AC_CONFIG_AUX_DIR
1955 * Now handles TESTS macro
1956 * DIST_OTHER renamed to EXTRA_DIST
1957 * DIST_SUBDIRS is deprecated
1958 * @ALLOCA@ and @LIBOBJS@ now work in _LDADD variables
1959 * Better error messages in many cases
1960 * Program names are canonicalized
1961 * Added "check" prefix; from Gord Matzigkeit
1962
1963 New in 0.30:
1964 * Bug fixes
1965 * configure.in scanner knows about AC_PATH_XTRA, AC_OUTPUT ":" syntax
1966 * Beginnings of a test suite
1967 * Automatically adds -I options for $(srcdir), ".", and path to config.h
1968 * Doesn't print anything when running
1969 * Beginnings of MAINT_CHARSET support
1970 * Can specify version in AUTOMAKE_OPTIONS
1971 * Most errors recognizable by Emacs' M-x next-error
1972 * Added --verbose option
1973 * All "primary" variables now obsolete; use EXTRA_PRIMARY to supply
1974   configure-generated names
1975 * Required macros now distributed in aclocal.m4
1976 * New documentation
1977 * --strictness=gnu is default
1978
1979 New in 0.29:
1980 * Many bug fixes
1981 * More sophisticated configure.in scanning; now understands ALLOCA and
1982   LIBOBJS directly, handles AC_CONFIG_HEADER more precisely, etc.
1983 * TEXINFOS and MANS now obsolete; use info_TEXINFOS and man_MANS instead.
1984 * CONFIG_HEADER variable now obsolete
1985 * Can handle multiple Texinfo sources
1986 * Allow hierarchies deeper than 2.  From Gord Matzigkeit.
1987 * HEADERS variable no longer needed; now can put .h files directly into
1988   foo_SOURCES variable.
1989 * Automake automatically rebuilds files listed in AC_OUTPUT.  The
1990   corresponding ".in" files are included in the distribution.
1991
1992 New in 0.28:
1993 * Added --gnu and --gnits options
1994 * More standards checking
1995 * Bug fixes
1996 * Cleaned up 'dist' targets
1997 * Added AUTOMAKE_OPTIONS variable and several options
1998 * Now scans configure.in to get some information (preliminary)
1999
2000 New in 0.27:
2001 * Works with Perl 4 again
2002
2003 New in 0.26:
2004 * Added --install-missing option.
2005 * Pretty-prints generated macros and rules
2006 * Comments in Makefile.am are placed more intelligently in Makefile.in
2007 * Generates .PHONY target
2008 * Rule or macro in Makefile.am now overrides contents of Automake file
2009 * Substantial cleanups from François Pinard
2010
2011 New in 0.25:
2012 * Bug fixes.
2013 * Works with Perl 4 again.
2014
2015 New in 0.24:
2016 * New uniform naming scheme.
2017 * --strictness option
2018 * Works with Perl 5
2019 * '.c' files corresponding to '.y' or '.l' files are automatically
2020   distributed.
2021 * Many bug fixes and cleanups
2022
2023 New in 0.23:
2024 * Allow objects to be conditionally included in libraries via lib_LIBADD.
2025
2026 New in 0.22:
2027 * Bug fixes in 'clean' code.
2028 * Now generates 'installdirs' target.
2029 * man page installation reworked.
2030 * 'make dist' no longer re-creates all Makefile.in's.
2031
2032 New in 0.21:
2033 * Reimplemented in Perl
2034 * Added --amdir option (for debugging)
2035 * Texinfo support cleaned up.
2036 * Automatic de-ANSI-fication cleaned up.
2037 * Cleaned up 'clean' targets.
2038
2039 New in 0.20:
2040 * Automatic dependency tracking
2041 * More documentation
2042 * New variables DATA and PACKAGEDATA
2043 * SCRIPTS installed using $(INSTALL_SCRIPT)
2044 * No longer uses double-colon rules
2045 * Bug fixes
2046 * Changes in advance of internationalization
2047
2048 -----
2049
2050 Copyright (C) 1995-2012 Free Software Foundation, Inc.
2051
2052 This program is free software; you can redistribute it and/or modify
2053 it under the terms of the GNU General Public License as published by
2054 the Free Software Foundation; either version 2, or (at your option)
2055 any later version.
2056
2057 This program is distributed in the hope that it will be useful,
2058 but WITHOUT ANY WARRANTY; without even the implied warranty of
2059 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2060 GNU General Public License for more details.
2061
2062 You should have received a copy of the GNU General Public License
2063 along with this program.  If not, see <http://www.gnu.org/licenses/>.