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