Index: /trunk/essentials/sys-devel/automake-1.9/AUTHORS
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/AUTHORS	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/AUTHORS	(revision 3089)
@@ -0,0 +1,10 @@
+Authors of GNU Automake.
+
+David Mackenzie.  First version of most ".am" files.
+Wrote sh version of automake.in.
+
+Tom Tromey.  Touched all ".am" files.
+Rewrote automake.in
+
+Alexandre Oliva.  Some of the user-side dependency tracking system.
+Some more random hacking.
Index: /trunk/essentials/sys-devel/automake-1.9/COPYING
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/COPYING	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/COPYING	(revision 3089)
@@ -0,0 +1,345 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
Index: /trunk/essentials/sys-devel/automake-1.9/ChangeLog
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/ChangeLog	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/ChangeLog	(revision 3089)
@@ -0,0 +1,4912 @@
+2005-07-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.6.
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+2005-07-09  Stepan Kasal  <kasal@ucw.cz>
+
+	* doc/automake.texi (Public macros): Typo.
+	* aclocal.in: Typo in comment.
+
+2005-07-09  Zack Weinberg  <zack@codesourcery.com>  (tiny change)
+
+	* lib/depcomp: Handle "#line" markers as well as "# " markers in
+	"cpp" style, so it can work with newer HP compilers (for their
+	ia64 systems).
+
+2005-07-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.5c.
+
+	* configure.ac, NEWS: Bump version to 1.9.5b.
+
+	* doc/automake.texi (Public macros) <AM_WITH_DMALLOC>: Reword to
+	fix an underful hbox.
+	* lib/INSTALL, lib/config.guess, lib/config.sub, lib/texinfo.tex:
+	New upstream versions.
+
+2005-07-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add python2.5.
+
+2005-06-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (read_am_file): Correctly diagnose comments following
+	trailing backslash.
+	* tests/commen10.test: New file.
+	* tests/Makefile.am (TESTS): Add commen10.test.
+	Report from Harald Dunkel.
+
+2005-06-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/mkinstalldirs: Fix support for directory name with spaces if
+	`mkdir -p' does not work.
+	* tests/Makefile.am (TESTS): Add mkinst3.test.
+	* tests/mkinst3.test: New file.
+	Report from Noah Friedman.
+
+	* doc/automake.texi (Include, Extending aclocal): Typos.
+	Report from Karl Berry.
+
+2005-06-28  Stepan Kasal  <kasal@ucw.cz>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/mdate-sh: Avoid infinite loop with GNU ls when TIME_STYLE is set.
+	* tests/txinfo28.test: Set TIME_STYLE.
+	Report from Vincent Lefevre and James Youngman.
+
+2005-06-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (define, _new): Remember the helper
+	variable created for the last conditional += on each variable, and
+	only append further += in the same condition to this last helper
+	variable, not to older helper variables.  This way the order of
+	the items appended to the variable is preserved.
+	* tests/cond21.test: Adjust.
+	* tests/cond38.test: New file.
+	* tests/Makefile.am (TESTS): Add cond38.test.
+	Report from Ed Hartnett.
+
+2005-06-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/aclocal5.test: Adjust to recent CVS Autoconf changes.
+
+	* automake.in (handle_footer): Do not output an unformatted
+	definition of SOURCES, it is already done correctly in
+	generate_makefile.  This superfluous definition introduced long
+	lines in some Makefiles, hence breakages in tools with a limited
+	line length.  Report from Mathias Froehlich.
+
+2005-06-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
+	Fix redirections in previous patch.
+
+2005-06-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texibuild.am (?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%):
+	Do not backup any file if makeinfo is not installed.
+	* lib/missing (makeinfo): Do not touch a missing info file.
+	* tests/txinfo30.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo30.test.
+	Report from Bob Proulx.
+
+	* doc/automake.texi (Extending aclocal): Typo.
+
+2005-05-24  Brian Gough  <bjg@network-theory.co.uk>  (tiny change)
+
+	* lib/am/texinfos.am (.dvi.ps): Add $(am__TEXINFO_TEX_DIR) to TEXINPUTS.
+
+2005-05-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix PR automake/461:
+	* automake.in (require_build_directory): Canonicalize directories
+	with different names, such as `foo/bar' and `./foo//bar'.
+	* tests/subobj9.test: Augment to test that.
+	Report from Tom Tromey.
+
+2005-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02,
+	ChangeLog.96, ChangeLog.98, HACKING, Makefile.am, NEWS, README,
+	TODO, aclocal.in, automake.in, bootstrap, configure, configure.ac,
+	doc/Makefile.am, doc/fdl.texi, lib/COPYING, lib/Makefile.am,
+	lib/acinstall, lib/compile, lib/config-ml.in, lib/config.guess,
+	lib/config.sub, lib/depcomp, lib/elisp-comp, lib/gnupload,
+	lib/install-sh, lib/mdate-sh, lib/missing, lib/mkinstalldirs,
+	lib/py-compile, lib/symlink-tree, lib/texinfo.tex, lib/ylwrap,
+	lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
+	lib/Automake/Condition.pm, lib/Automake/Config.in,
+	lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm,
+	lib/Automake/FileUtils.pm, lib/Automake/General.pm,
+	lib/Automake/Item.pm, lib/Automake/ItemDef.pm,
+	lib/Automake/Location.pm, lib/Automake/Makefile.am,
+	lib/Automake/Options.pm, lib/Automake/Rule.pm,
+	lib/Automake/RuleDef.pm, lib/Automake/Struct.pm,
+	lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
+	lib/Automake/Version.pm, lib/Automake/Wrap.pm,
+	lib/Automake/XFile.pm, lib/Automake/tests/Condition.pl,
+	lib/Automake/tests/DisjConditions.pl,
+	lib/Automake/tests/Makefile.am, lib/Automake/tests/Version.pl,
+	lib/Automake/tests/Wrap.pl, lib/am/Makefile.am,
+	lib/am/ansi2knr.am, lib/am/check.am, lib/am/clean-hdr.am,
+	lib/am/clean.am, lib/am/compile.am, lib/am/configure.am,
+	lib/am/data.am, lib/am/dejagnu.am, lib/am/depend.am,
+	lib/am/depend2.am, lib/am/distdir.am, lib/am/footer.am,
+	lib/am/header-vars.am, lib/am/header.am, lib/am/inst-vars.am,
+	lib/am/install.am, lib/am/java.am, lib/am/lang-compile.am,
+	lib/am/lex.am, lib/am/library.am, lib/am/libs.am,
+	lib/am/libtool.am, lib/am/lisp.am, lib/am/ltlib.am,
+	lib/am/ltlibrary.am, lib/am/mans-vars.am, lib/am/mans.am,
+	lib/am/multilib.am, lib/am/program.am, lib/am/progs.am,
+	lib/am/python.am, lib/am/remake-hdr.am, lib/am/scripts.am,
+	lib/am/subdirs.am, lib/am/tags.am, lib/am/texi-vers.am,
+	lib/am/texibuild.am, lib/am/texinfos.am, lib/am/yacc.am,
+	m4/Makefile.am, tests/aclibobj.test, tests/acloca10.test,
+	tests/acloca11.test, tests/acloca12.test, tests/acloca13.test,
+	tests/acloca14.test, tests/acloca15.test, tests/acloca16.test,
+	tests/acloca17.test, tests/acloca19.test, tests/aclocal.test,
+	tests/aclocal3.test, tests/aclocal4.test, tests/aclocal5.test,
+	tests/aclocal6.test, tests/aclocal7.test, tests/aclocal8.test,
+	tests/aclocal9.test, tests/acoutbs.test, tests/acoutbs2.test,
+	tests/acoutnoq.test, tests/acoutpt.test, tests/acoutpt2.test,
+	tests/acoutqnl.test, tests/acsilent.test, tests/acsubst.test,
+	tests/acsubst2.test, tests/all.test, tests/alloca.test,
+	tests/alloca2.test, tests/alpha.test, tests/alpha2.test,
+	tests/amassign.test, tests/ammissing.test, tests/ansi.test,
+	tests/ansi10.test, tests/ansi2.test, tests/ansi3.test,
+	tests/ansi3b.test, tests/ansi4.test, tests/ansi5.test,
+	tests/ansi6.test, tests/ansi7.test, tests/ansi8.test,
+	tests/ansi9.test, tests/ar.test, tests/ar2.test, tests/asm.test,
+	tests/autohdr.test, tests/autohdr2.test, tests/autohdr3.test,
+	tests/autohdr4.test, tests/auxdir.test, tests/auxdir2.test,
+	tests/auxdir3.test, tests/auxdir4.test, tests/backsl.test,
+	tests/backsl2.test, tests/backsl3.test, tests/backsl4.test,
+	tests/badline.test, tests/badopt.test, tests/badprog.test,
+	tests/block.test, tests/bsource.test, tests/canon.test,
+	tests/canon2.test, tests/canon3.test, tests/canon4.test,
+	tests/canon5.test, tests/ccnoco.test, tests/check.test,
+	tests/check2.test, tests/check3.test, tests/check4.test,
+	tests/checkall.test, tests/clean.test, tests/clean2.test,
+	tests/colneq.test, tests/colneq2.test, tests/colon.test,
+	tests/colon2.test, tests/colon3.test, tests/colon4.test,
+	tests/colon5.test, tests/colon6.test, tests/colon7.test,
+	tests/comment.test, tests/comment2.test, tests/comment3.test,
+	tests/comment4.test, tests/comment5.test, tests/comment6.test,
+	tests/comment7.test, tests/comment8.test, tests/comment9.test,
+	tests/compile.test, tests/compile_f90_c_cxx.test,
+	tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test,
+	tests/cond11.test, tests/cond13.test, tests/cond14.test,
+	tests/cond15.test, tests/cond16.test, tests/cond17.test,
+	tests/cond18.test, tests/cond19.test, tests/cond2.test,
+	tests/cond20.test, tests/cond21.test, tests/cond22.test,
+	tests/cond23.test, tests/cond24.test, tests/cond25.test,
+	tests/cond26.test, tests/cond27.test, tests/cond28.test,
+	tests/cond29.test, tests/cond3.test, tests/cond30.test,
+	tests/cond31.test, tests/cond32.test, tests/cond33.test,
+	tests/cond34.test, tests/cond35.test, tests/cond36.test,
+	tests/cond37.test, tests/cond4.test, tests/cond5.test,
+	tests/cond6.test, tests/cond7.test, tests/cond8.test,
+	tests/cond9.test, tests/condd.test, tests/condhook.test,
+	tests/condinc.test, tests/condinc2.test, tests/condlib.test,
+	tests/condman.test, tests/condman2.test, tests/conf2.test,
+	tests/confdeps.test, tests/conff.test, tests/conff2.test,
+	tests/confh.test, tests/confh4.test, tests/confh5.test,
+	tests/config.test, tests/confincl.test, tests/conflnk.test,
+	tests/conflnk2.test, tests/conflnk3.test, tests/confsub.test,
+	tests/confvar.test, tests/confvar2.test, tests/copy.test,
+	tests/ctarget1.test, tests/cxx.test, tests/cxx2.test,
+	tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test,
+	tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test,
+	tests/cygwin32.test, tests/dash.test, tests/defs.in,
+	tests/defun.test, tests/defun2.test, tests/dejagnu.test,
+	tests/dejagnu2.test, tests/dejagnu3.test, tests/dejagnu4.test,
+	tests/dejagnu5.test, tests/dejagnu6.test, tests/dejagnu7.test,
+	tests/depacl2.test, tests/depcomp.test, tests/depcomp2.test,
+	tests/depcomp3.test, tests/depcomp4.test, tests/depcomp5.test,
+	tests/depdist.test, tests/depend.test, tests/depend2.test,
+	tests/depend3.test, tests/depend4.test, tests/destdir.test,
+	tests/dirforbid.test, tests/dirlist.test, tests/discover.test,
+	tests/distcom2.test, tests/distcom3.test, tests/distcom4.test,
+	tests/distcom5.test, tests/distcom6.test, tests/distcom7.test,
+	tests/distdir.test, tests/distname.test, tests/dollar.test,
+	tests/double.test, tests/dup2.test, tests/else.test,
+	tests/empty.test, tests/empty2.test, tests/empty3.test,
+	tests/empty4.test, tests/exdir.test, tests/exdir2.test,
+	tests/exeext.test, tests/exeext2.test, tests/exeext3.test,
+	tests/exeext4.test, tests/exsource.test, tests/ext.test,
+	tests/ext2.test, tests/extra.test, tests/extra2.test,
+	tests/extra3.test, tests/extra4.test, tests/extra5.test,
+	tests/extra6.test, tests/extra7.test, tests/f90only.test,
+	tests/flibs.test, tests/fn99.test, tests/fnoc.test, tests/fo.test,
+	tests/fonly.test, tests/fortdep.test, tests/fpinst2.test,
+	tests/fpinstall.test, tests/gcj.test, tests/gcj2.test,
+	tests/gcj3.test, tests/gcj4.test, tests/gcj5.test,
+	tests/getopt.test, tests/gettext.test, tests/gettext2.test,
+	tests/gnits.test, tests/gnits2.test, tests/gnits3.test,
+	tests/gnumake.test, tests/gnuwarn.test, tests/gnuwarn2.test,
+	tests/header.test, tests/help.test, tests/hfs.test,
+	tests/hosts.test, tests/implicit.test, tests/include.test,
+	tests/include2.test, tests/info.test, tests/insh2.test,
+	tests/install2.test, tests/installdir.test, tests/instdat.test,
+	tests/instdat2.test, tests/instexec.test, tests/insthook.test,
+	tests/instman.test, tests/instman2.test, tests/instsh.test,
+	tests/instsh2.test, tests/instspc.test, tests/interp.test,
+	tests/interp2.test, tests/java.test, tests/java2.test,
+	tests/java3.test, tests/javaprim.test, tests/javasubst.test,
+	tests/ldadd.test, tests/ldflags.test, tests/lex.test,
+	tests/lex2.test, tests/lex3.test, tests/lex4.test,
+	tests/lex5.test, tests/libobj10.test, tests/libobj11.test,
+	tests/libobj12.test, tests/libobj13.test, tests/libobj14.test,
+	tests/libobj2.test, tests/libobj3.test, tests/libobj4.test,
+	tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
+	tests/library.test, tests/library2.test, tests/library3.test,
+	tests/libtool.test, tests/libtool2.test, tests/libtool3.test,
+	tests/libtool4.test, tests/libtool5.test, tests/libtool6.test,
+	tests/libtool7.test, tests/libtool8.test, tests/license.test,
+	tests/link_c_cxx.test, tests/link_dist.test,
+	tests/link_f90_only.test, tests/link_f_only.test,
+	tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test,
+	tests/lisp2.test, tests/lisp3.test, tests/lisp4.test,
+	tests/lisp5.test, tests/lisp6.test, tests/lisp7.test,
+	tests/lisp8.test, tests/listval.test, tests/location.test,
+	tests/longlin2.test, tests/longline.test, tests/ltcond.test,
+	tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test,
+	tests/ltlibobjs.test, tests/ltlibsrc.test, tests/maintclean.test,
+	tests/make.test, tests/makej.test, tests/makevars.test,
+	tests/man.test, tests/man2.test, tests/mclean.test,
+	tests/mdate.test, tests/mdate2.test, tests/mdate3.test,
+	tests/mdate4.test, tests/missing.test, tests/missing2.test,
+	tests/missing3.test, tests/mkinst2.test, tests/mkinstall.test,
+	tests/multlib.test, tests/nobase.test, tests/nodef.test,
+	tests/nodef2.test, tests/nodep.test, tests/nodepcomp.test,
+	tests/nodist.test, tests/nodist2.test, tests/nodist3.test,
+	tests/nogzip.test, tests/nogzip2.test, tests/noinst.test,
+	tests/noinstdir.test, tests/nolink.test, tests/nostdinc.test,
+	tests/number.test, tests/obsolete.test, tests/order.test,
+	tests/outdir.test, tests/output.test, tests/output10.test,
+	tests/output2.test, tests/output3.test, tests/output4.test,
+	tests/output5.test, tests/output6.test, tests/output7.test,
+	tests/output8.test, tests/output9.test, tests/overrid.test,
+	tests/parse.test, tests/percent.test, tests/percent2.test,
+	tests/phony.test, tests/pluseq.test, tests/pluseq10.test,
+	tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test,
+	tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test,
+	tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test,
+	tests/ppf77.test, tests/pr2.test, tests/pr204.test,
+	tests/pr211.test, tests/pr220.test, tests/pr224.test,
+	tests/pr229.test, tests/pr243.test, tests/pr266.test,
+	tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
+	tests/pr300-lib.test, tests/pr300-ltlib.test,
+	tests/pr300-prog.test, tests/pr307.test, tests/pr72.test,
+	tests/pr87.test, tests/pr9.test, tests/prefix.test,
+	tests/primary.test, tests/primary2.test, tests/primary3.test,
+	tests/proginst.test, tests/python.test, tests/python10.test,
+	tests/python11.test, tests/python12.test, tests/python2.test,
+	tests/python3.test, tests/python4.test, tests/python5.test,
+	tests/python6.test, tests/python7.test, tests/python8.test,
+	tests/python9.test, tests/recurs.test, tests/recurs2.test,
+	tests/regex.test, tests/remake.test, tests/remake2.test,
+	tests/remake3.test, tests/remake4.test, tests/remake5.test,
+	tests/req.test, tests/reqd.test, tests/reqd2.test,
+	tests/rulepat.test, tests/scripts.test, tests/seenc.test,
+	tests/sinclude.test, tests/space.test, tests/specflg.test,
+	tests/specflg2.test, tests/specflg3.test, tests/specflg6.test,
+	tests/specflg7.test, tests/specflg8.test, tests/specflg9.test,
+	tests/spell.test, tests/spell2.test, tests/spell3.test,
+	tests/spelling.test, tests/spy.test, tests/srcsub.test,
+	tests/srcsub2.test, tests/stamph2.test, tests/stdlib.test,
+	tests/stdlib2.test, tests/strip.test, tests/subcond.test,
+	tests/subcond2.test, tests/subcond3.test, tests/subdir.test,
+	tests/subdir2.test, tests/subdir3.test, tests/subdir4.test,
+	tests/subdir5.test, tests/subdir6.test, tests/subdir7.test,
+	tests/subdir8.test, tests/subdir9.test,
+	tests/subdirbuiltsources.test, tests/subobj.test,
+	tests/subobj2.test, tests/subobj3.test, tests/subobj4.test,
+	tests/subobj5.test, tests/subobj6.test, tests/subobj7.test,
+	tests/subobj8.test, tests/subobj9.test, tests/subobjname.test,
+	tests/subpkg.test, tests/subpkg2.test, tests/subst.test,
+	tests/subst2.test, tests/substre2.test, tests/substref.test,
+	tests/substtarg.test, tests/suffix.test, tests/suffix10.test,
+	tests/suffix11.test, tests/suffix2.test, tests/suffix3.test,
+	tests/suffix4.test, tests/suffix5.test, tests/suffix6.test,
+	tests/suffix7.test, tests/suffix8.test, tests/suffix9.test,
+	tests/symlink.test, tests/symlink2.test, tests/symlink3.test,
+	tests/syntax.test, tests/tags.test, tests/tagsub.test,
+	tests/tar.test, tests/tar2.test, tests/tar3.test,
+	tests/target-cflags.test, tests/targetclash.test,
+	tests/transform.test, tests/txinfo.test, tests/txinfo10.test,
+	tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test,
+	tests/txinfo18.test, tests/txinfo19.test, tests/txinfo2.test,
+	tests/txinfo20.test, tests/txinfo21.test, tests/txinfo22.test,
+	tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test,
+	tests/txinfo26.test, tests/txinfo27.test, tests/txinfo28.test,
+	tests/txinfo29.test, tests/txinfo3.test, tests/txinfo4.test,
+	tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test,
+	tests/txinfo8.test, tests/txinfo9.test, tests/unused.test,
+	tests/vars.test, tests/vars3.test, tests/vartar.test,
+	tests/version.test, tests/version2.test, tests/version3.test,
+	tests/version4.test, tests/version6.test, tests/version7.test,
+	tests/vpath.test, tests/vtexi.test, tests/vtexi2.test,
+	tests/warnopts.test, tests/werror.test, tests/werror2.test,
+	tests/whoami.test, tests/xsource.test, tests/yacc.test,
+	tests/yacc2.test, tests/yacc3.test, tests/yacc4.test,
+	tests/yacc5.test, tests/yacc6.test, tests/yacc7.test,
+	tests/yacc8.test, tests/yaccpp.test, tests/yaccvpath.test:
+	Update FSF postal mail address.
+
+	* tests/cxxnoc.test: Adjust grep pattern for CC, because CVS
+	Autoconf currently defines a CCC variable.
+
+2005-04-18  Jim Meyering  <jim@meyering.net>
+
+	* doc/automake.texi (Dist): Correct English.
+
+2005-03-31  Stepan Kasal  <kasal@ucw.cz>
+
+	* doc/automake.texi: When the phrase "for instance" introduces a
+	sentence, it should be delimited by a comma.
+
+	* doc/automake.texi: Fix a few typos.
+
+2005-03-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Uniform): Use xmldir instead of htmldir as
+	example, since the GCS now define htmldir.
+	(Auxiliary Programs): Mention config-ml.in and symlink-tree.
+	Give a URL for texinfo.tex.
+	(Public macros): Sort alphabetically, and move obsolete macros...
+	(Obsolete macros): ... here.
+	Prompted by Karl Berry.
+
+2005-03-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Multiple Outputs): Fix mistakes reported by
+	Jim Meyering.
+
+	* lib/am/lisp.am ($(am__ELCFILES)): Prevent races if the recover
+	rule is run with `make -j'.
+	* doc/automake.texi (Multiple Outputs): Adjust.
+	* tests/lisp6.test: Augment it.
+	* tests/lisp8.test: New file.
+	* tests/Makefile.am (TESTS): Add lisp8.test.
+	Suggested by Bruno Haible.
+
+2005-03-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi: Use @:, @., @!, and @tie{} where appropriate.
+
+2005-03-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/lisp.am ($(am__ELCFILES)): Do not attempt to recover
+	a missing *.elc file if it cannot be created because emacs does
+	not exist.
+	* tests/lisp7.test: New file.
+	* tests/Makefile.am (TESTS): Add lisp7.test.
+	Report from Greg Schafer.
+
+2005-03-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi: Replace wicked whiches by thats.
+
+2005-03-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (scan_configure_dep, scan_file): Include file names
+	are relative to the directory of configure.ac, not to the
+	directory of the file doing the include.  Remove code for this
+	latter case.
+	(rel2abs): Remove, unused.
+	* tests/acloca13.test: Run distcheck and make sure all macros are
+	actually distributed.
+
+2005-03-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/450:
+	* aclocal.in (scan_file, scan_configure_dep): Skip missing sincluded
+	files.
+	* automake.in (scan_autoconf_traces): Likewise.
+	* tests/sinclude.test: Augment.
+	Report from Peter Breitenlohner.
+
+	For PR automake/450:
+	* aclocal.in (write_aclocal, trace_used_macros): Do not add/remove
+	acinclude.m4 and configure.ac to the include map in these two
+	places ...
+	(strip_redundant_includes): ... do it here.  This completes the
+	previous change from 2005-03-01, that did not update
+	write_aclocal.
+	* tests/acloca19.test: Augment.
+	Report from Peter Breitenlohner.
+
+2005-03-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/comment9.test: Typo.
+
+2005-03-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (read_am_file): Preserve backslashes preceding ##-lines.
+	* tests/comment9.test: New file.
+	* tests/Makefile.am (TESTS): Add comment9.test.
+	Report from Julien Sopena.
+
+	For PR automake/450:
+	* aclocal.in (trace_used_macros): Do not explicitly trace files
+	included by configure.ac.
+	* tests/acloca19.test: New file.
+	* tests/Makefile.am (TESTS): Add acloca19.test.
+	Report from Peter Breitenlohner.
+
+2005-02-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi: Replace many uses of @samp by @code, and
+	vice versa.  Use @command, @option, and @env where appropriate.
+
+2005-02-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi: "filename" -> "file name", for consistency
+	with GNU Coding Standards.  See also Paul's change on 2004-08-20
+	in Autoconf.
+
+	* doc/automake.texi (A Library, Libtool Libraries): Show how to link
+	a program with a static or libtool library.
+	(Program and Library Variables): Make clearer that _LDADD and
+	_LIBADD may also list libraries.
+	Prompted by a mail from Bruce Korb.
+
+	* doc/automake.texi (Alternative): Show how to rewrite nobase_
+	variables using custom directory variables, and link to node
+	Uniform.  Suggested by Leonardo Boiko.
+
+	* doc/automake.texi (Flag Variables Ordering, User Variables):
+	Make clearer who the maintainer is, and that he can AC_SUBST AM_
+	variables in configure.ac.  Suggested by Norman Gray.
+	(Uniform, Public macros, Libtool Issues, Java Support,
+	Conditionals): Use `---' for em dash, and stick them to the
+	enclosing text.
+
+	* doc/automake.texi: Reword a few sentences to fix all underflow
+	and overflow warnings during `make dvi'.
+	(Auxiliary Programs) <configure.guess, config.sub>: Update URL.
+	(Public macros) <AM_WITH_DMALLOC>: Likewise.
+
+2005-02-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.5a.
+
+	* configure.ac, NEWS: Bump version to 1.9.5.
+
+2005-02-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/INSTALL, lib/config-ml.in, lib/config.guess, lib/config.sub,
+	lib/texinfo.tex: New upstream versions.
+
+	* doc/automake.texi (Hard-Coded Install Paths): New node.
+	(Extending, Extending aclocal, Python): Link to it.
+	(Extending): Don't show how to install a file in /etc/ directly,
+	this is insane.
+
+	* automake.in (read_am_file): Define variables containing long
+	lines as VAR_PRETTY to work around tools with limited input width.
+	* tests/longlin2.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	Report from Albert Chin.
+
+2005-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/447:
+	* lib/depcomp (tru64) [libtool]: Also check for	$dir.libs/$base.o.d.
+	Report from Mathias Doreille.  Add some old comments from
+	Nicolas Joly for reference.
+
+2005-02-08  Stepan Kasal  <kasal@ucw.cz>
+
+	* lib/mdate-sh: Check the size of the word following the month to
+	catch Darwin.  This way the filename can contain spaces.
+
+	* doc/automake.texi (Options): Typo.
+
+2005-02-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/missing (makeinfo): Compute the output file if neither -o
+	nor @setfilename is used.
+	Reported by Miroslaw Dobrzanski-Neumann and Bruno Haible.
+
+2005-02-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/mdate-sh: Cope with Darwin's Day/Month/Year output.
+	Report from Peter O'Gorman.
+
+2005-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lib/compile: Likewise.
+
+2005-02-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/elisp-comp: Use `(exit N); exit N', not `(exit N); exit';
+	see 2004-12-17.
+	* lib/mdate-sh, lib/py-compile, lib/ylwrap: Exit with nonzero
+	status if a write failure occurs with --help or --version option,
+	as below.
+
+2005-02-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lib/depcomp: Exit with nonzero status if a write failure occurs
+	with --help or --version option.
+	* lib/elisp-comp: Likewise.
+	* lib/gnupload: Likewise.
+	* lib/install-sh: Likewise.
+	* lib/missing: Likewise.
+	* lib/mkinstalldirs: Likewise.
+
+2005-01-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Macro search path): Using --acdir is not
+	obvious, it's erroneous.
+
+2005-01-27  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/Configure_ac.pm: s/filename/file_name/g.
+	From Paul Eggert.
+
+2005-01-24  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/FileUtils.pm: Rename filename as file_name to be
+	consistent with the terminology of the GNU coding standards.
+	From Paul Eggert.
+	(update_file): Accept a $force argument, so that --force always
+	updates the time stamps.
+
+2005-01-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (How the Linker is Chosen): Explain how the
+	linker is chosen without diagram, and update to match the code.
+	Suggestion from Adrian Bunk.
+
+2005-01-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/subdirs.am ($(RECURSIVE_TARGETS), mostlyclean-recursive,
+	clean-recursive, distclean-recursive, maintainer-clean-recursive):
+	Process all words of $MAKEFLAGS when checking for -k.
+	* tests/check4.test: New file.
+	* tests/Makefile.am (TESTS): Add check4.test.
+	Report from Eric Blake.
+
+2005-01-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/amversion.in, m4/as.m4, m4/auxdir.m4, m4/ccstdc.m4,
+	m4/cond.m4, m4/depend.m4, m4/depout.m4, m4/dmalloc.m4, m4/gcj.m4,
+	m4/header.m4, m4/init.m4, m4/install-sh.m4, m4/lead-dot.m4,
+	m4/lex.m4, m4/lispdir.m4, m4/maintainer.m4, m4/make.m4,
+	m4/minuso.m4, m4/missing.m4, m4/mkdirp.m4, m4/multi.m4,
+	m4/obsol-gt.m4, m4/obsol-lt.m4, m4/obsolete.m4, m4/options.m4,
+	m4/protos.m4, m4/python.m4, m4/regex.m4, m4/runlog.m4,
+	m4/sanity.m4, m4/strip.m4, m4/tar.m4: Use the same all-permissive
+	license that is used in aclocal.m4.  Relicensing backed by RMS.
+
+	* doc/automake.texi (A Library, LIBOBJS): Mention that empty
+	libraries are not portable.
+
+2005-01-05  Akim Demaille  <akim@epita.fr>
+
+	* aclocal.in ($ac_defun_rx): Match AU_ALIAS.
+	* tests/aclocal5.test (MORE_DEFS): Rename as...
+	(AM_TEST): this so that undefined macros are caught.
+	And make it an alias of AC_SUBST.
+	Test AU_ALIAS.
+	Reported by Martin Bravenboer.
+
+2005-01-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/exdir2.test: Do not use `htmldir' as example of
+	undefined directory.
+
+	* aclocal.in (parse_arguments, write_aclocal): Bump copyright year.
+	* automake.in ($gen_copyright, version): Likewise.
+
+2004-12-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/man2.test, tests/transform.test: Specify --mandir, in order
+	not to fail when Autoconf changes its $mandir default.
+
+2004-12-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (Preprocessed Fortran): Fix the definition of FCLINK.
+
+	* lib/am/texinfos.am (uninstall-info-am): Hide the invocation of
+	$(PRE_UNINSTALL).
+
+2004-12-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* lib/am/texinfos.am (uninstall-info-am): Show change of
+	directory while uninstalling DJGPP-style info files.
+
+2004-12-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.4a.
+
+	* configure.ac, NEWS: Bump version to 1.9.4.
+
+	* lib/config-ml.in, lib/config.guess, lib/config.sub,
+	lib/texinfo.tex: New upstream versions.
+
+	* doc/automake.texi (gettext): Move the paragraph about
+	dist_list_LISP...
+	(Emacs Lisp): ... here.
+	Report from Bruno Haible.
+
+	* doc/automake.texi: Bump GFDL version to 1.2, since that is
+	what we distribute.
+
+	* doc/automake.texi: Fix more misuses of @ref, @xref and @pxref,
+	including some of the "corrections" below.  Thanks to Karl Berry.
+
+	* doc/automake.texi: Correct several misuses of @xref and @pxref.
+
+2004-12-17  Jim Meyering  <jim@meyering.net>
+
+	* install-sh: Use `(exit N); exit N', not `(exit N); exit'.
+	Otherwise, install-sh could exit with improper exit status when
+	exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
+
+2004-12-14  Akim Demaille  <akim@epita.fr>
+
+	* doc/automake.texi (Options): Englishoes.
+	(Options): And another.
+
+2004-12-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Per-Object Flags): New node.
+
+2004-12-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix PR automake/441:
+	* lib/am/java.am (install-%DIR%JAVA, uninstall-%DIR%JAVA): Do
+	not install *.class if "$(%DIR%_JAVA)" is empty.
+	* tests/java3.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	Report from Johannes Nicolai.
+
+	* doc/automake.texi (Java): Mention dist_ and add an example.
+	* tests/java.test: Do actually compile java files and run distcheck.
+
+2004-12-08  Peter O'Gorman  <peter@pogma.com>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/FileUtils.pm (dir_has_case_matching_file,
+	reset_dir_cache): New functions.
+	* automake.in (handle_dist, require_file_internal): Use them, so
+	that CHANGELOG is not confused with ChangeLog on case-insensitive
+	case-preserving file systems.
+	* tests/hfs.test: New file.
+	* tests/Makefile.am (TESTS): Add hfs.test.
+
+2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* lib/mdate-sh: Don't use "set - x`$ls_command /`", as zsh mishandles
+	the spaces inside $ls_command.  Problem reported by Loulou Pouchet in
+	<http://lists.gnu.org/archive/html/autoconf/2004-12/msg00074.html>.
+	Don't use "set - x"; plain "set x" is enough, and simplifies debugging.
+
+2004-12-05  Toshio Kuratomi  <toshio@tiki-lounge.com>
+
+	* lib/py-compile: Add --destdir switch to py-compile that takes a
+	path argument that is not compiled into the file when byte compiling.
+	* lib/am/python.am: Use the new py-compile arguments to not include
+	DESTDIR in the byte compiled files.
+	* tests/python12.test: Test that DESTDIR won't be byte compiled into
+	python files.
+
+2004-12-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Clean): Typo.
+
+	* doc/automake.texi: Use @acindex for Autoconf macros, and @vindex
+	for variables (@cvindex was previously used for both).  Separate
+	these two indices in the output.  Use @code, @file, and @command
+	in @cindex lines wherever appropriate so they render nicely.
+
+2004-12-05  Stepan Kasal  <kasal@ucw.cz>
+
+	* doc/automake.texi (renamed objects, CVS): Typos.
+
+2004-12-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Flag Variables Ordering): New section.
+	(User Variables, Program and Library Variables): @xref it.
+
+2004-11-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Conditional Subdirectories): More comments
+	about non-distributed subdirectories.
+
+2004-11-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* doc/automake.texi (Built sources example): Fix typo.
+
+2004-11-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Run programs with
+	/dev/null as input, so we do not hang on programs that read their
+	input without supporting --help and --version.
+	* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise for scripts.
+	* tests/gnits2.test: Change scriptnok.sh to cat its input.
+	Report and fix from James Youngman.
+
+2004-11-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/python.m4 (AM_PATH_PYTHON): Fix the invocation of
+	AC_PATH_PROGS to correctly define PYTHON as `:' when no interpreter
+	is found (this worked correctly only when a minimal version was
+	passed to AM_PATH_PYTHON).  Report from Stepan Kasal.
+	(_AM_PYTHON_INTERPRETER_LIST): Define using m4_define_default,
+	so we can easily override the list from the test suite.
+	* tests/python11.test: New file.
+	* tests/Makefile.am (TESTS): Add python11.test.
+
+	* doc/automake.texi (Libtool Modules): Make clearer that -module
+	should appear explicitly in _LDFLAGS.
+
+2004-11-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.3a.
+
+	* configure.ac, NEWS: Bump version to 1.9.3.
+
+	* lib/config.guess, lib/texinfo.tex: New upstream versions.
+
+	* doc/automake.texi (LIBOBJS): Spelling and grammar corrections
+	from Ralf Wildenhues.
+
+2004-10-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (LIBOBJS): Augment with an example setup.
+	(LTLIBOBJ): Rename as ...
+	(LTLIBOBJS): ... this.  Link to LIBOBJS, and mention LTALLOCA.
+
+2004-10-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi: Untabify, tabs in the examples are poorly
+	rendered.
+	* Makefile.am (maintainer-check): Grep tabs in the manual.
+
+	* tests/comment8.test: Use $MAKE, not make.
+
+2004-10-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/distcom3.test: Typo.
+
+2004-10-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Libtool Convenience Libraries): Explain how
+	to force the linker selection.
+
+	* lib/install-sh: Fix the dirname emulation to ignore trailing
+	slashes, i.e., the direname of `a/b/' is `a', not `a/b/'.  This
+	caused `install-sh a/b/' to fail.
+	* tests/instsh2.test: Augment.
+	Report from ÐÑÑ
+Ð°Ð»ÑÑÐºÐžÐ¹ Ð®ÑÐžÐ¹ ÐÐœÐŽÑÐµÐµÐ²ÐžÑ.
+
+2004-10-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (get_object_extension): The extension to use is know
+	by the caller, and cannot be selected by looking only at the
+	target name.  Simplify this function to simply conditionally
+	prepend $U to the given extension.
+	(handle_programs, handle_libraries, handle_ltlibraries): Hard-code
+	the extension to use.  This way Automake won't mistake a program
+	named `foo.la' as a libtool library.
+	* tests/primary3.test: New file.
+	* tests/Makefile.am (TESTS): Add primary3.test.
+
+2004-10-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Install): Link to node Extending for examples.
+	(Extending): More comments about install-data-hook vs
+	install-exec-hook, and link to Install.
+
+	* configure.ac: Export @am_AUTOCONF@.
+	* tests/defs.in (AUTOCONF): Define as @am_AUTOCONF@, not @AUTOCONF@,
+	so the test suite runs `autoconf' and not `missing --run autoconf'.
+	* tests/missing.test, tests/missing2.test: Arrange for missing
+	to be used in front of autoconf even if the user has exported
+	AUTOCONF.  This fixes two spurious failures reported by
+	Mark D. Baushke.
+
+	* lib/compile: Handle output.obj in addition to output.o.
+	* tests/compile.test: Check for this.
+
+2004-10-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Sources): Typo, reported by Karl Berry.
+
+2004-10-10  Kelley Cook  <kcook@gcc.gnu.org>  (tiny change)
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in ($ac_defun_rx): Match AC_DEFUN_ONCE.
+	(trace_used_macros): Trace AC_DEFUN_ONCE.
+	* tests/aclocal5.test: Use AC_DEFUN_ONCE.
+
+2004-10-10  Stepan Kasal  <kasal@ucw.cz>  (tiny change)
+
+	* doc/automake.texi (Extending): Typo.
+
+2004-09-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/subobj9.test: Adjust regexes after previous patch.
+
+2004-09-28  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_languages, define_compiler_variable): Output
+	Libtool's --tag= option before --mode=compile, because depcomp use
+	--mode=compile as end marker for libtool arguments.
+	(define_linker_variable): Likewise before --mode=link, for
+	uniformity.
+	* tests/pr307.test: Make sure dependency files are updated.  That
+	was not the case because depcomp thought `--tag=CC' was the
+	compiler to get dependencies from.
+	Report from ÐÑÑ
+Ð°Ð»ÑÑÐºÐžÐ¹ Ð®ÑÐžÐ¹ ÐÐœÐŽÑÐµÐµÐ²ÐžÑ.
+
+2004-09-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Clean): Document -local targets.
+
+2004-09-25  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+	* doc/automake.texi: Typos.
+
+2004-09-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Typos and other English mistakes reported...
+	* doc/automake.texi (Timeline): ... by Jim and Gary.
+	* NEWS: ... by Richard Dawe.
+
+	* lib/Automake/VarDef.pm (append): Strip comments from augmented
+	variables.
+	* tests/comment8.test: New file.
+	* tests/Makefile.am (TESTS): Add comment8.test.
+	Report from Stepan Kasal.
+
+2004-09-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.2a.
+
+2004-09-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.2.
+
+	* tests/compile.test: Fix rm usage.
+
+	* INSTALL, lib/INSTALL, lib/config.sub, lib/config.guess,
+	lib/texinfo.tex: New upstream versions.
+
+	* doc/automake.texi (Timeline): New node.  Thanks to Karl and Tom
+	for their comments on a preliminary version of this, Akim for
+	digging out some old mails, and Jason Molenda for sending the note
+	about Automake in Alias to Tom.
+	(Releases): Rename `ac' to `acl', suggested by Akim.
+
+2004-09-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Releases): New node.
+
+	* doc/automake.texi (Dependencies): Link to Dependency Tracking
+	Evolution.
+	(Dependency Tracking Evolution): Link to GNU make, Sources (for
+	BUILT_SOURCES), and update the paragraph about the "plan" to
+	inline dependency tracking with gcc3.
+
+	* doc/automake.texi (History): New node.
+	(Dependency Tracking Evolution): New node, filled with a Texinfo
+	version of Tom Tromey's ``Dependency Tracking in Automake''
+	document, initially published on the Automake homepage on
+	2001-06-29.
+
+2004-09-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/compile, lib/elisp-comp, lib/install-sh, lib/ylwrap: Use $ret
+	instead of $status which is read-only in Zsh.
+
+2004-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/compile: Preserve spaces in arguments (for example
+	-DPACKAGE_STRING="foo 0.1").
+	* tests/compile.test: New file.
+	* tests/Makefile.am (TESTS): Add compile.test.
+
+2004-09-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_clean): Sort rm commands output for
+	mostlyclean-generic, clean-generic, distclean-generic, and
+	maintainer-clean-generic.
+	Report from Bob Friesenhahn.
+
+2004-09-07  Andreas Schwab  <schwab@suse.de>
+
+	* automake.in ($PATH_PATTERN): Add `+'.
+
+2004-09-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/missing3.test: New file (check for Paolo's change below).
+	* tests/Makefile.am (TESTS): Add missing3.test.
+
+2004-09-07  Paolo Bonzini  <bonzini@gnu.org>
+
+	* missing: Handle all command line options together.  Add a
+	separate case statement to detect failed runs, and fail
+	silently there if --help or --version is passed to the program.
+
+2004-08-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.1a.
+
+2004-08-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.1.
+
+	* lib/config.guess, lib/texinfo.tex: New upstream versions.
+
+	For PR automake/433:
+	* configure.ac (pkgvdatadir): Define using "$PACKAGE", not "automake".
+
+	Fix PR automake/432:
+	* lib/am/yacc.am [!%?MORE-THAN-ONE%]: Replace `#line's in y.tab.h too.
+	* tests/yacc7.test: Check this.
+
+2004-08-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (yacc_lex_finish_helper): Fix definition of YLWRAP
+	when ylwrap is installed in a default aux dir found in a parent
+	package.
+	* tests/subpkg.test: Augment to check that YLWRAP is installed
+	properly.
+	* doc/automake.texi (Yacc and Lex): ylwrap is not sought is the
+	current directory.
+	Report from Norman Gray.
+
+2004-08-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Optional): Update documentation for
+	AC_CANONICAL_BUILD, AC_CANONICAL_HOST, and AC_CANONICAL_TARGET.
+
+	* automake.in (AC_CANONICAL_HOST, AC_CANONICAL_SYSTEM): Replace by ...
+	(AC_CANONICAL_BUILD, AC_CANONICAL_HOST, AC_CANONICAL_TARGET): ... these.
+	(scan_autoconf_traces): Scan for the latter three macros instead of
+	the former two.
+	(make_paragraphs): Adjust definitions of %BUILD%, %HOST%, and %TARGET%.
+	* tests/hosts.test: New file.
+	* tests/Makefile.am (TESTS): Add hosts.test.
+	Report and test case from Norman Gray.
+
+2004-08-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (scan_file): Update "#Extending%20aclocal" URL, makeinfo
+	4.7 now outputs "#Extending-aclocal".
+
+2004-07-28  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.9.0a.
+
+	* configure.ac, NEWS: Bump version to 1.9.
+
+	* automake.in (generate_makefile): Update misleading comment about
+	libtool scripts.
+
+	* lib/texinfo.tex: New upstream version.
+
+2004-07-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/mkdirp.m4 (AM_PROG_MKDIR_P): Remove `.' from the mkdir_p
+	definition, it causes `make install' to fails for user with no
+	right to write in the source-tree.
+	* automake.in (handle_configure): Do not use mkdir_p in the
+	definition for $(mkdir_p).
+	Report from Harlan Stenn.
+
+	* lib/am/texi-vers.am (%STAMPVTI%): Typo in comment.
+
+2004-07-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Libtool Modules): Typo in example.
+	Report from Ulrich Eckhardt.
+
+2004-07-21  Andreas Schwab  <schwab@suse.de>  (tiny change)
+
+	* automake.in (check_directory): Quote $dir in regexp.
+
+2004-07-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.8e.
+
+	* configure.ac, NEWS: Bump version to 1.8d.
+
+	* lib/config-ml.in, lib/config.sub, lib/config.guess, lib/texinfo.tex:
+	New upstream versions.
+
+	* lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.html,
+	?!GENERIC?%DEST_PREFIX%.html): Use $(X), not ${X}.
+
+	* tests/installdir.test: installdirs-local should appear three times,
+	since the change from 2004-07-11 will make it PHONY.
+
+	* lib/am/distdir.am (distdir): Always use $(DIST_SUBDIRS) now
+	that it is always defined.  This is less confusing for users
+	reading the generated Makefiles.
+	* automake.in (handle_dist): Do not substitute DIST_SUBDIR_NAME.
+
+	* lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.html,
+	?!GENERIC?%DEST_PREFIX%.html): Output .htp, and then rename to .html
+	on success.  In case the target is a directory, this ensures its
+	time stamp is updated and the no files are left over inside.
+	* tests/txinfo21.test: Augment to test missing timestamp update
+	reported by Akim Demaille.
+
+	* doc/automake.texi (Top level): Rename as ...
+	(Directories): ... this, and split into ...
+	(Subdirectories, Conditional Subdirectories): ... these.
+	(Subdirectories): Illustrate the use of `.'.
+	(Conditional Subdirectories): Describe SUBDIRS and DIST_SUBDIRS
+	before the example.  Append a discussion about non-configured
+	conditional directories.
+	(Alternative): Move as a child of Directories.
+	(Subpackages): New section.
+	(Dist): Adjust links to Subdirectories, a Subpackages.
+	(Third-Party Makefiles): Link to Conditional Subdirectories.
+
+2004-07-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (target_hook): Accept %transform as last argument.
+	(handle_single_transform): Pass %transform to target_hook.
+	(handle_source_transform): Define DIST_SOURCE to tell whether
+	a the source of a file is distributed or not.
+	(lang_yacc_target_hook): Check DIST_SOURCE, and do not distribute
+	the generated header if the .y source is not distributed.
+	* tests/pr204.test: Use AM_YFLAGS = -d and make sure generated
+	headers are not distributed.
+
+2004-07-12  Simon Josefsson  <jas@extundo.com>  (tiny change)
+
+	* doc/automake.texi (Options): Improve ustar file name length
+	discussion.  Reference tar manual.
+
+2004-07-12  Ray Simard  <rhs.techlists@sylvan-glade.com>  (tiny change)
+
+	* lib/Automake/Variable.pm (define): Fix precondition check.
+
+2004-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/428:
+	Support for conditionally defined -hook and -local rules.
+	* automake.in (user_phony_rule): New function.
+	(handle_dist, handle_install, handle_all, do_check_merge_target,
+	handle_factored_dependencies): Use user_phony_rule before
+	adding a user -hook or -local rule as a dependency to ensure
+	it is always defined an phony.
+	* tests/cond37.test, tests/condhook.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+	Report from Simon Josefsson and Nik A. Melchior.
+
+2004-07-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* doc/automake.texi (Install): Warn that you should create
+	/tmp/staging before installing into it, to avoid security problems.
+	* lib/install-sh: Remove support for -b= and -t= options; this
+	has been moribund for a decade.
+	Add support for -t and -T options (new in coreutils install).
+	-c option now does nothing (the default is to copy), for
+	compatibility with BSD and coreutils 'install'.
+	Fix usage message; it referred to nonexistent variables.
+	Don't assume 'lasterr' is unset in environment.
+	* tests/instsh2.test: Don't assume that install-sh without -c
+	moves (it now copies).  Add tests for new -t and -T options.
+
+2004-06-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For Debian Bug#254372:
+	* doc/automake.texi (Invoking aclocal): Rewrite the paragraph
+	explaining m4_include is used for relative files.
+
+2004-06-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For Debian Bug #251820:
+	* aclocal.in (scan_file): Keep track of the location where each
+	file is included, and display it when reporting a missing file.
+	Pass this location to scan_file as a second argument.
+	(scan_m4_files): Adjust calls to scan_file.
+	* tests/acloca14.test: Add a test for this diagnostic.
+
+2004-06-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/tar.m4 (_AM_PROG_TAR): Split the definition of $_am_tools
+	so it works with Solaris and Tru64 /bin/sh.
+	Report from Nicolas Joly.
+
+2004-06-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/tar.m4 (_AM_PROG_TAR): Introduce $_am_tools to work around a
+	bug in NetBSD /bin/sh.
+	Report from Nicolas Joly.
+
+2004-06-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/defs.in (required=icc): Use `-V -help' instead of
+	`-V -dryrun'.  icc 8.0 fails on the latter.
+	* tests/depcomp5.test: Require depmode=icc for icc 7.x, and
+	depmod=gcc otherwise.
+	Report from Ralf Wildenhues.
+
+	* lib/am/clean.am (distclean-generic): Do no
+	`rm -f $(CONFIG_CLEAN_FILES)' if `$(CONFIG_CLEAN_FILES)' is empty.
+	Report from Nicolas Joly.
+
+2004-05-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* NEWS: Make clearer that we do not output partial Makefile.ins on
+	error.
+	Suggested by Akim Demaille.
+
+	* lib/depcomp (tru64) [libtool]: Use $dir$base.o.d instead
+	of $dir.libs/$base.o.d.  Libtool 1.5 causes both to be output,
+	and we will clean the second automatically during distclean.
+	Using the latter and leaving the former as we did before cause
+	"files left in build directory" failures during distcheck.
+	Suggested by Nicolas Joly.
+
+	* doc/automake.texi (Built sources example): Explain what
+	nodist_foo_SOURCES is (not) useful to, and use it in all the
+	examples.
+	(Tags): Mention nodist_noinst_HEADERS and nodist_prog_SOURCES.
+	Suggested by Akim Demaille.
+
+2004-05-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.8c.
+
+	* configure.ac, NEWS: Bump version to 1.8b.
+
+	* m4/tar.m4 (_AM_PROG_TAR) <cpio>: Specify -o and -i option first,
+	by POSIX; and use option -d in am_untar.
+
+	* tests/defs.in (PATH): Export it.
+
+	* lib/am/multilib.am: Add $(MAKE) comments to multido and
+	multiclean lines, to enable parallel make.  Based on a patch
+	by Alexandre Oliva applied to newlib on 2003-10-15.
+
+2004-05-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_autoconf_traces): Trace for LT_SUPPORTED_TAG
+	instead of AC_LIBTOOL_TAGS, since that how CVS Libtool has been
+	changed.
+	* tests/libtool3.test: Do not grep for --tag=CC, since CVS
+	Libtool (unlike Libtool 1.5) does not has any CC tag.
+
+	* tests/tar2.test: Skip the test if no pax archiver were found.
+
+	* NEWS: Sync with branch-1-8, and reorganize current entry.
+
+	* automake.in (handle_libraries): Make the diagnostic about
+	non standard libraries a warning in foreign packages.  This
+	is already the case in handle_ltlibraries.
+	(handle_libraries, handle_ltlibraries): Suggest a standard
+	library name in the diagnostic, to help newcomers.
+	* tests/stdlib.test, tests/stdlib2.test: Check for these
+	suggestions.
+
+	Check directory names for unportable names.  Shaking the code
+	to check this also led to the removal of the no-"/"-in-SUBDIRS
+	restriction, and a fix to _do_recursive_traversal.
+
+	* automake.in (check_directory): New function extracted from
+	handle_subdirs, and augmented to check for reserved W32/DOS name.
+	(check_directories_in_var): New function.
+	(handle_subdirs): Call check_directories_in_var.  Doing so also
+	suppress the restriction that SUBDIRS should not contain slashes.
+	(scan_autoconf_traces) <AC_CONFIG_AUX_DIR>: Call check_directory
+	to ensure the argument exists and is safe.
+	* doc/automake.texi (Top level): Do not say that src/subdir
+	cannot be put in SUBDIRS.
+	(Dist): Mention that distdir and top_distdir can be absolute.
+	* lib/Automake/Variable.pm (_do_recursive_traversal) Support
+	undefined $fun_collect, and fix two bugs introduced with
+	skip_ac_subst on 2004-03-07.
+	* lib/am/distdir.am (distdir): Use absolute distdir and
+	top_distdir when recursing, because we can no longer prepend only
+	`..' in case of SUBDIRS with `/'.
+	* tests/auxdir4.test, tests/subdir9.test: New files.
+	* tests/Makefile.am (TESTS): Add auxdir4.test.
+	* tests/cond2.test, tests/subdir7.test: Augment to check location
+	in diagnostics.
+
+2004-05-21  Eric Blake  <ebb9@byu.net>  (tiny changes)
+
+	* tests/txinfo22.test (AC_CONFIG_AUX_DIR): Use aux1, not aux, for
+	cygwin compatibility.
+	* tests/yacc6.test (AC_CONFIG_AUX_DIR): Likewise.
+
+	* tests/conflnk3.test: Isolate checking for working `test -e' into
+	a subshell, to skip this test on broken /bin/sh of solaris.
+
+2004-05-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/cond.m4 (AM_CONDITIONAL): Double-quote diagnostic.
+	* tests/condd.test: Define a macro with the same name as a
+	conditional.
+	* tests/pr220.test: Modernize, and make sure the diagnostics
+	contains the macro name.
+	Report from Volker Boerchers.
+
+2004-05-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/texinfo.tex: New upstream version.
+
+2004-05-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_dist): Always define DIST_SUBDIRS, even when
+	the no-dist or cygnus options are used.
+	* tests/clean2.test: New file.
+	* tests/Makefile.am (TESTS): Add clean2.test.
+	Report from Daniel Jacobowitz.
+
+	* aclocal.in (add_macro): Do not error out on undefined required
+	macros.  We are not sure they are really used, and Autoconf
+	already diagnoses them.
+	(scan_configure_dep): Diagnose missing AM_ macros as warnings rather
+	than errors.
+	* tests/aclocal3.test, tests/ammissing.test: Adjust to expect a
+	warning instead of an error.
+	* tests/aclocal8.test: AC_REQUIRE an undefined macro in an unused
+	macro, and ensure aclocal works anyway.
+	* tests/acloca17.test: New file.
+	* tests/error.test: Delete, superseded by tests/acloca17.test.
+	* tests/Makefile.am (TESTS): Add acloca17.test and remove error.test.
+	Report from Jim Meyering.
+
+	* lib/am/texibuild.am (?!GENERIC_INFO?%DEST_INFO_PREFIX%%DEST_SUFFIX%):
+	Fold a few lines to reduce the output by 5 lines.
+	Suggested by Karl Berry.
+
+	* automake.in (parse_arguments, MAIN): Give more precise
+	diagnostics when no input file is found.
+	* tests/output5.test: Adjust.
+	Suggested by Jens Petersen.
+
+2004-05-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/libs.am (AR, ARFLAGS): Move these definition ...
+	* automake.in (handle_libraries): ... here, so that they are
+	output even for EXTRA_LIBRARIES.
+	* tests/ar2.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	Report from Kevin Ryde.
+
+2004-05-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (generate_makefile): Do not output Makefile.in on
+	errors.
+	* tests/werror2.test: New file.
+	* tests/Makefile.am (TESTS): Add werror2.test.
+	* tests/substtarg.test, tests/cond36.test, tests/backsl4.test:
+	Adjust to run automake with -Wno-error when the output is expected
+	in spite of the error.
+	Report from Harlan Stenn.
+
+	* doc/automake.texi (Program and Library Variables): Remove
+	doubled word in footnote.
+
+	* automake.in (handle_source_transform): Also check for a
+	$(srcdir)/old_source rule when computing the default source name.
+	Propagate this $(srcdir) prefix in Automake variables.
+	* tests/ltlibsrc.test (noinst_LTLIBRARIES): Explicitly refer to
+	$(srcdir)/zoo_d_old2_la.c.  This fixes another failure with BSD Make.
+
+2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* Makefile.am (fetch): Work even with FreeBSD "make", which
+	uses sh -e and thus errors-out if a simple-command fails.
+	* lib/am/check.am (check-TESTS): Likewise.
+	* lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Likewise.
+	* lib/am/tags.am (TAGS): Likewise.
+
+2004-05-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/lex3.test, tests/yacc6.test: Require GNU Make.
+	Fixing these for BSD Make requires invasive changes (lexers and
+	parsers must be built into $srcdir, and--most annoyingly--all
+	references to parse.h must be changed to $(srcdir)/parse.h).
+	Report from Mark D. Baushke.
+
+2004-05-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/defs.in (GNUmake): Grep for GNU to parry FreeBSD make.
+	Report from Mark D. Baushke.
+
+2004-04-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/texinfo.tex: New upstream version.
+
+	* lib/depcomp (tru64): Clarify comments.  Thanks to Nicolas Joly.
+
+	* doc/automake.texi (Headers): Revamp.
+
+2004-04-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (check_typos): Clarify the diagnostic.
+	* tests/warnopts.test: Adjust.
+
+	* lib/Automake/VarDef.pm (append): Turn VAR_ASIS variables into
+	VAR_PRETTY variables to work around make implementation with
+	limited line length, such as OSF1/Tru64 make.
+	* tests/longline.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	* tests/pluseq3.test, tests/pluseq8.test: Adjust.
+	Report from Simon Josefsson.
+
+	* lib/am/tags.am (TAGS): Pass `.' to Exuberant Ctags if
+	--etags-include is used but no other files are supplied, so it
+	creates the TAGS file anyway.
+	Report from Akim Demaille.
+
+	* lib/depcomp (tru64) [libtool]: Nicolas Joly reported on
+	2002-06-12 that dependencies were output in $dir.libs/$base.lo.d.
+	Teun Burgers reported on 2004-03-30 they were in
+	$dir.libs/$base.o.d.  Try both.
+
+2004-04-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/414:
+	Introduce option filename-length-max=99.
+	* doc/automake.texi (Options): Document it.
+	* configure.ac (AM_INIT_AUTOMAKE): Use it.
+	* lib/Automake/Options.pm (_process_option_list): Recognize it.
+	* automake.in (handle_dist): Set FILENAME_FILTER.
+	* lib/am/distdir.am (distdir) [FILENAME_FILTER]: Diagnose long
+	filenames.
+	* tests/fn99.test: New file.
+	* tests/Makefile.am (TESTS): Add fn99.test.
+
+2004-04-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/414:
+	Introduce options tar-v7, tar-ustar, and tar-pax to select
+	tar format.
+	* doc/automake.texi (Options): Document them.
+	* lib/Automake/Options.pm (_process_option_list): Process
+	these new options.
+	* lib/am/distdir.am (dist-gzip, dist-bzip2, dist-tarZ, dist,
+	distcheck): Adjust to use am__tar and am__untar.
+	* m4/tar.m4: New file.
+	* m4/Makefile.am (dist_m4data_DATA): Add tar.m4.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Support the new options
+	and call _AM_PROG_TAR.
+	* tests/tar.test, tests/tar2.test, tests/tar3.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+2004-04-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/distdir.am (distcheck): Typo in shar decompression.
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+2004-04-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix PR automake/49:
+	* automake.in (scan_autoconf_traces) <AC_CONFIG_AUX_DIR>: Diagnose
+	calls to AC_CONFIG_AUX_DIR followings calls to AM_INIT_AUTOMAKE.
+	* tests/auxdir.test, tests/auxdir2.test, tests/lex5.test,
+	tests/mdate3.test, tests/multlib.test, tests/reqd2.test,
+	tests/symlink.test, tests/txinfo8.test, tests/txinfo22.test,
+	tests/yacc6.test, tests/yacc8.test: Fix to call AC_CONFIG_AUX_DIR
+	before AM_INIT_AUTOMAKE.
+	* tests/auxdir3.test: New file (exercise this diagnostic).
+	* tests/Makefile.am (TESTS): Add auxdir3.test.
+
+2004-04-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (%map_traced_defs): New variable.
+	(scan_m4_files): Normalize filenames.
+	(trace_used_macros): Trace for AC_DEFUN and AU_DEFUN, also
+	ask for the filename and the first argument.  Populate
+	%map_traced_defs.
+	(write_aclocal): Use $map_traced_defs to filter out unused
+	definitions.
+	* tests/acloca15.test: New file.
+	* tests/Makefile.am (TESTS): Add acloca15.test.
+
+2004-04-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in ($automake_needs_to_reprocess_all_files): Remove.
+	($automake_will_process_aux_dir): New variable.
+	(scan_autoconf_traces): Reorder @input_files so that the Makefile
+	that distributes aux files is processed last.  This way we do not
+	have to process all files twice using
+	$automake_will_process_aux_dir.
+	(require_file_internal): Suggest a full run of automake when
+	appropriate.
+	(MAIN): Remove the loop on $automake_needs_to_reprocess_all_files.
+	* tests/distcom7.test: New file.
+	* tests/reqd2.test: Do not check for the "running more than two"
+	message.
+	* tests/Makefile.am (TESTS): Add distcom7.test.
+
+	* automake.in (@config_aux_path, $config_aux_dir): Rename as ...
+	($config_aux_dir, $am_config_aux_dir): ... these.
+	($config_aux_dir_set_in_configure_in): Rename as ...
+	($config_aux_dir_set_in_configure_ac): ... this.
+	(%require_file_found): Rename as ...
+	(%required_file_not_found): ... this.
+	(handle_languages, handle_texinfo_helper, handle_dist,
+	handle_configure, handle_emacs_lisp, handle_python,
+	scan_autoconf_traces, yacc_lex_finish_helper): Adjust to new names.
+	(scan_autoconf_traces): Call locate_aux_dir.
+	(locate_aux_dir): New function.
+	(@require_file_paths): Remove, not used anymore.
+	(require_file_internal): Look files in only one directory (instead
+	of @require_file_internal) passed in argument.
+	(require_file, require_conf_file): Pass the destination directory
+	to require_file_internal.
+
+	Fix for PR automake/416:
+	* m4/depend.m4 (_AM_DEPENDENCIES): Catch `not supported' ICC 8.0
+	remarks.
+	From Peter Seiderer.
+
+2004-04-10  Andreas Buening  <andreas.buening@nexgo.de>
+
+	* aclocal.in, automake.in, configure.ac, Makefile.am,
+	tests/aclocal.in, tests/automake.in, tests/defs.in:
+	Use PATH_SEPARATOR from autoconf instead of ':'.
+
+2004-04-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_lib_objects): Pass the condition of
+	the variable definition to handle_LIBOBJS and handle_ALLOCA,
+	not the aggregated conditions.
+	* tests/Makefile.am (TESTS): Add libobj14.test.
+	* tests/libobj14.test: New file.
+	Report from Bill Davidson.
+
+2004-04-02  Mike Nolta  <mike@nolta.net>
+
+	Better support for Fortran 9x.
+	* automake.in: Add "fc" and "ppfc" languages for Fortran 9x.
+	* doc/automake.texi (Fortran 9x Support): New section.
+	* lib/Automake/Variable.pm (%_ac_macro_for_var): Add AC_PROG_FC.
+	* tests/compile_f90_c_cxx.test: New file.
+	* tests/ext.test: Add AC_PROG_FC.
+	* tests/f90only.test: New file.
+	* tests/link_f90_only.test: New file.
+	* tests/Makefile.am (TESTS): Add new tests.
+
+2004-04-01  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/install-sh: If "mv -f" works, use it, and fall back to
+	the old "test -f" + "rm -f" + "mv" method only if "mv -f" does
+	not work.  This improves performance in the usual case where
+	"mv -f" works.  It also lets us install the "mv" command
+	without worrying about a small window where "mv" does not
+	exist (this problem was reported by Raul Nunez de Arenas
+	Coronado).
+
+2004-03-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/python.m4 (AM_PATH_PYTHON): Make sure am_display_PYTHON is
+	set when $PYTHON has been set by the user.
+	From Esben Haabendal Soerensen.
+
+2004-03-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Default _SOURCES): Typo.
+	(true): Correct _'s placement in example.
+	Report from Stepan Kasal.
+
+2004-03-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Overriding JAVAROOT is legitimate, do not warn about it.
+	* lib/Automake/Variable.pm (%_silent_variable_override): Add JAVAROOT.
+	* tests/java2.test: Run automake without -Wno-override.
+	Report from Simon Josefsson.
+
+2004-03-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_texinfo_helper): Typos in comment.
+
+2004-03-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/config.guess: New upstream version.
+
+	Fix for PR automake/285:
+	* automake.in (handle_ltlibraries): Keep track of installation
+	directories for each condition, then define a $(am_TARGET_rpath)
+	variable to hold the -rpath flags of Libtool libraries conditionally
+	installed in different directories.
+	* lib/Automake/DisjConditions.pm (merge): New function.
+	* tests/libtool6.test: Adjust.
+	* tests/libtool8.test: New file.
+	* tests/Makefile.am (TEST): Add libtool8.test.
+
+	* lib/Automake/Variable.pm (traverse_recursively,
+	_do_recursive_traversal): Honor the skip_ac_subst option.
+	* automake.in (handle_dist): Use skip_ac_subst.
+
+2004-02-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (cvs-release): Upload to ~ftp/pub/automake, not
+	~ftp/automake.
+	* lib/gnupload (Example): Update example.
+
+	* lib/config-ml.in, lib/config.guess, lib/config.sub,
+	lib/texinfo.tex: New upstream versions.
+
+	* m4/depend.m4 (_AM_DEPENDENCIES): Use `touch' rather than `: >'
+	to create numbered dependencies.  This fixes a portability issue
+	when CONFIG_SHELL is forced to /bin/sh on Solaris 8.
+	Reported by Mark Phillips.
+
+	* automake.in (lang_yacc_target_hook): Use Automake::Rule::define
+	so that rules for the same headers are not output twice.
+	* lib/Automake/Variable.pm (value_as_list_recursive): Do not
+	call `return' inside `map'.
+	* tests/cond30.test: Make sure `a.c' and `b.c' both appear
+	in the Makefile.in.
+	* tests/cond35.test, tests/cond36.test: New files.
+	* tests/Makefile.am (TESTS): Add cond35.test and cond36.test.
+	Report from Roman Fietze.
+
+	Fix for PR/413:
+	* lib/am/distdir.am (distcheck): Create $dc_destdir with `umask
+	077 && mkdir' instead of `$(mkdir_p)'.  This prevents possible
+	symlink attacks reported by Stefan Nordhausen.
+
+2004-02-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Multiple Outputs): More text, based on
+	comments from Eric Siegerman, Tim Van Holder, and Oren Ben-Kiki.
+
+2004-02-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/mkdirp.m4: Use `mkdir -p' only with GNU mkdir, because
+	Solaris 8's mkdir is not thread-safe.
+	* lib/mkinstalldirs: Likewise.
+	* lib/install-sh: Abort when mkdir fails to create a directory.
+	Report from Nathanael Nerode.
+
+2004-02-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (rel2abs): New function.
+	(scan_configure_dep): Use rel2abs instead of File::Spec->rel2abs,
+	the later does was introduced in Perl 5.6 so using it breaks with
+	Perl 5.005.
+	Report from Werner John.
+
+2004-02-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Future of aclocal): Make clearer that
+	it's ok to install macros into /usr/share/aclocal/.
+
+2004-02-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/lisp.test: Delete (pointless).
+	* tests/Makefile.am (TESTS): Remove lisp.test.
+
+	* lib/Automake/Variable.pm (transform_variable_recursively):
+	Define rewritten variables in all conditions not *covered* by user
+	definitions, not simply in conditions without a previous
+	definition.
+	* tests/cond34.test: New file.
+	* tests/Makefile.am (TESTS): Add cond34.test.
+	Report from Elena A. Vengerova
+
+	* doc/automake.texi (Multiple Outputs): Typo.
+
+	* doc/automake.texi (Emacs Lisp): Typos.
+
+	Support for conditional _LISP.
+	* automake.in (handle_emacs_lisp): Define $(ELCFILES) from LISP, not
+	from $(am__ELCFILES).
+	* lib/am/lisp.am (elc-stamp): Use $(LISP) instead of $(am__ELFILES).
+	* tests/lisp6.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+
+	* automake.in (handle_emacs_lisp): Define $(ELCFILES) as
+	$(am__ELCFILES), and always push it on @all.  Do not mention
+	elc-stamp.
+	* lib/am/lisp.am (.el.elc): Rewrite as ...
+	($(am__ELCFILES)): ... this, and depend on elc-stamp.
+	(elc-stamp): Make sure elc-stamp is older that all .elc files, as
+	explained in the manual entry below.
+
+	* doc/automake.texi (Multiple Outputs): New node.
+
+2004-01-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/regex.m4: Do not AC_SUBST(LIBOBJS), and quote most arguments.
+	* tests/regex.test: New file.
+	* tests/Makefile.am (TESTS): Add regex.test.
+
+2004-01-28  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (maintainer-check): Check for unquoted $(DESTDIR) uses.
+	* lib/am/data.am, lib/am/distdir.am, lib/am/java.am, lib/am/libs.am,
+	lib/am/lisp.am, lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am,
+	lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Quote
+	installation paths in install, uninstall, and installcheck rules,
+	as well as in am__installdirs variables.  This is for the sake
+	of paths containing spaces.
+	* lib/am/install.am (installdirs-am, installdirs): Do not try
+	to create "" directories.
+	* test/instspc.test: New file.
+	* test/Makefile.am (TESTS): Add instspc.test.
+	Report from James Amundson.
+
+	* doc/automake.texi (Not Enough, Third-Party Makefiles): New nodes.
+	(Extending): Make it a subsection of Not Enough.
+
+	* lib/gnupload (GPG): Use an absolute path.  Suggestion from Gary
+	V. Vaughan.
+	(passphrase): Unset it this variable before using it, in case it
+	was exported.  Report from Scott James Remnant.
+
+2004-01-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/gnupload (usage): Fix example.
+	* Makefile.am (cvs-release): Fix call to gnupload.
+	From Jim Meyering.
+
+2004-01-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/gnupload: New script.
+	* lib/Makefile.am (EXTRA_DIST): Distribute gnupload.
+	* Makefile.am (cvs-release): New target.
+
+2004-01-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/python.am (uninstall-%DIR%PYTHON): Remove extra `;'s.
+	Fix python10.test.
+
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Use `s/xx//p'
+	instead of `/xx/ s///p'; the latter fails when GNU sed is run with
+	POSIXLY_CORRECT.  Also strip superfluous -e.
+	Report from Miloslav Trmac.
+
+2004-01-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/lex5.test: Sleep before calling AUTOMAKE the second time,
+	this fixes a spurious failure reported by Andreas Schwab.  Also
+	make sure ylwrap is not installed unless needed, and exercise
+	--no-force.
+
+2004-01-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
+
+	* doc/automake.texi (Dist): Document limitations of distcheck-hook
+	and DISTCHECK_CONFIGURE_FLAGS with regard to subdirs and
+	subpackages.
+
+2004-01-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Upgrading): New node.
+
+2004-01-20  Gary V. Vaughan  <gary@gnu.org>
+
+	* automake.in (scan_autoconf_traces): AC_LIBTOOL_TAGS can be
+	correctly called without arguments as evidenced by the libtool
+	demo directories.
+
+2004-01-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/conflnk3.test: Skip if `test -e' does not work.
+	Report from Lars Hecking.
+
+2004-01-13  Jim Meyering  <jim@meyering.net>
+
+	* lib/install-sh: Change `\n \t' to `\n\t ' in `defaultIFS'
+	assignment.  Remove spurious SPACEs before TABs.
+
+2004-01-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/py-compile: Check input files after option processing.
+	Ensure --basedir has an argument.
+	* lib/am/python.am (install-%DIR%PYTHON): Do not run py-compile
+	if nothing was installed.
+	* tests/python10.test: New file.
+	* tests/Makefile.am (TESTS): Add python10.test.
+	Suggested by Sander Niemeijer.
+
+	* tests/txinfo29.test: Remove autom4te.cache.
+	Report from Greg Schafer.
+
+	* lib/install-sh: Do not use "$@" in a context where it may be empty,
+	for the sake of OSF1/Tru64's shell.
+	Report from He Li.
+
+2004-01-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/config.sub, lib/config.guess, lib/texinfo.tex: New upstream
+	versions.
+
+	* m4/as.m4, m4/depend.m4, m4/maintainer.m4, m4/multi.m4: Update
+	copyright years and serial.
+
+	* m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add python2.4.
+
+2004-01-10  Peter Eisentraut  <peter_e@gmx.net>  (tiny change)
+
+	* m4/as.m4 (AM_PROG_AS): Format and align help string more
+	consistently.
+	* m4/depend.m4 (AM_DEP_TRACK): Likewise.
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
+	* m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
+	* m4/multi.m4 (AM_ENABLE_MULTILIB): Likewise.
+
+2004-01-10  Paul Eggert  <eggert@twinsun.com>
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Don't use \? in sed regular
+	expressions; it doesn't conform to POSIX.
+
+2004-01-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (shadow_unconditionally): New function...
+	(handle_source_transform): ... extracted from here.
+	(am_install_var): Use shadow_unconditionally to define %DISTVAR%.
+	* lib/am/data.am, lib/am/java.am, lib/am/lisp.am, lib/am/python.am,
+	lib/am/script.am: Add %DISTVAR% to DIST_COMMON.
+	* tests/cond33.test: Make sure all conditional files are distributed.
+	Report from Ralf Corsepius.
+
+2004-01-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/mkdirp.m4 (AM_PROG_MKDIR_P): Append `.' to $(mkdir_p).
+	* lib/install-sh: Accept `install-sh -d' with 0..n arguments,
+	as well as `install-sh sources... dest' with multiple sources.
+	* tests/cond33.test: New file.
+	* tests/instsh2.test: Add more checks for install-sh.
+	* tests/transform.test: Test for installdirs.
+	* tests/Makefile.am (TESTS): Add cond33.test
+	Report from Ralf Corsepius.
+
+	* automake.in (handle_configure): Skip AC_CONFIG_LINKS items which
+	do not look like DEST:SRC.
+	* tests/conflnk3.test: Check for AC_CONFIG_LINKS($computed).
+
+2004-01-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/289:
+	* automake.in (Automake::Struct::libtool_tag): New attribute.  Define
+	it for the language that have a Libtool tag.
+	(%libtool_tags): New variable.
+	(handle_languages, define_compiler_variable)
+	(define_linker_variable): Pass --tag=XXX to libtool if supported.
+	(scan_autoconf_traces): Scan for _LT_AC_TAGCONFIG and AC_LIBTOOL_TAGS.
+	* tests/libtool3.test, tests/subobj9.test: Check that --tag=XXX is
+	output.
+
+2003-01-07  Eric Sunshine  <sunshine@sunshineco.com>  (tiny change)
+
+	* lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): Add
+	config.status.lineno.
+
+2004-01-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
+
+	* doc/automake.texi (Rebuilding): Typo.
+
+2004-01-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/Makefile.am (dist_am_DATA): Really add inst-vars.am.
+
+2004-01-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* THANKS: Add Bruce Korb.
+
+2004-01-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Mimic Paul Eggert's changes to Autoconf.
+	* Makefile.am (automake, aclocal): Use `chmod a-w', not `chmod -w'.
+	* lib/Automake/Makefile.am (Config.pm): Likewise.
+	* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
+
+	* lib/am/inst-vars.am: New file, define am__vpath_adj_setup,
+	am__vpath_adj, and am__strip_dir.
+	* lib/am/Makefile.am (dist_am_DATA): Add inst-vars.am.
+	* lib/am/data.am, lib/am/lisp.am, lib/am/python.am,
+	lib/am/scripts.am: Include inst-vars.am, and use $(am__vpath_adj),
+	$(am__vpath_adj_setup), and $(am__strip_dir) in install and
+	uninstall rules.  This fixes installation of nobase_ files in
+	VPATH setups with Sun and OSF1/Tru64 Make.
+	* lib/am/libs.am, lib/am/ltlib.am: Include inst-vars.am, and use
+	$(am__strip_dir) to simplify install and uninstall rules.
+	* tests/nobase.test: Augment to check installation from VPATH builds.
+
+	* automake.in (%transformed_files): New variable.
+	(initialize_per_input): Reset it.
+	(make_paragraphs): Fill %transformed_files, and define %FIRST%
+	each time a file is transformed for the first time.
+	(handle_configure): Do not define %FIRST_CONFIG_HIN%.
+	(am_install_var): Do not define %FIRST%.
+	* lib/am/remake-hdr.am: Use %?FIRST% instead of %?FIRST_CONFIG_HIN%.
+
+2004-01-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/texinfo.tex: New upstream version.
+
+	* m4/mkdirp.m4: Do not use `-m 0755'.  This overrides special bits
+	and break setups where 775 directories are expected.  Just obey
+	umask as we did in the past.
+	Report from Harlan Stenn.
+
+2004-01-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_texinfo_file): Do not compare $outfile to ''
+	as $outfile might not be defined at all.
+
+	* lib/Automake/Variable.pm (define): Rework the way we check
+	Automake variable definition.  Ensure consistent :=/+=/=
+	definitions only for variables that have been and are defined by
+	Automake, and make it an internal error.  Ignore Automake
+	attempts to touch a user variable, even with += assignments.
+	* tests/txinfo29.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo29.test.
+	Reported by Bruce Korb.
+
+2004-01-02  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_source_transform): Don't generate dist
+	variables when no-dist is set.
+	(generate_makefile): Likewise.
+	* tests/nodist3.test: Ensure that DIST_SOURCES is not created,
+	and that dist target does not exist.
+        Reported by Tom Fitzsimmons.
+
+2004-01-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/libtool5.test, tests/ltcond.test, tests/ltcond2.test,
+	* tests/ltconv.test: Run automake with --add-missing, because
+	the CVS version of libtoolize no longer install config.sub and
+	config.guess by default.
+
+	Fix for PR automake/319:
+	* aclocal.in (scan_m4_files): Scan configure.ac.
+	(trace_used_macros, write_aclocal): Remove configure.ac from the
+	list of files to include.
+	* tests/Makefile.am (TESTS): Add acloca15.test.
+	* tests/acloca15.test: New file.
+
+	* aclocal.in (%file_includes): New variable.
+	(scan_configure_dep): Compile $m4_include_rx and $ac_require_rx once.
+	(scan_file): Scan for included files, and process these files
+	recursively.  Fill %file_includes and %file_contents.  Return the
+	list of included files, not the contents.
+	(scan_m4_files): Adjust calls to scan_files.
+	(strip_redundant_includes): New function.
+	(trace_used_macros): Call it.
+	(write_aclocal): Likewise.  Also check the mtime of included files.
+	* tests/Makefile.am (TESTS): Add acloca14.test.
+	* tests/acloca14.test: New file.
+	Report from Phil Edwards.
+
+2004-01-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_languages): Do not define DEP_FILES.
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Extract included
+	files with $(DEPDIR) in their name instead of DEP_FILES.
+	* tests/depend.test, tests/depend4.test, tests/exsource.test:
+	Adjust.
+	Suggested by Tom Tromey.
+
+	Do not output .lo rules for programs and static libraries objects,
+	and do not output .o/.obj rules for libtool libraries.  This is
+	about explicit rules only, not inference rules.
+	* automake.in (handle_single_transform_list): Rename as ...
+	(handle_single_transform): ... this.  Take a single file
+	to transform (it was only called this way) and accept a new
+	%transform argument.  Fill %lang_specific_files with list
+	references instead of strings, and append %transform to each
+	of these lists.
+	(define_objects_from_sources, handle_source_transform):
+	Take a %transform argument, and forward it to &handle_single_transform.
+	(handle_languages): Adjust to the new format of
+	%lang_specific_files, and honor its %transform part.
+	(handle_programs, handle_libraries, handle_ltlibraries): Override
+	%NONLIBTOOL% and %LIBTOOL% while calling handle_source_transform.
+	(make_paragraphs): Define %NONLIBTOOL% by default.  Make sure
+	%transform settings override global settings.
+	* lib/am/depend2.am (%OBJ%, %OBJOBJ%): Define only if %NONLIBTOOL%.
+	* tests/libtool3.test: Augment to check Makefile.ins for unneeded
+	rules.
+	Suggested by Thomas Fitzsimmons.
+
+	* automake.in, aclocal.in: Bump copyright years.
+
+2003-12-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (generate_makefile): Update misleading comment.
+
+	* automake.in (handle_languages): Define %DEPBASE% conditionally
+	on subdir-objects.  Define SUBDIROBJ.  Do not clean *_.c files
+	here ...
+	(lang_c_finish): ... do it here.
+	(handle_single_transform_list): Do not output specific rules for
+	subdir-objects files which are not renamed.  This should reduce
+	the size of Makefiles with lots of subdirectory sources.
+	* lib/depcomp: Simplify computation of dependency output, and use
+	DEPDIR.
+	* lib/am/depend2.am (%EXT%.o, %EXT%.obj, %EXT%.lo): Adjust call
+	to depcomp.  Compute depbase on-the-fly in generic fastdep rules
+	for subdir-objects.
+	* tests/ansi9.test: Do not grep for an explicit rule that
+	we no longer expect.  Really run $MAKE to make sure the chain
+	of rules works.
+	* tests/yacc5.test: Do not grep for an explicit rule that
+	we no longer expect.  Adjust to use set -e.
+
+2003-12-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (@common_files): Move configure, configure.ac, and
+	configure.in ...
+	(@common_sometimes): ... here so that these files do not appear
+	twice in DIST_COMMON.
+
+	* automake.in (maybe_push_required_file): Add $(srcdir) in front
+	a required files outside the current directory or its subdirectories.
+	* lib/am/distdir.am (distdir): Update comment.
+	Report from Nicolas Joly.
+
+2003-12-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (@copying): Do not repeat the version.
+	(Top): Use @insertcopying.  Add a @detailmenu, this works around
+	Emacs 21's inability to lookup indices in sub-nodes (reported
+	by Kevin Ryde).
+	(C++ Support, Assembly Support, Fortran 77 Support, Java Support,
+	Support for Other Languages, Preprocessing Fortran 77, Compiling
+	Fortran 77 Files, Mixing Fortran 77 With C and C++, How the Linker
+	is Chosen): Add missing descriptions in menus.
+	(Fortran 77 and Autoconf): Remove, this node was just saying "use
+	Autoconf 2.53 or greater".
+
+2003-12-26  Santiago Vila  <sanvila@unex.es>  (tiny change)
+
+	* NEWS: s/Gettext 1.12.1/Gettext 0.12.1/
+
+2003-12-25  Nicolas Joly  <njoly@pasteur.fr>  (tiny change)
+
+	* doc/automake.texi (Conditional Sources): Typo.
+
+2003-12-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Config.in: Require Exporter.
+	Report from Kevin Ryde (failure with Perl 5.005_03).
+
+2003-12-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/aclocal6.test: Check for autom4te.cache only if it has
+	been created.
+	* tests/maintclean.test: Update comment.
+	Report from Bruno Haible.
+
+	* tests/txinfo24.test, tests/txinfo25.test, tests/txinfo28.test:
+	Require texi2dvi-o.
+	Report from VÃ¡clav Haisman.
+
+2003-12-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.8a.
+
+	* configure.ac, NEWS: Bump version to 1.8.
+
+	* lib/texinfo.tex: New upstream version.
+
+	* Makefile.am (INSTALL): Copy the source from $(srcdir).
+
+2003-12-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Rule.pm (define): Remove debugging traces.
+	Report from Akim Demaille.
+
+2003-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (do_subst): Fix the substitution of @configure_input@.
+	(automake, aclocal): Create the output atomically and make it
+	read-only, as done in the Autoconf package.
+	* lib/Automake/Makefile.am (do_subst): Fix the substitution of
+	@configure_input@.
+	(Config.pm): Create the output atomically and make it read-only.
+	* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Substitute
+	@configure_input@ and make the output read-only.
+	* lib/Automake/Config.in, m4/amversion.in, tests/aclocal.in,
+	tests/automake.in, tests/defs.in: Add a @configure_input@ line.
+
+2003-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
+
+	* doc/automake.texi (Local Macros, CVS): Typos.
+
+2003-12-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (hook): Use $$ as prototype, not $\&.
+	Perl 5.6.0 will not accept a reference sub reference for the
+	latter.
+	* automake.in (var_SUFFIXES_trigger): Adjust registration via
+	Automake::Variable::hook.
+	(handle_texinfo_helper): Make sure `inner_expand => 1' appears
+	on one line, so that Perl 5.6.0 does not complain about
+	inner_expand being a bare identifier.
+
+2003-12-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (check_acinclude, scan_file): Output `warning:' in
+	front of warnings.
+	Report from Pavel Roskin.
+
+2003-12-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* TODO: Remove some old entries.
+
+	* doc/automake.texi (Rebuilding): Document CONFIGURE_DEPENDENCIES
+	and CONFIG_STATUS_DEPENDENCIES.  Move this sections later
+	in the manual since it's pretty advanced material.
+
+	* automake.in ($config_header_location): Remove.  Use
+	%ac_config_files_location instead.
+	(rewrite_inputs_into_dependencies): Do not prepend $(top_builddir)/
+	at the top-level.
+	(handle_configure): Use rewrite_inputs_into_dependencies to
+	distribute and compute AC_CONFIG_HEADERS dependencies.
+	(scan_autoconf_traces) <AC_CONFIG_HEADERS>: Fill
+	%ac_config_files_location.
+	* lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Rename as ...
+	(%CONFIG_HIN%): ... this.  $(srcdir) is already added in
+	scan_autoconf_traces.
+	* tests/Makefile.am (TESTS): Add confh5.test.
+	* tests/confh5.test: New file.
+
+	* tests/ltlibsrc.test: Fix the zoo_d_old2_la.c rule in Makefile.am,
+	$< is not portable and the source is in $(srcdir).
+
+2003-12-03  Paolo Bonzini  <bonzini@gnu.org>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_configure): Do not require link sources if
+	they contain a dollar, or if they were built.  Likewise, do not
+	clean link destination if they contain a dollar.
+	(scan_autoconf_traces) <AC_CONFIG_LINKS>: Populate
+	%ac_config_files_location with link destinations.  Do not
+	store locations in @config_links, now that %ac_config_files_location
+	have them.
+	* tests/conflnk3.test: New file.
+	* tests/Makefile.am (TESTS): Add conflnk3.test.
+
+2003-12-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.7i.
+
+	* configure.ac, NEWS: Bump version to 1.7h.
+
+	* doc/automake.texi (Default _SOURCES): Fix reference to true.
+
+	* lib/texinfo.tex: New upstream version.
+
+2003-11-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_source_transform): If it's present, use
+	libfoo_la.c instead of libfoo.c as the default source of
+	libfoo.la, and issue an -Wobsolete diagnostic.  Do not be
+	greedy in the suffix replacement regex.
+	* doc/automake.texi (Default _SOURCES): New node.
+	(Program Sources, Libtool Modules): Refer to it.
+	* tests/ltlibsrc.test: Update to check for old default source files.
+
+2003-11-30  Gary V. Vaughan  <gary@gnu.org>
+
+	* automake.in (&handle_source_transform): Calculate a default file
+	for use in the absence of an appropriate _SOURCES declaration by
+	first stripping any suffix from the unxformed target name, and
+	appending `.c'.
+	* doc/automake.texi (Program Sources, Libtool Modules): Document this.
+	* tests/ltlibsrc.test: New file.
+	* tests/Makefile.am (TESTS): Add ltlibsrc.test.
+
+2003-11-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (loc_and_value_as_list_recursive,
+	_value_as_list_recursive_worker): Merge into ...
+	(value_as_list_recursive): ... this function.  Pass options
+	as a hash argument, and use the `location' option to trigger
+	the behavior of loc_and_value_as_list_recursive.
+	(traverse_recursively, transform_variable_recursively): Take
+	options as a %options argument.
+	(_do_recursive_traversal): Perform expansion of inner variables
+	(as in `$(FILE).ext') on request.
+	* automake.in (handle_options, check_libobjs_sources)
+	(handle_source_transform, handle_LIBOBJS, handle_ltlibraries)
+	(handle_ltlibraries, handle_man_pages, handle_dist)
+	(handle_gettext, am_install_var): Adjust usage of
+	value_as_list_recursive.
+	(handle_texinfo_helper): Pass inner_expand to
+	value_as_list_recursive.
+	* tests/txinfo28.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo28.test.
+	Report from Ralf Corsepius.
+
+	* lib/Automake/Variable.pm (_do_recursive_traversal): Do not
+	update @_substfroms and @_substfroms for undefined variables.
+	* tests/substre2.test: New file.
+	* tests/Makefile.am (TESTS): Add substre2.test.
+
+	* lib/Automake/VarDef.pm (value): Rename as ...
+	(raw_value): ... this.
+	(value): New method, strip # and \\\n.
+	(dump): Use raw_value.
+	* lib/Automake/Variable.pm (output): Use raw_value.
+	(value_as_list): Simplify, now that backslash and comments
+	are already removed.
+	* tests/txinfo22.test: Make sure Automake isn't confused
+	by comments in variables.
+
+2003-11-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi: More target vs. rule editing.  Back out some
+	of the previous changes.  It's OK to talk about targets as "entry
+	points", or as thing to build, but targets cannot be run: rules
+	are run.
+
+	* doc/automake.texi: s/target/rule/ where appropriate.  A target
+	is the destination of a target rule, not the rule itself.
+	Suggested by Bruno Haible.
+
+2003-11-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.7g.
+
+	* configure.ac, NEWS: Bump version to 1.7f.
+
+	* automake.in (prepend_srcdir): Parenthesize @inputs to remove
+	a maintainer-check warning.
+	* tests/subst2.test: Rewrite the $MAKE invocation to please
+	maintainer-check.
+
+	* lib/config.sub, lib/config.guess, lib/texinfo.tex: New upstream
+	versions.
+
+	* doc/automake.texi (Program variables): Mention per-target
+	_CPPFLAGS in the documentation of INCLUDES.
+	* automake.in (generate_makefile): Likewise in the INCLUDES diagnostic.
+	Report from Bob Friesenhahn.
+
+	* doc/automake.texi (Extending): Elaborate on overriding.
+	* NEWS: Likewise.
+	Suggested by Bruno Haible.
+
+2003-11-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (output): Add $(am__empty) to variable
+	definitions that end with a line full of @substitutions@ that
+	would confuse HP-UX Make if it were blank.
+	(transform_variable_recursively): Make sure not to erase empty
+	variables.
+	* tests/Makefile.am (TESTS): Add subst2.test.
+	* tests/subst2.test: New file.
+	Report from Harlan Stenn.
+
+	* lib/am/texibuild.am (%SOURCE_SUFFIX%.html): Work around a
+	Texinfo 4.1 bug.
+	Report from Dalibor Topic.
+
+2003-11-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/411:
+	* automake.in (rewrite_inputs_into_dependencies): Simplify, and rename
+	into ...
+	(prepend_srcdir): ... this.
+	(rewrite_inputs_into_dependencies): New function, extracted from ...
+	(handle_configure): ... here.  Adjust to use prepend_srcdir
+	or rewrite_inputs_into_dependencies where needed.  Especially,
+	using (the new) rewrite_inputs_into_dependencies to compute
+	Makefile dependencies will fix PR/411.
+	* lib/am/configure.am (DIST_COMMON): Remove %MAKEFILE-IN%, it's
+	already distributed by rewrite_inputs_into_dependencies.
+	* tests/Makefile.am (TESTS): Add output10.test, remove distcom.test.
+	* tests/colon3.test: Use set -e.  Don't allow any AUTOMAKE
+	invocation refer to zardoz.  Make sure two.in and three.in
+	appear as $(srcdir)/two.in and $(srcdir)/three.in dependencies.
+	* tests/distcom.test: Delete.  This is covered by tests/output9.test.
+	* tests/output10.test: New file, for PR/411.
+
+2003-11-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (append_exeext): Do not append $(EXEEXT) to
+	@substitutions@.
+	* tests/exeext4.test: New file.
+	* tests/Makefile.am (TESTS): Add exeext4.test.
+
+2003-11-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/configure.am (%MAKEFILE%): Remove %MAINTAINER-MODE%,
+	mistakenly added on 2001-03-05.
+	* tests/remake5.test: New file.
+	* tests/Makefile.am (TESTS): Add remake5.test.
+	Report from Ralf Corsepius.
+
+2003-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.ac, NEWS: Bump version to 1.7e.
+
+	* configure.ac, NEWS: Bump version to 1.7d.
+
+	* lib/config.sub, lib/config.guess, lib/texinfo.tex: New
+	upstream versions.
+
+2003-11-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>  (tiny change)
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texinfos.am (install-info): Depend on
+	install-info-recursive or install-info-am even if no-installinfo.
+	* tests/txinfo27.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo26.test.
+
+2003-11-18  Paolo Bonzini  <bonzini@gnu.org>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/ylwrap: Do not overwrite headers if they haven't changed.
+	Fix the include guard substitution.
+	* tests/yacc6.test: Augment to run ylwrap, and make sure it
+	does not needlessly update headers.
+	* tests/yacc8.test: Make sure headers are not needlessly updated
+	with ylwrap is not used.  Move `test -f foo.o' into the
+	Makefile as `test -f foo.$(OBJEXT)' for portability.
+
+2003-11-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (generate_makefile): Define SUBDIRS if it is
+	not defined and DIST_SUBDIRS is.
+	* tests/subpkg2.test: New file.
+	* tests/Makefile.am (TESTS): Add subpkg2.test.
+	Report from Gary V. Vaughan.
+
+	* tests/suffix11.test: Check for suffixes containing `-'.
+	* lib/Automake/Rule.pm ($_SUFFIX_RULE_PATTERN): Accept `-' in
+	suffixes.
+
+	* lib/Automake/Rule.pm (define): Suggest using target-local instead
+	of target-am, not target-am-local.
+	* tests/overrid.test: Check the diagnostic for clean-am.
+	Report from Bruno Haible.
+
+2003-11-17  Jim Meyering  <jim@meyering.net>
+
+	* bootstrap: Require not only that `perl' have the executable
+	bit set, but also that it is not a directory.
+
+	* lib/am/configure.am: Mark %MAKEFILE% as `.PRECIOUS'.
+
+2003-11-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (ac_config_files_location): Declare as a hash.
+	(handle_configure): Rewrite the computation of AC_CONFIG_FILES
+	dependencies; make sure we don't use $(srcdir) or $(top_srcdir)
+	for inputs which are also outputs, and do not check inputs
+	relatively to the current directory.
+	(scan_autoconf_config_files): Take $where as argument, and
+	fill $ac_config_files_location.
+	* tests/output8.test, tests/output9.test: New files.
+	* tests/Makefile.am (TESTS): Add output8.test and output9.test.
+	Report from Bruno Haible.
+
+2003-11-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/aclibobj.test, tests/aclocal.test, tests/aclocal3.test,
+	tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test,
+	tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test,
+	tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test,
+	tests/all.test, tests/alpha.test, tests/amassign.test,
+	tests/ammissing.test, tests/ansi.test, tests/ansi10.test,
+	tests/ansi2.test, tests/ansi3.test, tests/ansi3b.test,
+	tests/ansi4.test, tests/ansi5.test, tests/ansi6.test,
+	tests/ansi7.test, tests/ansi9.test, tests/ar.test,
+	tests/autohdr.test, tests/autohdr2.test, tests/auxdir.test,
+	tests/auxdir2.test, tests/backsl.test, tests/backsl2.test,
+	tests/badprog.test, tests/block.test, tests/canon2.test,
+	tests/canon3.test, tests/canon4.test, tests/canon5.test,
+	tests/ccnoco.test, tests/check.test, tests/check2.test,
+	tests/check3.test, tests/checkall.test, tests/clean.test,
+	tests/colneq2.test, tests/colon.test, tests/colon2.test,
+	tests/colon3.test, tests/colon4.test, tests/colon5.test,
+	tests/colon6.test, tests/colon7.test, tests/comment.test,
+	tests/comment2.test, tests/comment4.test, tests/comment6.test,
+	tests/comment7.test, tests/compile_f_c_cxx.test, tests/cond.test,
+	tests/cond10.test, tests/cond11.test, tests/cond13.test,
+	tests/cond14.test, tests/cond15.test, tests/cond16.test,
+	tests/cond17.test, tests/cond18.test, tests/cond19.test,
+	tests/cond21.test, tests/cond22.test, tests/cond25.test,
+	tests/cond26.test, tests/cond28.test, tests/cond3.test,
+	tests/cond4.test, tests/cond5.test, tests/cond6.test,
+	tests/cond7.test, tests/cond8.test, tests/cond9.test,
+	tests/condd.test, tests/condinc.test, tests/condlib.test,
+	tests/condman.test, tests/condman2.test, tests/conf2.test,
+	tests/confdeps.test, tests/confh.test, tests/confh4.test,
+	tests/config.test, tests/confincl.test, tests/conflnk.test,
+	tests/conflnk2.test, tests/confsub.test, tests/confvar.test,
+	tests/confvar2.test, tests/copy.test, tests/ctarget1.test,
+	tests/cxx.test, tests/cxxansi.test, tests/cxxcpp.test,
+	tests/cxxlibobj.test, tests/cxxlink.test, tests/cxxnoc.test,
+	tests/cxxo.test, tests/cygwin32.test, tests/dash.test,
+	tests/defun.test, tests/defun2.test, tests/dejagnu.test,
+	tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test,
+	tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test,
+	tests/depcomp.test, tests/depcomp2.test, tests/depcomp4.test,
+	tests/depdist.test, tests/depend.test, tests/depend2.test,
+	tests/depend3.test, tests/depend4.test, tests/destdir.test,
+	tests/dirlist.test, tests/discover.test, tests/distcom.test,
+	tests/distcom2.test, tests/distdir.test, tests/distname.test,
+	tests/dollar.test, tests/double.test, tests/dup2.test,
+	tests/empty.test, tests/empty2.test, tests/empty3.test,
+	tests/empty4.test, tests/error.test, tests/exdir.test,
+	tests/exeext.test, tests/exeext3.test, tests/exsource.test,
+	tests/ext.test, tests/ext2.test, tests/extra.test,
+	tests/extra2.test, tests/extra3.test, tests/extra4.test,
+	tests/extra5.test, tests/extra6.test, tests/extra7.test,
+	tests/flibs.test, tests/fnoc.test, tests/fo.test,
+	tests/fonly.test, tests/fortdep.test, tests/fpinst2.test,
+	tests/fpinstall.test, tests/gcj.test, tests/gcj3.test,
+	tests/gcj4.test, tests/gnits2.test, tests/gnits3.test,
+	tests/header.test, tests/implicit.test, tests/include.test,
+	tests/include2.test, tests/info.test, tests/insh2.test,
+	tests/install2.test, tests/installdir.test, tests/instdat.test,
+	tests/instdat2.test, tests/instexec.test, tests/insthook.test,
+	tests/instman.test, tests/instman2.test, tests/instsh.test,
+	tests/instsh2.test, tests/interp.test, tests/interp2.test,
+	tests/java.test, tests/java2.test, tests/javaprim.test,
+	tests/javasubst.test, tests/ldadd.test, tests/ldflags.test,
+	tests/lex.test, tests/lex3.test, tests/lex4.test, tests/lex5.test,
+	tests/libobj11.test, tests/libobj2.test, tests/libobj4.test,
+	tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
+	tests/library.test, tests/libtool.test, tests/libtool2.test,
+	tests/libtool3.test, tests/libtool5.test, tests/link_c_cxx.test,
+	tests/link_dist.test, tests/link_f_only.test, tests/link_fc.test,
+	tests/link_fccxx.test, tests/link_fcxx.test, tests/lisp.test,
+	tests/listval.test, tests/ltdeps.test, tests/ltlibobjs.test,
+	tests/maintclean.test, tests/make.test, tests/makej.test,
+	tests/makevars.test, tests/man.test, tests/man2.test,
+	tests/mclean.test, tests/mdate.test, tests/mdate2.test,
+	tests/mdate3.test, tests/mdate4.test, tests/mkinst2.test,
+	tests/mkinstall.test, tests/nobase.test, tests/nodef.test,
+	tests/nodef2.test, tests/nodep.test, tests/nodepcomp.test,
+	tests/nodist.test, tests/nodist2.test, tests/nodist3.test,
+	tests/noinst.test, tests/noinstdir.test, tests/nolink.test,
+	tests/nostdinc.test, tests/number.test, tests/obsolete.test,
+	tests/order.test, tests/outdir.test, tests/output.test,
+	tests/output2.test, tests/output3.test, tests/output4.test,
+	tests/parse.test, tests/phony.test, tests/pluseq.test,
+	tests/pluseq10.test, tests/pluseq2.test, tests/pluseq3.test,
+	tests/pluseq4.test, tests/pluseq6.test, tests/pluseq8.test,
+	tests/postproc.test, tests/ppf77.test, tests/pr2.test,
+	tests/pr204.test, tests/pr220.test, tests/pr224.test,
+	tests/pr229.test, tests/pr243.test, tests/pr266.test,
+	tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
+	tests/pr300-lib.test, tests/pr300-ltlib.test,
+	tests/pr300-prog.test, tests/pr307.test, tests/pr72.test,
+	tests/pr87.test, tests/pr9.test, tests/prefix.test,
+	tests/proginst.test, tests/python.test, tests/python3.test,
+	tests/python4.test, tests/python5.test, tests/python6.test,
+	tests/python7.test, tests/python8.test, tests/python9.test,
+	tests/recurs2.test, tests/remake.test, tests/remake2.test,
+	tests/remake3.test, tests/req.test, tests/reqd.test,
+	tests/rulepat.test, tests/scripts.test, tests/sinclude.test,
+	tests/space.test, tests/specflg3.test, tests/specflg6.test,
+	tests/specflg7.test, tests/specflg8.test, tests/specflg9.test,
+	tests/spell3.test, tests/spelling.test, tests/spy.test,
+	tests/stamph2.test, tests/stdlib2.test, tests/strip.test,
+	tests/subcond.test, tests/subcond2.test, tests/subcond3.test,
+	tests/subdir.test, tests/subdir2.test, tests/subdir3.test,
+	tests/subdir4.test, tests/subdir5.test, tests/subdir6.test,
+	tests/subdirbuiltsources.test, tests/subobj.test,
+	tests/subobj2.test, tests/subobj3.test, tests/subobj4.test,
+	tests/subobj5.test, tests/subobj6.test, tests/subobj7.test,
+	tests/subobj8.test, tests/subobj9.test, tests/subobjname.test,
+	tests/subpkg.test, tests/subst.test, tests/substref.test,
+	tests/suffix.test, tests/suffix10.test, tests/suffix2.test,
+	tests/suffix3.test, tests/suffix4.test, tests/suffix5.test,
+	tests/suffix6.test, tests/suffix7.test, tests/suffix8.test,
+	tests/suffix9.test, tests/symlink2.test, tests/symlink3.test,
+	tests/tags.test, tests/tagsub.test, tests/target-cflags.test,
+	tests/transform.test, tests/txinfo.test, tests/txinfo10.test,
+	tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test,
+	tests/txinfo18.test, tests/txinfo2.test, tests/txinfo23.test,
+	tests/txinfo24.test, tests/txinfo25.test, tests/txinfo26.test,
+	tests/txinfo3.test, tests/txinfo5.test, tests/txinfo6.test,
+	tests/txinfo7.test, tests/txinfo8.test, tests/txinfo9.test,
+	tests/unused.test, tests/vars.test, tests/vars3.test,
+	tests/vartar.test, tests/version.test, tests/version2.test,
+	tests/version4.test, tests/version6.test, tests/version7.test,
+	tests/vpath.test, tests/vtexi.test, tests/vtexi2.test,
+	tests/werror.test, tests/whoami.test, tests/yacc.test,
+	tests/yacc3.test, tests/yacc4.test, tests/yacc5.test,
+	tests/yacc6.test, tests/yacc7.test, tests/yacc8.test,
+	tests/yaccpp.test, tests/yaccvpath.test: Fix license to refer
+	to Automake, not autoconf.
+
+	Fix for PR automake/408:
+	* lib/am/texinfos.am (install-info-am): Strip any $(srcdir)/ prefix
+	from $file, as already done for dist-info.
+	* tests/Makefile.am (TESTS): Add txinfo26.test.
+	* tests/txinfo26.test: New file.
+	Report from Nicholas Wourms.
+
+2003-11-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): If EMACS=t, empty it before
+	running AC_CHECK_PROGS(EMACS).
+	* lib/am/lisp.am (elc-stamp): Quote $(EMACS).
+	Report from Jens Petersen.
+
+	* tests/mkinst2.test: Rewrite.
+
+	* m4/mkdirp.m4: Do not require AM_AUX_DIR_EXPAND.
+
+2003-11-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_autoconf_traces): Honor sinclude.
+	* tests/sinclude.test: Check for sinclude.
+	Report from Roberto Bagnara.
+
+2003-11-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am: Do not rerun `make dist' after tagging, `make distcheck'
+	already build the tarballs.  Commit files right before tagging.
+	Check NEWS before running distcheck.
+
+	* m4/amversion.in (AM_AUTOMAKE_VERSION): Missing cosmetic space.
+
+	* configure.ac, NEWS: Bump version to 1.7c.
+
+	* configure.ac, NEWS: Bump version to 1.7b.
+	* Makefile.am (maintainer-check): Ignore comments while
+	scanning for rm without -f.
+
+	* Makefile.am (fetch): Get all files from savannah.  Do not
+	postprocess Struct.pm and XFiles.pm, since we now are the master
+	of these.
+	* lib/config.sub, lib/config.guess, lib/config-ml.in,
+	lib/texinfo.tex: New upstream versions.
+
+	* configure.ac: Check that autoconf is installed, that it works,
+	and that it is recent enough in three steps, not one.
+
+	* NEWS: Minor edits.
+
+	* lib/Makefile.am (dist_script_DATA): Move config-ml.in ...
+	(dist_pkgvdata_DATA): ... here.
+
+	* tests/spy.test: Document overlapping ::-rules incompatibilities,
+	and check only non-overlapping ::-rules.
+
+	* doc/automake.texi (Texinfo): Define MAKEINFO, MAKEINFOHTML,
+	MAKEINFOFLAGS, AM_MAKEINFOFLAGS, AM_MAKEINFOHTMLFLAGS, TEXI2DVI,
+	TEXI2PDF, DVIPS, and TEXINFO_TEX in a table.
+	(Uniform): Do not speak of missing HTML support, this is
+	confusing.
+	* lib/Automake/Variable.pm (_silent_variable_override): Add
+	AM_MAKEINFOHTMLFLAGS.
+	* lib/am/texibuild.am (%SOURCE_SUFFIX%.html): Use MAKEINFOHTML and
+	AM_MAKEINFOHTMLFLAGS instead of MAKEINFO and AM_MAKEINFOFLAGS.
+	* lib/am/texinfos.am (MAKEINFOHTML, AM_MAKEINFOHTMLFLAGS): Define.
+	* tests/txinfo21.test: Add a test with AM_MAKEINFOHTMLFLAGS.
+
+2003-11-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/spy.test: New file.
+	* tests/Makefile.am (TESTS): Add spy.test.
+
+	* automake.in (handle_configure): Distribute and define mkinstalldirs
+	only if it is already present in the package.
+	(scan_autoconf_files): Do not require mkinstalldirs.
+	(require_build_directory): Use $(mkdir_p), not $(mkinstalldirs).
+	* lib/am/data.am, lib/am/distdir.am, lib/am/install.am,
+	lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/mans.am,
+	lib/am/progs.am, lib/am/python.am, lib/am/scripts.am,
+	lib/am/texinfos.am: Use $(mkdir_p) instead of $(mkinstalldirs).
+	* m4/mkdirp.m4: New file.
+	* m4/Makefile.am (dist_m4data_DATA): Add mkdirp.m4.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Call AM_PROG_MKDIR_P.
+	* tests/Makefile.am (TESTS): Remove insh.test.
+	* tests/insh.test: Delete.
+	* tests/defs.in, tests/instsh.test: Do not install mkinstalldirs.
+	* tests/auxdir.test: Install mkinstalldirs.
+	* tests/distdir.test, tests/instman.test, tests/pr2.test: Use
+	$(mkdir_p), not $(mkinstalldirs).
+	* tests/empty.test: Run configure, do not substitute things by hand.
+	* doc/automake.texi (Optional) <AC_CONFIG_FILES>: Take install-sh
+	as an example, not mkinstalldirs.
+	(Auxiliary Programs) <mkinstalldirs>: Update.
+
+	* tests/defs.in: Handle required=bzip2.
+
+	* tests/defs.in: Export SHELL.
+	* tests/cond11.test: Missing quotes.
+	* tests/nogzip2.test: Require bzip2.
+
+2003-11-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* NEWS: Add news entries from 1.6.x and 1.7.x.
+
+	* automake.texi (Optional) <AC_SUBST>: Grammar fixes.
+
+	* automake.in (check_gnu_standards): Install COPYING only if
+	none of COPYING, COPYING.LIB, or COPYING.LESSER exist.  Do not
+	overwrite the license otherwise.
+	* tests/Makefile.am (TESTS): Add license.test.
+	* tests/license.test: New file.
+
+	* lib/mkinstalldirs: Mention automake-patches@gnu.org and
+	bug-automake@gnu.org.
+	* lib/compile, lib/depcomp, lib/elisp-comp, lib/mdate-sh:
+	Likewise.  Also add support for --help and --version.
+	* lib/py-compile, lib/ylwrap: Likewise, and reindent.
+
+2003-11-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/tags.am (ETAGSFLAGS, CTAGSFLAGS): Remove.
+	* lib/am/dejagnu.am (RUNTESTFLAGS): Remove.
+	* lib/am/java.am (JAVACFLAGS): Remove.
+	* tests/dejagnu3.test: Check that the environment value
+	of RUNTESTFLAGS get passed down to runtest.
+	Suggested by Mark Mitchell.
+
+	* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
+	(?GENERIC?%EXT%.lo): Do not echo compile command manually, this
+	breaks `make -s'.  Instead, fold the compile command on two lines,
+	so that it take less space on the display.
+	Suggested by Karl Berry and William Fulton.
+
+	* lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%): Rename as ...
+	(%DEST_INFO_PREFIX%%DEST_SUFFIX%): ... this, and honor ?INSRC?
+	to select $(srcdir) or `.' builds.
+	(INFO_DEPS): Define here.
+	* lib/am/texinfos.am (dist-info): Strip filename starting with
+	"$(srcdir)/".
+	* automake.in (output_texinfo_build_rules): Take a new argument
+	$insrc, and adjust substitutions in 'texibuild'.
+	(handle_texinfo_helper): Compute a regex of all user-cleaned
+	files, and use this to select whether to build .info files in `.'
+	or $(srcdir).  Give an account of the $(srcdir) vs `.' debacle.
+	Alway build the version.texi and stamp files in $(srcdir).  Do not
+	define INFO_DEPS.
+	* tests/Makefile.am (TESTS): Add txinfo23.test, txinfo24.test,
+	and txinfo25.test.
+	* tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test:
+	New files.
+	* tests/txinfo13.test, tests/txinfo16.test, tests/txinfo3.test,
+	tests/vtexi.test: Adjust to new rules.
+
+2003-11-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf 2.58.
+	* configure.ac: Require Autoconf 2.58a, and check for 2.58.
+
+2003-10-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Erase %STAMP%.
+	* tests/Makefile.am (TESTS): Add autohdr3.test
+	* tests/autohdr3.test: New file.
+
+	* automake.in (handle_configure): Rename am__configure_deps
+	as am__aclocal_m4_deps and include $(ACLOCAL_M4_SOURCES) and
+	$configure_ac.  Define am__configure_deps as am__aclocal_m4_deps
+	+ $(CONFIGURE_DEPENDENCIES) + $(ACLOCAL_M4).  Do not define
+	ACLOCAL_M4_DEPS while processing configure.am.
+	(make_paragraphs): Do not define %CONFIGURE_AC%, now unused.
+	(scan_aclocal_m4): Do not distribute aclocal.m4, this
+	is done from lib/am/configure.am.
+	* lib/am/configure.am (%MAKEFILE-IN%, DIST_COMMON,
+	$(top_srcdir)/configure, $(ACLOCAL_M4)): Simplify using
+	$(am__configure_deps) or $(am__aclocal_m4_deps).
+	* lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Likewise.
+
+2003-10-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/remake-hdr.am ($(srcdir)/%CONFIG_HIN%): Depend on
+	$(am__configure_deps).
+
+	* automake.in (handle_configure): Distribute all AC_CONFIG_HEADERS
+	sources, and without using require_file.  Define %CONFIG_H_DEPS%
+	and %FIRST_CONFIG_HIN% while processing remake-hdr.am.
+	* lib/am/remake-hdr.am (%STAMP%): Use %CONFIG_H_DEPS% instead
+	of (srcdir)/%CONFIG_HIN%.  Output the $(srcdir)/%CONFIG_HIN%
+	rule only for the first header (i.e., if %FIRST_CONFIG_HIN%).
+	* tests/autohdr4.test: New file.
+	* tests/Makefile.am (TESTS): Add autohdr4.test.
+	* tests/config.test: Do not grep, run things to see if they work.
+
+2003-10-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/output7.test: Populate sub/ with a dummy file, so that it
+	is not empty.  This fixes a failure reported by Patrick Welche.
+	* lib/am/distdir.am: Add note about tar's `-o' option and empty
+	directories.
+
+2003-10-24  Didier Cassirame  <faded@free.fr>  (tiny change)
+
+	* lib/ylwrap: Typo in regex.
+
+2003-10-23  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/Automake/XFile.pm: Don't assume -j is solo.
+	Issue a more-informative diagnostic.
+	Problems reported by Eric Sunshine.
+
+2003-10-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Always check for Emacs.
+	Always define lispdir.
+	* lib/am/lisp.am (install-%DIR%LISP, uninstall-%DIR%LISP): Check
+	$(EMACS) to decide whether _LISP files must be installed,
+	not $(lispdir).
+	* doc/automake.texi (Emacs Lisp): Mention the two ways to install
+	non byte-compiled Emacs lisp files.
+	* tests/lisp4.test, tests/lisp5.test: Check "make install"
+	when EMACS=no.
+	Suggested by Simon Josefsson.
+
+	* NEWS: Clarify the entry about multiple conditional definitions
+	of _PROGRAMS, _LDADD, and _LIBADD.
+	Report from Simon Josefsson.
+
+	* lib/am/install.am (install-strip): Override install_sh_PROGRAM
+	too.
+	Report from Elmar Hoffmann.
+
+2003-10-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in ("MAIN", usage, parse_arguments): Move near
+	the end, so "MAIN" can use prototypes.
+	(scan_configure): Move later too, for the sake of prototypes.
+	(scan_configure_dep): Fix setting of $scanned_configure_dep.
+	(trace_used_macros): Do not take any argument.
+
+2003-10-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/stdlib2.test: Check AM_LDFLAGS alone.
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+	* automake.in (handle_ltlibraries): Also grep AM_LDFLAGS for `-module'.
+	* tests/stdlib2.test: New file.
+	* tests/Makefile.am (TESTS): Add stdlib2.test.
+	Report from Kevin P. Fleming.
+
+2003-10-03  Richard Dawe  <rich@phekda.freeserve.co.uk>  (tiny change)
+
+	* tests/defs.in: For required=runtest, check that we are using
+	a DejaGnu that supports specifying the program on the command-line.
+
+2003-10-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For Debian Bug #213524:
+	* lib/am/texinfos.am (install-info-am, uninstall-info-am): Merge
+	stderr and stdout, and grep only the first line while testing
+	install-info --version's output.  This revert part of the change
+	from 2001-05-18.
+
+2003-10-01  Akim Demaille  <akim@epita.fr>
+
+	* m4/amversion.in: Add (C) to the Copyright notice.
+
+2003-10-01  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/Automake/XFile.pm: Use Errno.
+	(lock): Ignore ENOLCK errors.  Problem reported Andreas Schwab in
+	<http://mail.gnu.org/archive/html/bug-autoconf/2003-09/msg00141.html>.
+
+2003-09-30  Tom Tromey  <tromey@redhat.com>
+
+	* lib/Automake/Options.pm (_process_option_list): Recognize
+	no-dist.
+	* NEWS: Update.
+	* doc/automake.texi (Options): Document no-dist.
+	* automake.in (check_cygnus): Set no-dist option.
+	(handle_dist): Recognize no-dist.
+	* tests/nodist3.test: New file.
+	* tests/Makefile.am (TESTS): Added nodist3.test.
+
+2003-09-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_clean): Take $makefile as argument, and
+	define %MAKEFILE% while processing clean.am.
+	(generate_makefile): Pass $makefile to handle_clean.
+	* lib/am/clean.am (distclean, maintainer-clean): Erase %MAKEFILE%,
+	not Makefile.
+	* tests/gnumake.test: New file.
+	* tests/Makefile.am (TESTS): Add gnumake.test.
+	Report from Braden N. McDaniel.
+
+2003-09-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* doc/automake.texi (Scripts): Update the example about automake.
+	Mention `dist_' for distributed scripts.
+
+	* lib/mkinstalldirs: Clean up after NextStep and OpenStep mkdir.
+	Suggested by Eric Sunshine.
+
+2003-09-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* README: More mailing lists.
+
+	* NEWS: Mention the switch to GNU FDL for the manual.
+
+2003-09-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/install-sh (src, dst): Protect names starting with `-',
+	as in mkinstalldirs.
+
+	* configure.in: Rename as ...
+	* configure.ac: ... this.
+	* README: s/configure.in/configure.ac/.
+
+	* doc/fdl.texi: New file.
+	* doc/Makefile.am (automake_TEXINFOS): New variable.
+	* doc/automake.texi (Copying This Manual): New appendix, include
+	fdl.texi.
+	(Macro and Variable Index, General Index): Move as subsections of ...
+	(Indices): This new appendix.
+
+	* doc/automake.texi: Refer to configure.ac instead of configure.in.
+
+	* automake.texi: Move ...
+	* doc/automake.texi: ... here.
+	* doc/Makefile.am: New file.
+	* configure.in: Output doc/Makefile.
+	* Makefile.am (SUBDIRS): Add doc.
+	(ETAGS_ARGS, TAGS_DEPENDENCIES): Move to doc/Makefile.am.
+
+2003-09-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (write_aclocal): Consider files with relative
+	paths as local to the project, i.e., subject to m4_include.
+	* tests/subpkg.test (ACLOCAL_AMFLAGS): Make sure m4_include
+	is also used for .m4 files in the outer project.
+
+	Support for multiple inputs in AC_CONFIG_FILES.
+	Requested long ago by Harlan Stenn.
+	* automake.in (handle_dist): Remove unused argument $makefile.
+	(handle_subdirs): Expect SUBDIRS elements in $relative_dir,
+	not $am_relative_dir.
+	(rewrite_inputs_into_dependencies): Allow $add_srcdir to
+	be a filename that must always be prefixed by $(srcdir) or
+	$(top_srcdir).
+	(handle_configure, generate_makefile): Revamp to make the
+	Makefile.am, Makefile.in, Makefile more independent.
+	(locate_am): New function.
+	(scan_configure_dep, parse_arguments): Use locate_am.
+	(MAIN): Adjust call to generate_makefile.
+	* lib/am/configure.am: Remove %MAKEFILE-IN% from the dependencies
+	of %MAKEFILE%.  %MAKEFILE-IN% is already in %MAKEFILE-DEPS%.
+	* tests/output6.test, tests/output7.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+	* automake.texi (Requirements) <AC_CONFIG_FILES>: Document how
+	multiple inputs are scanned.
+
+2003-09-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (FETCHFILES, fetch): Do not fetch lib/Automake/XFile.pm
+	and lib/Automake/Struct.pm from Autoconf.
+	* lib/Automake/XFile.pm: Update comment, Automake is now
+	the master for this file.  Cosmetic changes.
+
+2003-09-09  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/FileUtils.pm (&update_file): s/cannot not/cannot/g.
+	Reported by Gary Vaughan.
+	(&find_file): Walk the @include in forward order.
+
+2003-09-09  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/FileUtils.pm (&update_file): Be sure not to leave
+	trailing files.
+
+2003-09-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Changes to m4_included files should also cause aclocal.m4 to change.
+	* aclocal.in (m4_include_rx): New variable.
+	(scan_configure_dep): New function.
+	(scan_configure, add_file): Simplify using scan_configure_dep.
+	* tests/Makefile.am (TESTS): Add acloca13.test.
+	* tests/aclocal13.test: New file.
+
+	* tests/instsh.test: Do not reset $ACLOCAL and $AUTOMAKE now
+	that we have fake version in the $PATH.
+
+	* aclocal.in (add_file): Remove useless filling of $output, probably
+	left a after CVS conflict.  This code is now in write_aclocal.
+
+	* aclocal.in (configure_ac): Do not call require_configure_ac
+	before parsing the options.
+	* automake.in (configure_ac): Likewise.
+	* lib/Automake/Variable.pm (configure_ac): Do not require configure.ac,
+	find it.
+	* lib/Automake/Configure_ac.pm (require_configure_ac):
+	find_configure_ac never return an undefined value, so test
+	the file's existence instead.
+	* tests/Makefile.am (TESTS): Add help.test.
+	* tests/help.test: New file.
+
+2003-09-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/XFile.pm: Update to use ChannelDefs.
+	(close): Call Automake::FileUtils::handle_exec_errors on errors.
+	* automake.in (scan_autoconf_files): Exit with $?=63 on version
+	mismatch.
+	(scan_autoconf_traces): Likewise.  Close the autoconf pipe to
+	capture abnormal exits.
+	* aclocal.in ($exit_status): Remove, and use Channels.pm's $exit_code
+	instead.
+	(trace_used_macros): Close the autom4te pipe to capture abnormal exits.
+	* lib/missing: When a tool has run and exited with $?=63, emulate
+	it.  Adjust the diagnostic and pretend the tool is tool old in this
+	case.  Use an emacs-updated "scriptversion" variable.
+	* configure.in: Output tests/aclocal-${APIVERSION} and
+	tests/automake-${APIVERSION}.
+	* tests/aclocal.in, tests/automake.in,
+	tests/missing.test, tests/missing2.test: New files.
+	* tests/defs.in (AUTOMAKE, ACLOCAL, PATH): Define
+	to use tests/aclocal-$APIVERSION and tests/automake-$APIVERSION.
+	* tests/dup3.test: Remove. alocal9.test, acloca10.test, and others are
+	already testing for this.
+	* tests/depacl2.test, tests/dup2.test, tests/order.test: Fix
+	configure.in so that aclocal works.
+	* tests/defun.test: Quote the AC_DEFUN body.
+	* tests/Makefile.am (TESTS): Add missing.test and missing2.test,
+	and remove dup3.test.
+	(check_SCRIPTS): Add aclocal and automake.
+
+	* tests/unused.test: Quote AC_DEFUN arguments.
+
+2003-09-05  Paul Eggert  <eggert@twinsun.com>
+
+	* NEWS, aclocal.in, automake.in, automake.texi, lib/ansi2knr.c,
+	lib/depcomp, lib/missing, lib/py-compile,
+	lib/Automake/Channels.pm, lib/Automake/Rule.pm,
+	lib/Automake/Variable.pm, lib/Automake/tests/Condition.pl,
+	lib/am/dejagnu.am, lib/am/depend.am, lib/am/lisp.am,
+	lib/am/remake-hdr.am, lib/am/texi-vers.am, m4/obsolete.m4,
+	m4/python.m4, tests/backsl4.test, tests/defs.in,
+	tests/dejagnu7.test, tests/depacl2.test, tests/dirlist.test,
+	tests/error.test, tests/getopt.test, tests/gnuwarn.test,
+	tests/include2.test, tests/libobj10.test, tests/libtool5.test,
+	tests/libtool6.test, tests/lisp3.test, tests/phony.test,
+	tests/pr220.test, tests/subcond2.test, tests/subcond3.test,
+	tests/vtexi.test:
+	Spelling and minor grammar fixes.
+
+2003-09-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/config.sub, lib/config.guess, lib/texinfo.tex,
+	lib/config-ml.in, lib/symlink-tree: New upstream versions.
+
+2003-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
+
+	* tests/yacc7.test: Require bison.
+
+2003-08-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (scan_file): Warn about underquoted AC_DEFUN.
+	($underquoted_manual_once): New variable.
+	* automake.texi (Extending aclocal): Document this.
+
+2003-08-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (@file_order): New variable, to make sure
+	files are output in the opposite order of the -I arguments.
+	(scan_file): Fill it.
+	(trace_used_macros, write_aclocal): Use it.
+	(scan_m4_files): Reverse the directory contents, so that
+	macros from the lexicographically greatest files are preferred.
+	* tests/aclocal9.test, tests/acloca10.test, tests/acloca11.test:
+	New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+2003-08-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For Debian Bug #206299:
+	* automake.in ($configure_deps_greatest_timestamp,
+	$output_deps_greatest_timestamp): New variables.
+	(initialize_per_input): Reset $output_deps_greatest_timestamp.
+	(scan_autoconf_traces, scan_autoconf_files, read_am_file):
+	Update $configure_deps_greatest_timestamp and
+	$output_deps_greatest_timestamp
+	(generate_makefile): Rewrite the logic to decide whether
+	to rewrite the output.  Move the leading dup_channel_setup
+	and trailing drop_channel_setup to MAIN, so that
+	drop_channel_setup is executed for all exit paths.
+	* tests/aclocal7.test: Update to check for $AUTOMAKE --no-force
+	* tests/distcom6.test: New file.  Report from Scott James Remnant.
+	* tests/Makefile.am (TESTS): Add distcom6.test.
+
+	* configure.in: Require Autoconf 2.57b to be sure
+	aclocal can use autom4te --language Autoconf-without-aclocal-m4.
+	* m4/init.m4: Likewise.  Move the AC_PREREQ and m4_pattern_allow
+	calls inside the AM_INIT_AUTOMAKE macro.
+	* m4/auxdir.m4, m4/cond.m4, m4/lex.m4, m4/regex.m4: Move
+	AC_PREREQ calls inside the macros.
+	* m4/header.m4: Remove AC_PREREQ.
+
+	* automake.in (file_contents_internal): Do not add newlines before
+	empty actions.
+
+	* aclocal.in (write_aclocal): Take an output file and list of
+	used macros in arguments and make up the file contents here.
+	(trace_used_macros): New function.
+	(add_file): Do not update $output.
+	($output): Delete.
+	(MAIN): Call trace_used_macros.  Then rewrite aclocal.m4 only
+	for these traced macros.  This should shorten aclocal.m4 by
+	stripping out unused macros.
+	* automake.texi (Invoking aclocal): Document ${AUTOM4TE}.
+	* tests/aclibobj.test: Make sure configure.in exists by the time
+	aclocal runs.
+	* tests/aclocal8.test: New file.
+	* tests/Makefile.am (TESTS): Add aclocal8.test.
+	Suggested by Bruno Haible and Akim Demaille.
+
+2003-08-21  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/Configure_ac.pm (&find_configure_ac)
+	(&require_configure_ac): Accept an optional directory argument.
+	($configure_ac): Remove.
+	* aclocal.in, automake.in ($configure_ac): New.
+	* lib/Automake/Variable.pm: Don't use $configure_ac, just
+	configure.ac.
+
+2003-08-20  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/FileUtils.pm: More perldoc.
+	(&up_to_date_p): New.
+
+2003-08-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/398:
+	* m4/python.m4: Do not call AC_PATH_PROGS if $PYTHON is already
+	set.  Display `none' instead of `:' and $PYTHON is set to `:'
+	when no suitable interpreter is found.  Honor ACTION-IF-FOUND and
+	ACTION-IF-NOT-FOUND.
+	* automake.texi (Python): Document ACTION-IF-FOUND and
+	ACTION-IF-NOT-FOUND.
+	* tests/python4.test, tests/python5.test, tests/python6.test,
+	tests/python7.test, tests/python8.test, tests/python9.test: New
+	files.
+	* tests/Makefile.am (TESTS): Add them.
+	Report from Per Cederqvist.
+
+2003-08-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/399:
+	* m4/python.m4: Use AC_PATH_PROGS, not AC_PATH_PROG.
+	Report from Per Cederqvist.
+
+2003-08-12  Raja R Harinath  <harinath@acm.org>
+
+	* lib/Automake/Condition.pm (strip): Replace loop with 'grep'.
+	(not): Replace loop with 'map'.
+	* lib/Automake/DisjConditions.pm (sub_conditions): Likewise.
+	* lib/Automake/Item.pm (not_alwasy_defined_in_cond):
+	Don't 'simplify' result of 'invert', since it's already in
+	canonical form.
+	* lib/Automake/Rule.pm (define): Replace loop with
+	'not_always_defined_in_cond'.
+
+	* lib/Automake/DisjConditions.pm (ambiguous_p): Typo in comment.
+	* lib/Automake/Rule.pm (accept_extensions, msg_cond_rule): Likewise.
+	(define): Reword comment slightly.
+	* Variable.pm (_var_order, msg_cond_var): Typo in comment.
+	* tests/cond20.test (var2): Use foo.c instead of foo.cc to avoid
+	spurious automake error exit.
+
+2003-08-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Item.pm, lib/Automake/ItemDef.pm: New files.
+	* lib/Automake/Rule.pm, lib/Automake/RuleDef.pm: New files.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add them.
+	* lib/Automake/VarDef.pm: Make this a subclass of Automake::ItemDef.
+	(new): Adjust to call Automake::ItemDef::new.
+	(comment, location, owner): Delete.  Now inherited from ItemDef.
+	* lib/Automake/Variable.pm: Make this a subclass of Automake::Item.
+	(_new): Adjust to call Automake::Item::new.
+	(name, def, rdef, _set, conditions, not_always_defined_in_cond):
+	Delete.  How inherited from Item, where `_set' is called `set'.
+	* automake.in (SUFFIX_RULE_PATTERN): Delete. Now in Automake::Rule.
+	(suffix_rules_default): Delete.  Now
+	Automake::Rule::_suffix_rules_default
+	(suffixes): Delete.  Now Automake::Rule::suffixes.
+	(TARGET_AUTOMAKE, TARGET_USER): Delete.  Now
+	Automake::RuleDef::RULE_AUTOMAKE and Automake::RuleDef::RULE_USER.
+	(%targets, %target_source, %target_name, %target_owner): Delete,
+	replaced by the Rule and RuleDef classes.
+	(dependencies, depend, actions): Delete.  Now in Automake::Rule.
+	(suffix_rules, register_suffix_rule): Likewise.
+	(KNOWN_EXTENSIONS_PATTERN, accept_extensions): Likewise.
+	(known_extensions_list): Delete.  Now
+	Automake::Rule::_known_extensions_list.
+	(target_conditions): Delete.  Now inherited by Automake::Rule
+	from Automake::Item::conditions.
+	(rule_define): Delete.  Now Automake::Rule::define.  Adjust all
+	callers.
+	(target_defined): Delete.  Now Automake::Rule::rule.  Adjust all
+	callers.
+	(initialize_per_input): Adjust to call Automake::Rule::reset.
+	(err_target, err_cond_target, msg_cond_target, msg_target,
+	reject_target): Delete.  Now defined in Automake::Rule as
+	err_rule, err_cond_rule, msg_cond_rule, msg_rule and reject_target.
+	Adjust all callers.
+	(handle_languages): Call suffix_rules_count.
+	* tests/location.test: Adjust expected diagnostics.  We now display
+	$(EXEEXT) accurately.
+
+2003-08-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Revert the fix for PR automake/291:
+	* lib/Automake/Variable.pm (define): Do not warn about variables
+	starting with `_' which are an issue on NEWS-OS 4.2R.  According
+	to Paul Eggert, NEWS-OS 4.2R is ten years old, the latest version
+	was released on 1996 and is not in wide use.  On the other hand,
+	variables starting with `_' are mandatory in several situations,
+	so diagnosing them is more annoying than useful.
+	* tests/canon5.test: Do not use -Wno-portability.
+	* tests/vars2.test: Delete.
+	* tests/Makefile.am (TESTS): Remove vars2.test.
+	Suggested by Jim Meyering.
+
+2003-08-09  Raja R Harinath  <harinath@acm.org>
+
+	* lib/Automake/DisjConditions.pm (ambiguous_p): Simplify slightly.
+	* lib/Automake/tests/DisjConditions.pl (test_ambig): Test
+	Automake::Disjunctions::ambiguous_p.
+
+2003-08-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (condition_ambiguous_p): Move ...
+	* lib/Automake/DisjConditions.pm (ambiguous_p): ... here.
+	* automake.in (rule_define): Adjust usage.
+	* lib/Automake/Variable.pm (_check_ambiguous_condition): Likewise.
+
+	* lib/Automake/Options.pm: New file.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Options.pm.
+	* automake.in (FOREIGN, GNU, GNITS, $default_strictness)
+	($default_strictness_name, $strictness, $strictness_name)
+	(%options, %global_options, process_option_list)
+	(set_strictness): Remove, now in Options.pm.
+	(initialize_per_input): Call Automake::Options::reset.
+	(handle_options, get_object_extension, get_object_extension)
+	(handle_languages, handle_single_transform_list, handle_compile)
+	(handle_texinfo_helper, handle_man_pages, handle_dist)
+	(handle_configure, do_check_merge_target)
+	(handle_factored_dependencies, handle_tests)
+	(handle_minor_options, scan_autoconf_traces, check_cygnus)
+	(lang_sub_obj, lang_c_rewrite, lang_c_finish, rule_define)
+	(make_paragraphs, am_install_var, parse_arguments): Adjust
+	to set and read options via the new interface.
+
+2003-08-07  Raja R Harinath  <harinath@acm.org>
+
+	* Makefile.am (maintainer-check): Update perllibdir.
+	* lib/Automake/Makefile.am (Config.pm): Depend on Makefile too.
+	(EXTRA_DIST): Add Config.in.
+	* Makefile.in, lib/Automake/Makefile.in: Regenerate.
+	* tests/defs.in (AUTOMAKE, ACLOCAL): Use absolute paths in
+	$perllibdir.
+
+2003-08-06  Raja R Harinath  <harinath@acm.org>
+
+	* configure.in (AUTOMAKE, ACLOCAL): Search the 'lib' directory
+	from the builddir too, to pick up Automake::Config.
+	* tests/defs.in (AUTOMAKE, ACLOCAL): Likewise.
+	* configure: Regenerate.
+	* automake.in (BEGIN): Handle multiple directories in $perllibdir.
+	* aclocal.in (BEGIN): Likewise.
+
+2003-08-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/ltcond.test: Thinko.
+
+2003-08-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Config.in: New file.
+	* lib/Automake/Makefile.am (nodist_perllib_DATA, do_subst,
+	CLEANFILES): New variables.
+	(Config.pm): New rule.
+	* Makefile.am (maintainer-check): Adjust expected differences
+	between automake.in and automake.
+	* aclocal.in, automake.in: Use Automake::Config.
+
+2003-08-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/ltconv.test: s/rm/rm -f/ to placate maintainer-check.
+
+	* automake.in (handle_texinfo_helper): Use the user definition
+	of TEXINFO_TEX before checking for cygnus or AC_CONFIG_AUX_DIR.
+	* tests/txinfo22.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo22.test.
+	Report from Tom Tromey.
+
+2003-08-03  Raja R Harinath  <harinath@acm.org>
+
+	* lib/Automake/Variable.pm (@EXPORT): Remove
+	traverse_variable_recursively and
+	require_variables_for_variable.
+	(require_variables_for_variable, traverse_variable_recursively)
+	(_traverse_variable_recursively_worker): Convert to
+	Automake::Variable methods, remove support for being
+	invoked with variable names, and rename to ...
+	(requires_variables, traverse_recursively)
+	(_do_recursive_traversal): ... these.
+	(_value_as_list_recursive_worker, transform_variable_recursively):
+	Update to reflect changes.
+	* automake.in (handle_LIBOBJS, handle_ALLOCA)
+	(handle_libraries, handle_ltlibraries, am_primary_prefixes):
+	Likewise.
+	(define_objects_from_sources): Fix typo in comment.
+
+2003-08-02  Raja R Harinath  <harinath@acm.org>
+
+	* automake.in (handle_source_transform): Replace 'grep' with 'map'.
+	(register_language): Replace 'grep' with 'foreach' modifier.
+
+2003-08-01  Raja R Harinath  <harinath@acm.org>
+
+	* lib/Automake/Variables.pm (variables): Return a list of
+	Automake::Variable instances, not a list of strings.
+	(dump): Remove support for being invoked with a string.
+	(variables_dump): Adapt to these changes.
+	* automake.in (check_typos): Likewise.
+	(am_primary_prefixes): Likewise.
+
+2003-07-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
+
+	* lib/depcomp (aix): Support AIX Compiler version 6.
+
+2003-07-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (A Shared Library): Rewrite and split into
+	subsections.  Valuable comments from Norman Gray, Harlan Stenn,
+	Tim Van Holder, and Guido Draheim.
+	* tests/ltcond.test, tests/ltcond2.test, tests/ltconv.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+2003-07-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_single_transform_list): Complain about
+	foo.$(OBJEXT) being created both with libtool and without, not
+	about foo.lo.
+	Report from Tim Van Holder.
+
+2003-07-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (FETCHFILES, fetch): Add config-ml.in and
+	symlink-tree.
+	* lib/config.sub, lib/config-ml.in, lib/texinfo.tex: New
+	upstream versions.
+
+2003-07-28  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_configure): Cosmetic change to avoid
+	a maintainer-check complaint.
+
+2003-07-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (@EXPORT): Remove variable_dump.
+	(variable_dump): Replace by ...
+	(dump): ... this method.
+	(rdef, _check_ambiguous_condition): Adjust to use ->dump.
+	(define, variables_dump): Adjust to use Automake::Variable::dump
+
+	* lib/am/compile.am (mostlyclean-compile): Do not erase core dumps.
+	* automake.texi (Built sources example): Adjust example.
+
+2003-07-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (get_object_extension, handle_languages)
+	(handle_single_transform_list, handle_compile, handle_compile)
+	(handle_texinfo_helper, handle_texinfo_helper, handle_man_pages)
+	(handle_tests, handle_minor_options, check_gnu_standards)
+	(lang_sub_obj, lang_c_rewrite, lang_c_finish, rule_define):
+	Simplify "if (defined $options{'X'})" into "if ($options{'X'})".
+
+	Complete changes from 2003-07-08.
+	* automake.in ($cmdline_use_dependencies, $use_dependencies): Remove,
+	replaced by $options{'no-dependencies'}.
+	($global_options): Remove.
+	(%global_options): New variable.
+	(initialize_per_input): Empty %options.
+	(process_option_list): Take a location and %options ref argument,
+	process no-dependencies as other options.
+	(handle_options): Do not reparse the global options, just initialize
+	%options from %global_options and fill it with local options.
+	(handle_languages, handle_single_transform_list)
+	(handle_configure, check_cygnus): Adjust usage of
+	$options{'no-dependencies'}.
+	(make_paragraphs): Adjust usage of $options{'cygnus'}.
+	(parse_arguments): Set cygnus and no-dependencies in %global_options.
+	(scan_autoconf_traces) <AM_INIT_AUTOMAKE>: Call process_option_list
+	to fill %global_options.
+
+2003-07-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/remake4.test: Use `$MAKE distdir' instead of `$MAKE dist' to
+	avoid the use of tar.
+
+2003-07-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/gnuwarn2.test: Typo.
+
+	* tests/insthook.test: Use $MAKE, not make.
+
+	Fix missing rebuilds during `make dist' with BSD make.
+	* automake.in (generate_makefile): Do not push Makefile.in, and
+	Makefile.am into DIST_COMMON here.
+	* lib/am/configure.am (DIST_COMMON): Do it here, and use
+	%MAKEFILE-AM% and %MAKEFILE-IN% so that items in DIST_COMMON
+	actually match the targets.   Prefix `configure' with `$(srcdir)/'
+	to match the target.
+	* tests/remake4.test: New file.
+	* tests/Makefile.am (TESTS): Add remake4.test.
+	Report from Akim Demaille.
+
+2003-07-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_multilib): Register all-multi.
+	(file_contents_internal): Insert \n when concatenating actions
+	from "factored" rules.
+	* lib/config-ml.in: New file, from GCC, including a patch
+	from Ralf Corsepius (see GCC's PR 11526).
+	* lib/symlink-tree.in: New file, from GCC.
+	* lib/Makefile.am (dist_script_DATA): Add config-ml.in and
+	symlink-tree.
+	* lib/am/clean.am (distclean-generic): Do not delete Makefile here...
+	(distclean, maintainer-clean): ... do it here.
+	* lib/am/depend.am (distclean-depend): Likewise, replace by
+	(distclean, maintainer-clean): ... these.
+	* lib/am/multilib.am (all-recursive, install-recursive,
+	mostlyclean-recursive, clean-recursive, distclean-recursive,
+	maintainer-clean-recursive): Remove these rules.
+	(mostlyclean-am, clean-am, distclean-am, maintainer-clean-am): Replace
+	by ...
+	(mostlyclean, clean, distclean, maintainer-clean): ... these.
+	(all-am): Remove, done in handle_multilib.
+	(install-am): Replace by ...
+	(install-exec-am): ... this.
+	* tests/Makefile.am (TESTS): Add multlib.test.
+	* tests/multlib.test: New file, based on a test case by
+	Ralf Corsepius
+
+2003-07-23  Tom Tromey  <tromey@redhat.com>
+
+	* lib/missing (autom4te): Typo.
+
+2003-07-16  Derek Price  <derek@ximbiot.com>
+
+	* automake.in (scan_autoconf_traces): Handle AC_CONFIG_LINKS.
+	(handle_configure): Handle adding AC_CONFIG_LINKS arguments to
+	distclean targets (CONFIG_CLEAN_FILES makefile var).
+	* NEWS: Note new handling of AC_CONFIG_LINKS.
+	* automake.texi (Other things Automake recognizes): Ditto.
+	* tests/Makefile.am (TESTS): Add new tests.
+	* tests/conflnk.test: New test that links are cleaned on distclean.
+	* tests/conflnk2.test: New test that source files for links are
+	distributed.
+
+2003-07-15  Ralf Corsepius <corsepiu@faw.uni-ulm.de>  (tiny change)
+
+	* automake.in (scan_autoconf_traces): Trace AM_ENABLE_MULTILIB to
+	render $seen_multilib functional again.
+
+2003-07-10  Raja R Harinath  <harinath@cs.umn.edu>
+
+	Avoid using refs as hash keys.
+	* lib/Automake/Variable.pm ($_traversal): New.
+	(reset): Reset $_traversal.
+	(_new): New attribute 'scanned'.
+	(%_vars_scanned): Remove.
+	(traverse_variable_recursively)
+	(traverse_variable_recursively_worker):
+	Use $_traversal instead of %_vars_scanned to detect recursively
+	defined variables.
+
+	* lib/am/configure.am (am--refresh): Silence.
+
+2003-07-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (define): Make clear the diagnostic
+	about variable names starting with `_' is about *Make* variables.
+
+	For Debian Bug #193907:
+	* automake.texi (Clean): make maintainer-clean should still
+	allow ./configure && make to run.
+
+	* automake.texi (CVS): Typo.
+
+2003-07-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in: Use Automake::FileUtils.
+	(parse_arguments, scan_configure, scan_m4_files): Never call
+	"die" to print an error message.  Use print and exit.
+	* automake.in: Use Automake::FileUtils.
+	* lib/Automake/General.pm ($debug, $help, $tmp, $verbose,
+	$version, &debug, &getopt, &mktmpdir, &verbose): Remove.
+	(END): Do not massage Perl's exit code.  Do not clean any temporary
+	directory.
+	(find_file, mtime, update_file, xsystem, contents): Move to ...
+	* lib/Automake/FileUtils.pm: ... this new file.  Adjust to
+	report errors using Channels.
+	(handle_exec_errors, xqx): New functions, from Autoconf.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add FileUtils.pm.
+
+	* lib/Automake/Variable.pm (_traverse_variable_recursively_worker):
+	Return the empty list on recursively defined variable.  This
+	supersedes my change of 2003-07-02.
+
+2003-07-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($cygnus_mode): Replace with $options{'cygnus'}.
+	Adjust all dependencies.
+	(&depend): Move next to %dependencies and prototype.
+	(&initialize_per_input): Initialize the 'cygnus' field of
+	'%options' to spare the code from 'exists' or 'defined' when
+	testing it.
+	(&handle_configure, &do_check_merge_target, &check_cygnus): Prototype.
+	(&parse_arguments): Rename '%options' and '%options_1st_pass' as
+	'%cli_options' and '%cli_options_1st_pass' to avoid clashes and
+	inconsistencies.
+
+2003-07-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (generate_makefile): Move near the end of the
+	file, after the definition of all called functions, so that
+	prototypes can be enforced.
+
+2003-07-06  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/subdirs.am (RECURSIVE_TARGETS): Move install-recursive,
+	install-exec-recursive, install-data-recursive and
+	uninstall-recursive addition to...
+	* lib/am/texinfos.am: here.
+	* lib/am/texinfos.am, lib/am/subdirs.am: Remove the .PHONY
+	declaration of RECURSIVE_TARGETS.
+
+2003-07-06  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/Variable.pm, lib/Automake/VarDef.pm (VAR_SORTED):
+	New variable type.
+	Handle it.
+	* automake.in (&handle_subdirs): Prototype.
+	Adjust callers.
+	Make RECURSIVE_TARGETS a VAR_SORTED.
+
+2003-07-06  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&define_files_variable): New.
+	(&handle_texinfo_helper): Move the handling of user variables from
+	here, to...
+	(&handle_texinfo): here.
+	This is to balance the size of these functions, and to match the
+	convention of other _helper functions.
+	(&handle_texinfo_helper): Use &define_files_variable.
+	Move some code to use less variables.
+	Rename $info_cursor as $texi.
+	(&handle_texinfo): Do not call handle_texinfo_helper if there are
+	no TEXINFOS.
+	* lib/am/texinfos.am: Sort the occurrences of dvi, info, pdf, ps
+	and html.
+	Remove *-recursive targets from .PHONY, they are part of
+	$(RECURSIVE_TARGETS) anyway.
+	(install-info, mostlyclean-aminfo): Are .PHONY.
+
+2003-07-05  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/distdir.am: Use ';' as a terminator, not a separator, for
+	sed complex commands, as required by NetBSD sed.
+	Reported by Patrick Welche.
+
+2003-07-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/config.guess, lib/config.sub: New upstream version.
+
+2003-07-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Optional, Dist): AC_CONFIG_AUX_DIR files
+	are automatically distributed.
+
+	* lib/depcomp (icc): Update to grok ICC 7.1's output.
+	* m4/depend.m4 (_AM_DEPENDENCIES): Check dependency generation
+	in a subdirectory, and with many dependencies.  This
+	catches more failures of depcomp.
+	Reports from Ralf Wildenhues and Akim Demaille.
+
+2003-07-04  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_texinfo_file, &output_texinfo_build_rules,
+	(&handle_texinfo_helper, &handle_texinfo): Formatting changes.
+	Prototype properly.
+	Don't use & when calling functions.
+
+2003-07-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* NEWS: Categorize entries.
+	Suggested by Jim Meyering.
+
+	* Makefile.am (maintainer-clean): Disallow '$AUTOMAKE && exit 1'.
+	Ignore @...@ substitutions in comments.
+	* tests/defs.in: Try to make the shell more POSIX compliant.
+	(AUTOMAKE_run, AUTOMAKE_fails): New functions.
+	* tests/README: Mention AUTOMAKE_fails.
+	* tests/alloca.test, tests/alloca2.test, tests/ansi8.test,
+	* tests/asm.test, tests/backsl3.test, tests/backsl4.test,
+	* tests/badline.test, tests/badopt.test, tests/canon.test,
+	* tests/canon5.test, tests/colneq.test, tests/comment3.test,
+	* tests/comment5.test, tests/cond2.test, tests/cond20.test,
+	* tests/cond23.test, tests/cond24.test, tests/cond27.test,
+	* tests/condinc2.test, tests/conff2.test, tests/cxx2.test,
+	* tests/dejagnu2.test, tests/dirforbid.test,
+	* tests/distcom3.test, tests/else.test, tests/exdir2.test,
+	* tests/exeext2.test, tests/gcj2.test, tests/gcj5.test,
+	* tests/getopt.test, tests/gettext.test, tests/gettext2.test,
+	* tests/gnits.test, tests/gnuwarn.test, tests/gnuwarn2.test,
+	* tests/insh.test, tests/lex2.test, tests/libobj10.test,
+	* tests/libobj12.test, tests/libobj13.test,
+	* tests/libobj3.test, tests/library2.test,
+	* tests/library3.test, tests/libtool4.test,
+	* tests/libtool6.test, tests/lisp2.test, tests/location.test,
+	* tests/nogzip2.test, tests/output5.test, tests/overrid.test,
+	* tests/percent.test, tests/percent2.test,
+	* tests/pluseq5.test, tests/pluseq7.test, tests/pluseq9.test,
+	* tests/pr211.test, tests/primary.test, tests/primary2.test,
+	* tests/python2.test, tests/recurs.test, tests/reqd2.test,
+	* tests/seenc.test, tests/specflg.test, tests/specflg2.test,
+	* tests/spell.test, tests/spell2.test, tests/srcsub.test,
+	* tests/srcsub2.test, tests/stdlib.test, tests/subdir7.test,
+	* tests/substtarg.test, tests/suffix11.test,
+	* tests/symlink.test, tests/syntax.test,
+	* tests/targetclash.test, tests/txinfo4.test,
+	* tests/version3.test, tests/warnopts.test,
+	* tests/xsource.test, tests/yacc2.test: Use set -e,
+	AUTOMAKE_fails, and always grep error message.
+
+	* automake.in (handle_ltlibraries): Fix call to msg.
+
+	* tests/stamph.test: Delete.
+	* tests/Makefile.am (TESTS): Remove stamph.test.
+
+	* automake.in (handle_single_transform_list): Use $var->name
+	to print variable in the configure-substitution diagnostic.
+	Do not mention the parent when it is the variable itself.
+
+	* tests/package.test: Delete.
+	* tests/Makefile.am (TESTS): Remove package.test.
+
+	* automake.in (cond_stack_else): Return FALSE if `if' was not
+	used.
+	(cond_stack_endif): Return TRUE if `if' was not used.  Do not
+	display $negate and $cond, they are irrelevant and maybe undefined.
+
+2003-07-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (_traverse_variable_recursively_worker):
+	Do not return undef when a variable is recursively defined, this
+	causes warnings all over the place.  Return the empty string instead.
+
+	* lib/am/distdir.am (distcheck): Protect loop of DIST_ARCHIVES
+	from empty DIST_ARCHIVES.
+
+2003-07-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_autoconf_traces): Check the expected
+	number of arguments of each traced macro.
+	* tests/overrid.test: Fix call to AM_CONDITIONAL.
+	* tests/conff2.test: New files.
+	* tests/Makefile.am (TESTS): Add conff2.test.
+	Report from Paolo Bonzini.
+
+2003-06-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in ($SUBST_REF_PATTERN): Do not define.
+	(%gen_varname): Move to Variable.pm, as %_gen_varname.
+	(initialize_per_input): Do not clean %gen_varname.
+	(handle_options, check_libobjs_sources, handle_source_transform,
+	handle_LIBOBJS, handle_ltlibraries, handle_texinfo_helper,
+	handle_man_pages, handle_dist, handle_subdirs, handle_gettext,
+	am_install_var): Adjust to use value_as_list_recursive,
+	loc_and_value_as_list_recursive, and has_conditional_contents.
+	(require_file_with_macro): Accept an Automake::Variable as argument.
+	(traverse_variable_recursively,
+	traverse_variable_recursively_worker, gen_varname,
+	transform_variable_recursively): Move ...
+	* lib/Automake/Variable.pm (traverse_variable_recursively,
+	_traverse_variable_recursively_worker,
+	_gen_varname, transform_variable_recursively): ... here.
+	* automake.in (variable_conditionally_defined,
+	variable_value_as_list_recursive_worker,
+	variable_value_as_list_recursive
+	variable_loc_and_value_as_list_recursive): Move ...
+	* lib/Automake/Variable.pm (has_conditional_contents,
+	_value_as_list_recursive_worker,
+	value_as_list_recursive, loc_and_value_as_list_recursive): ... here.
+	(reset): Reset %_gen_varname.
+	(require_variables_for_variable): Accept an Automake::Variable
+	as argument.
+
+2003-06-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/aclocal6.test: Test maintainer-clean in VPATH
+	builds. (For Ralf's fix.)
+
+2003-06-27  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>  (tiny change)
+
+	* lib/am/configure.am (maintainer-clean): Remove
+	$(top_srcdir)/autom4te.cache, not autom4te.cache.
+
+2003-06-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.texi: Use @node with a single argument.
+
+2003-06-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/Makefile.am (dist_m4data_DATA): Add $(top_srcdir)/m4/amversion.m4.
+
+	* lib/am/distdir.am (distcheck): Run $(am__remove_distdir)
+	at the end of distcheck.  This was mistakenly removed on
+	2003-06-15.
+	* tests/subpkg.test: Make sure distcheck cleans up after itself.
+
+	* m4/Makefile.am ($(srcdir)/amversion.m4): Rename as ...
+	($(top_srcdir)/m4/amversion.m4): ... this.
+	(DISTCLEANFILES): Remove.
+	(nodist_m4data_DATA): Remove. amversion.m4 is automatically
+	distributed.
+	(EXTRA_DIST): Add amversion.in.
+
+2003-06-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.texi (Top): Use @copying and @insertcopying.
+	Make Alexandre an author.
+	* automake.in ($gen_copyright): Add the "(C)" to Copyright.
+	* lib/depcomp: Likewise.
+
+2003-06-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (vardef, rvardef, set_seen): New functions.
+	(variable_defined, examine_variable): Remove.
+	(%_ac_macro_for_var): Add an entry for ALLOCA.
+	(require_variables): Use vardef instead of variable_defined.
+	Do not use _cvar.
+	* automake.in (generate_makefile): Do not push $(SOURCE) into
+	@sources.  Use define_pretty_variable to define SOURCES.
+	(handle_LIBOBJS, handle_ALLOCA): Use require_variables_for_variable
+	to require LIBOBJS, LTLIBOBJS and ALLOCA.
+	(handle_programs, handle_ltlibraries): Do not define an empty
+	_DEPENDENCIES or _LDFLAGS variable when none is defined.
+	(define_configure_variable): Do not check whether the variable
+	already exists (it's Automake::Variable::define's job).
+	(require_build_directory): Likewise, do not check
+	the existence of am__dirstamp.
+	(generate_makefile, handle_options, handle_languages)
+	(check_libobjs_sources, handle_single_transform_list)
+	(traverse_variable_recursively_worker, handle_source_transform)
+	(handle_lib_objects, handle_LIBOBJS, handle_compile)
+	(handle_libtool, handle_programs, handle_libraries)
+	(handle_ltlibraries, check_typos, handle_texinfo_helper)
+	(handle_man_pages, handle_tags, handle_dist, handle_subdirs)
+	(scan_aclocal_m4, handle_gettext, handle_footer, handle_install)
+	(handle_all, do_check_merge_target, handle_clean, lang_c_finish)
+	(handle_tests, lang_yacc_target_hook, define_pretty_variable)
+	(define_compiler_variable, define_linker_variable)
+	(make_paragraphs, am_primary_prefixes, am_install_var): Adjust to
+	call var, vardef, or set_seen, instead of variable_defined.  Use
+	set_seen only for variables which are actually checked by
+	check_typos.
+	* tests/target.test: Delete.
+	* tests/alloca.test, tests/alloca2.test: New files.
+	* tests/libobj3.test: Check error message.
+	* tests/distcom4.test: Make sure configure is in DIST_COMMON.
+	This replace confdist.test.
+	* tests/Makefile.am (TESTS, XFAIL_TESTS): Remove target.test.
+	(TESTS): Add alloca.test and alloca2.test.  Remove confdist.test.
+
+2003-06-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_dist): Delete DIST_COMMON before redefining
+	it.  Bug report from Akim Demaille.
+	(rewrite_inputs_into_dependencies): Make sure we always return
+	something, even when $add_srcdir is 0.
+	* tests/distcom4.test, tests/distcom5.test: New files.
+	* tests/Makefile.am (TESTS): Add distcom4.test and distcom5.test.
+
+	* tests/cond29.test: Also check for _SOURCES.
+	Report from Paolo Bonzini.
+
+2003-06-20  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/configure.am: Replace leading spaces with a real tab.
+
+2003-06-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/nogzip.test, tests/nogzip2.test: New files.
+	* tests/Makefile.am (TESTS): Add nogzip.test and nogzip2.test
+
+2003-06-15  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&make_paragraphs): Define %GZIP%.
+	(&process_option_list): Accept no-dist-gzip2.
+	(&handle_dist): Complain when no archive format is enabled.
+	* lib/am/distdir.am (DIST_ARCHIVES): New variable.
+	(dist-gzip, dist-bzip2, dist-tarZ, dist-zip): No longer
+	conditioned.
+	(dist): Build $(distdir).tar.gz conditionally.
+	(distcheck): Use DIST_ARCHIVES to find an archive to unpack, and
+	to list built archives.  Run $(MAKE) dist instead of dist-gzip.
+	* automake.texi (Options, The types of distributions): Adjust.
+
+2003-06-15  Jens Elkner  <elkner@imsgroup.de>  (tiny change)
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Fix sed commands to work with
+	POSIXLY_CORRECT=1.
+
+2003-06-14  Karl Berry  <karl@gnu.org>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* mkinstalldirs (scriptversion): New variable.  Setup emacs hooks
+	to update it each time the file is written, as in install-sh.
+	(usage): Improve message.
+	(--version): New option.
+	(--help): Output to stdout, not stderr.
+
+2003-06-13  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/install-sh (dsttmp, rmtmp): Do not use '#' in file names;
+	it's not guaranteed by POSIX and it doesn't work on OpenVMS.
+	Bug reported by Bernard Giroud in:
+	http://mail.gnu.org/archive/html/autoconf-patches/2003-06/msg00013.html
+
+2003-06-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (check_gnu_standards): Use no-installman and
+	no-installinfo's locations.
+	(process_option_list): Fill %options with locations.
+	(check_cygnus) Fill $options{'no-installinfo'} and
+	$options{'no-dependencies'} with $cygnus_mode, so that it
+	remains a Location.
+	* tests/gnuwarn2.test: New file.
+	* tests/Makefile.am (TESTS): Add gnuwarn2.test.
+
+2003-06-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (process_option_list): Record the location
+	of ansi2knr's definition.
+	(handle_compile): Use it.
+	* tests/ansi3.test: Make sure the location appears correctly.
+	Update to use set -e.
+	* tests/ansi3b.test: New file.
+	* tests/Makefile.am (TESTS): Add ansi3b.test.
+
+	* tests/alpha.test: Really run $MAKE.  Augment to test
+	subdirectories, and check-news report.
+	* tests/alpha2.test: New file.  Bug report from Akim Demaille.
+	* tests/gnits2.test: Make sure README-alpha is not distributed.
+	* tests/Makefile.am (TESTS): Add alpha2.test.
+	* automake.in (handle_minor_options): Distribute README-alpha
+	using push_dist_common, not require_file_with_macro.
+
+2003-06-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Configure_ac.pm
+	(search_configure_ac, find_configure_ac): Rename as ...
+	(find_configure_ac, require_configure_ac): ... these.
+	* aclocal.in (scan_configure): Adjust call to require_configure_ac.
+	* automake.in (scan_autoconf_files): Likewise.
+	Suggested by Tim Van Holder.
+
+	* alocal.in: Use Automake::Configure_ac.
+	($configure_ac): Delete.
+	(scan_configure): Adjust use of find_configure_ac;
+	* automake.in: Use Automake::Configure_ac.
+	($configure_ac): Delete.
+	(scan_autoconf_files): Adjust use of find_configure_ac;
+	* lib/Automake/Configure_ac.pm: New file.
+	* lib/Automake/General.pm (find_configure_ac): Delete.  Now
+	replaced by Automake::Configure_ac::search_configure_ac.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Configure_ac.pm.
+	* lib/Automake/Variable.pm: Use Automake::Configure_ac.
+	(require_variables): Adjust use of $configure_ac.
+
+2003-06-02  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/texi-vers.am, lib/am/subdirs.am, lib/am/scripts.am,
+	* lib/am/remake-hdr.am, lib/am/python.am, lib/am/progs.am,
+	* lib/am/program.am, lib/am/multilib.am, lib/am/mans.am,
+	* lib/am/mans-vars.am, lib/am/ltlibrary.am, lib/am/ltlib.am,
+	* lib/am/lisp.am, lib/am/libtool.am, lib/am/library.am,
+	* lib/am/lang-compile.am, lib/am/java.am, lib/am/header.am,
+	* lib/am/header-vars.am, lib/am/footer.am, lib/am/depend.am,
+	* lib/am/dejagnu.am, lib/am/data.am, lib/am/compile.am,
+	* lib/am/clean.am, lib/am/clean-hdr.am, lib/am/check.am,
+	* lib/am/ansi2knr.am, lib/am/Makefile.am, lib/Makefile.am,
+	* m4/strip.m4, m4/sanity.m4, m4/runlog.m4, m4/regex.m4,
+	* m4/python.m4, m4/protos.m4, m4/options.m4, m4/obsolete.m4,
+	* m4/obsol-lt.m4, m4/obsol-gt.m4, m4/multi.m4, m4/missing.m4,
+	* m4/minuso.m4, m4/maintainer.m4, m4/lispdir.m4, m4/lex.m4,
+	* m4/install-sh.m4, m4/header.m4, m4/gcj.m4, m4/dmalloc.m4,
+	* m4/depout.m4, m4/cond.m4, m4/ccstdc.m4, m4/auxdir.m4, m4/as.m4,
+	* m4/Makefile.am: White space changes and Copyright updates.
+
+2003-05-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm (check_defined_unconditionally): Add
+	the $parent_cond argument.
+	(output): Use $self->name in diagnostic not $self.
+	(variable_value_as_list): Rename as ...
+	(value_as_list): ... this.  Declare as a method.  Take a $parent_cond
+	argument and pass it to check_defined_unconditionally.  Do not call
+	variable_assert, now that this is a method.
+	(variable_assert): Delete (unused).
+	* automake.in (traverse_variable_recursively_worker): Adjust to
+	use check_defined_unconditionally and value_as_list as a methods.
+
+	* lib/Automake/Variable.pm (output): Declare as a method, since it
+	is only used this way.
+	(define): Fix documentation of $cond.
+	Suggested by Raja R. Harinath.
+
+2003-05-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Variable.pm, lib/Automake/VarDef.pm: New files.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Variable.pm
+	and VarDef.pm.
+	* automake.in: Use Automake::Variable and Automake::VarDef.
+	(MACRO_PATTERN): Delete. Now Automake::Variable::_MACRO_PATTERN.
+	(am_macro_for_var): Delete. Now Automake::Variable::_am_macro_for_var.
+	(ac_macro_for_var): Delete. Now Automake::Variable::_ac_macro_for_var.
+	(silent_variable_override): Delete.  Now
+	Automake::Variable::_silent_variable_override.
+	(var_value, var_location, var_comment, var_type, var_owner,
+	var_pretty, content_seen): Delete.  This functionality is now
+	offered by Automake::Variable and Automake::VarDef.
+	(VAR_AUTOMAKE, VAR_CONFIGURE, VAR_MAKEFILE, VAR_ASIS, VAR_PRETTY):
+	Delete.  Now defined in Automake::VarDef.
+	(var_order): Delete.  Now Automake::Variable::_var_order.
+	(appendvar): Delete.  Now Automake::Variable::_appendvar.
+	(var_SUFFIX_trigger): Register using Automake::Variable::hook.
+	(initialize_per_input): Call Automake::Variable::reset.
+	(err_var, msg_cond_var, msg_var, reject_var): Delete.  Now
+	defined in Automake::Variable.
+	(generate_makefile, process_option_list, handle_languages)
+	(traverse_variable_recursively_worker)
+	(transform_variable_recursively, handle_compile)
+	(handle_libraries, handle_ltlibraries)
+	(check_typos, handle_dist, handle_subdirs, scan_autoconf_files):
+	Adjust to use Automake::Variable functions.
+	(check_ambiguous_condition): Delete.  Now
+	Automake::Variable::_check_ambiguous_condition.
+	(condition_ambiguous_p): Delete.  Now
+	Automake::Variable::condition_ambiguous_p.
+	(variable_not_always_defined_in_cond): Delete.  Now
+	Automake::Variable::not_always_defined_in_cond.
+	(macro_define): Delete.  Now Automake::Variable::define.
+	(macro_delete): Delete.  Now Automake::Variable::variable_delete.
+	(macro_dump): Delete.  Now Automake::Variable::variable_dump.
+	(macros_dump): Delete.  Now Automake::Variable::variables_dump.
+	(variable_defined): Delete.  Now
+	Automake::Variable::variable_defined, with the target check
+	temporarily disabled.
+	(variable_assert): Delete.  Now Automake::Variable::variable_assert.
+	(examine_variable): Delete.  Now
+	Automake::Variable::examine_variable.
+	(variable_conditions): Delete.  Now Automake::Variable::conditions.
+	(scan_variable_expansions): Delete.  Now
+	Automake::Variable::scan_variable_expansions.
+	(check_variable_expansions): Delete.  Now
+	Automake::Variable::check_variable_expansions.
+	(check_variable_defined_unconditionally): Delete.  Now
+	Automake::Variable::check_defined_unconditionally.
+	(variable_value): Delete.  Now Automake::Variable::variable_value.
+	(variable_value_as_list): Delete.  Now
+	Automake::Variable::variable_value_as_list.
+	(variable_value_as_list_recursive_worker): Adjust to use
+	Automake::Variable functions.
+	(variable_output): Delete.  Now Automake::Variable::output.
+	(define_pretty_variable, define_configure_variable, read_am_file)
+	(define_standard_variables, read_main_am_file): Adjust to use
+	Automake::Variable functions.
+	(handle_variables): Delete.  Now Automake::Variable::output_variables.
+	(file_contents_internal, am_primary_prefixes, am_install_var)
+	(require_file_with_macro, require_conf_file_with_macro)
+	(push_dist_common): : Adjust to use
+	Automake::Variable functions.
+	(require_variables): Delete.  Now
+	Automake::Variable::require_variables.
+	(require_variables_for_macro): Delete.  Now
+	Automake::Variable::require_variables_for_variable.
+	* tests/Makefile.am (XFAIL_TESTS): Add target.test.
+
+2003-05-25  Christian Cornelssen  <ccorn@cs.tu-berlin.de>  (tiny change)
+
+	* tests/dejagnu7.test: Check if runtest supports --status.
+
+2003-05-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Location.pm (dump): Output 'INTERNAL' when position
+	is undefined.
+
+	* lib/Automake/DisjConditions.pm (human): Fix infinite loop when
+	$self contains only one Condition.
+
+	* automake.in: Use plain strict, including refs.
+	(macro_define, handle_single_transform_list): Use \&{'name'} to
+	build references to named subroutines.
+
+2003-05-22  Karl Berry  <karl@gnu.org>
+
+	* automake.texi: Update @dircategory to match the Free Software
+	Directory.  End directory entries with dots.
+
+2003-05-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (maintainer-mode): s/FranÃ§ois/Fran@,{c}ois/.
+
+	* lib/elisp-comp: s/FranÃ§ois/Franc,ois/.
+	Suggested by Paul Eggert.
+
+	* automake.in: Move the "main" code at the end.
+	(parse_arguments): Move near the end.
+	($KNOWN_EXTENSIONS_PATTERN, @known_extensions_list,
+	accept_extensions, var_SUFFIXES_trigger): Move these definitions
+	before any call to register_language.
+	(am_file): Move the definition with all other global variables,
+	do not use local to define it.
+	* Makefile.am (maintainer-check): Expect no `local' in Automake.
+
+2003-05-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Wrap.pm, lib/Automake/tests/Wrap.pl: New files.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Wrap.pm.
+	* lib/Automake/tests/Makefile.am (TESTS): Add Wrap.pl.
+	* automake.in (handle_texinfo_helper, pretty_print_rule)
+	(variable_output): Adjust to use makefile_wrap instead of
+	pretty_print_internal.
+	(pretty_print_internal): Remove.  Renamed as Automake::Wrap::wrap
+	and augmented to accept the $eol and $max_len arguments.
+
+2003-05-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Autom4te/XFile.pm, lib/config.guess, lib/config.sub,
+	lib/texinfo.tex: New upstream versions.
+
+2003-05-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/install.am (install, install-exec, install-data, uninstall):
+	Declare conditionally using a if/else/endif block instead of
+	using ?SUBDIRS?-style conditions.  The latter fail when
+	%maybe_BUILT_SOURCES% is replaced by several lines.
+	This fixes a bug introduced on 2003-04-06.
+	* tests/bsource.test: New file.
+	* tests/Makefile.am (TESTS): Add bsource.test.
+	Reported by Bruno Haible.
+
+2003-05-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (renamed objects): New node.
+	(Program and Library Variables): Move maude_DEPENDENCIES closer
+	to maude_LDADD.  Define and use `per-target compilation flags' in the
+	explanation for maude_CFLAGS et al.  Link to the `renamed objects'
+	node.  Illustrate maude_SHORTNAME.
+
+2003-05-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/install-sh: Update copyright notice and license to that of
+	X11R6.  This removes an advertising clause reported as Debian bug
+	#191717.
+
+2003-05-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* configure.in (ACLOCAL): Do not use -I, --acdir is enough.
+
+	* m4/make.m4: Rename the doit target as am__doit,
+	and make it phony.
+	Reported by Philip S Tellis.
+
+2003-05-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/configure.am (%MAKEFILE-IN%): Propagate automake's exit
+	status.
+	* tests/makej.test: New file (test Autom4te's cache locking,
+	new in CVS Autoconf).
+	* tests/Makefile.am (TESTS): Add makej.test.
+
+2003-05-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/General.pm (contents): New function.
+	* aclocal.in (greatest_mtime, force_output): New globals.
+	(scan_configure, add_file): Update $greatest_mtime.
+	(parse_arguments): Parse --force.
+	(write_aclocal): Do not overwrite $output_file unless needed.
+	* automake.texi (aclocal options): Document --force.
+	* tests/aclocal7.test: New file.
+	* tests/Makefile.am (TESTS): Add aclocal7.test.
+
+2003-05-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Optional): Document m4_include.
+	(Invoking aclocal): Shake a bit to introduce the various uses
+	of aclocal and explain that aclocal will use m4_include for
+	local files.
+	(Extending aclocal): Show how to install installable macros
+	in $(datadir)/aclocal, and make it clearer that writing installable
+	macros is not the only way to extend aclocal.
+	(Local Macros, Future of aclocal): New sections.
+
+2003-04-27  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (@common_files): Remove acinclude.m4 since
+	it will be m4_included by aclocal.m4 and files are always
+	distributed.
+	(scan_aclocal_m4): Do not bother about acinclude.m4 anymore.
+	We will get this dependency when tracing m4_includes.
+	* tests/aclocal6.test: Make sure acinclude.m4 is distributed
+	when used.
+	* tests/acinclude.test: Delete.
+	* tests/Makefile.am (TESTS): Remove acinclude.test.
+
+2003-04-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_configure): Don't add @configure_deps to
+	DIST_COMMON, we do this from lib/am/configure.am now.
+	Define the am__configure_deps variable instead of substituing
+	%CONFIGURE_DEPS%.
+	* lib/am/configure.am (%MAKEFILE-IN%, $(top_srcdir)/configure,
+	$(ACLOCAL_M4)): Use $(am__configure_deps) instead of %CONFIGURE_DEPS%.
+	(DIST_COMMON): Add $(am__configure_deps).
+
+	* tests/aclocal6.test: New file.
+	* lib/am/configure.am (am--refresh): New rule.
+	(%MAKEFILE-IN%, %MAKEFILE%, $(top_builddir)/config.status,
+	$(top_srcdir)/configure): Call the top-level am--refresh from
+	subdirectories.
+	($(ACLOCAL_M4)): Depend upon %CONFIGURE_DEPS%.  Call the
+	top-level am--refresh when not in the top-level directory.
+	Fix jump directories for VPATH builds.
+	Suggested by Raja R. Harinath.
+
+2003-04-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_aclocal_m4): Do not parse ACLOCAL_AMFLAGS
+	and glob for m4_files (We've got all local m4 files while
+	tracing m4_include's).  Diagnose ACLOCAL_M4_SOURCES as obsolete.
+	Distribute aclocal.m4 only at the top-level.
+	(my_glob): Remove.  This fixes PR automake/11.
+	(handle_dist): Strip leading `./' from directories.
+	* aclocal.in (add_file): Output 'm4_include([file.m4])' instead
+	of copying local files.
+	(write_aclocal, parse_arguments): Bump copyright date.
+	* configure.in: De not build m4/amversion.m4 from here ...
+	* m4/Makefile.am ($(srcdir)/amversion.m4): ... do this here.
+	(nodist_m4data_DATA): Use $(srcdir)/amversion.m4 instead
+	of amversion.m4.
+	* tests/Makefile.am (XFAIL_TESTS): Remove aclocal5.test.
+	(TESTS): Remove aclocal2.test.  Do not test aclocal.test twice.
+	* tests/aclocal2.test: Delete (pointless).
+	* tests/aclocal5.test: Make sure configure's dependencies are
+	distributed.
+	* tests/acinclude.test: Adjust to search for m4_include.
+	* tests/dirlist.test, tests/dup3.test: Run $AUTOCONF and grep
+	configure instead of aclocal.m4.
+
+	For PR automake/46:
+	* automake.in (scan_aclocal_m4): Work in all directories, not only
+	the top-level.  Prepend $(top_srcdir) in front of each aclocal.m4
+	dependency.
+	* lib/am/configure.am (config.status, configure, $(ACLOCAL_M4)):
+	Define rebuild rules in each directory.
+	* tests/subdir8.test: Augment to exercise aclocal.m4's dependencies
+	from the top-level directory.
+	* tests/aclocal5.test: New file.  Exercise aclocal.m4's dependencies
+	from a subdirectory.
+	* tests/Makefile.am (TESTS): Add aclocal5.test.
+	(XFAIL_TESTS): Replace subdir8.test by aclocal5.test.
+
+2003-04-24  Akim Demaille  <akim@epita.fr>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/46:
+	* lib/am/configure.am (%MAKEFILE-IN%): If Makefile.in is rebuilt
+	because of one of configure's dependencies, run automake without
+	argument to update the whole tree at once.  Depend upon
+	%CONFIGURE_DEPS%.
+	(%MAKEFILE%): If Makefile is rebuilt because config.status has
+	been updated, run config.status without arguments.
+	* automake.in (scan_autoconf_traces): Prepend $(top_srcdir)
+	before all files in @configure_deps.
+	* tests/subdir5.test: Modernize configure.in, make sure
+	maude/Makefile was actually created, and exercise %CONFIGURE_DEPS%.
+	* tests/subdir8.test: New file.
+	* tests/Makefile.am (TESTS): Add subdir8.test.
+	(XFAIL_TESTS): Replace subdir5.test by subdir8.test.
+
+2003-04-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Requirements): Typo in index
+	s/AC_CONFIG_FILE/AC_CONFIG_FILES/.
+
+	* lib/texinfo.tex: New upstream version.
+
+2003-04-21  Jim Meyering  <jim@meyering.net>
+
+	* lib/mkinstalldirs: Remove each sequence of spaces before a
+	TAB character.
+	* lib/depcomp: Search for TAB-SPC, not SPC-TAB.
+
+2003-04-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/389:
+	* automake.in (handle_configure): Don't put $colon_infile in
+	CONFIG-MAKEFILE.
+	* tests/conff.test: New file.
+	* tests/Makefile.am (TESTS): Add conff.test.
+	Reported by Alexander Turbov.
+
+2003-04-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/defs.in: Handle required=etags to work around
+	Exuberant Ctags.
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+	* tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test:
+	Distribute dejagnu test cases, so that distcheck actually runs them.
+
+2003-04-18  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* lib/am/dejagnu.am (site.exp): Don't define tool in site.exp,
+	because we set that by invoking runtest with --tool.
+	* tests/Makefile.am (TESTS): Add dejagnu4.test, dejagnu5.test,
+	dejagnu6.test, dejagnu7.test.
+	* tests/dejagnu4.test: New test.
+	* tests/dejagnu5.test: New test.
+	* tests/dejagnu6.test: New test.
+	* tests/dejagnu7.test: New test.
+
+	* tests/dejagnu3.test: Make sure the DejaGnu test is actually run.
+
+2003-04-18  Jim Meyering  <jim@meyering.net>
+
+	* automake.in (variable_output): Fix typo in comment s/is/if/.
+
+	* lib/am/yacc.am (?!GENERIC?%OBJ% aka .y.c): Don't redirect
+	directly to $@.  Instead, redirect to $@t and rename upon success.
+	Also, move the commands that update $@ so they are last.  Otherwise,
+	this rule could leave the user with an up to date target (.c file)
+	but with a missing or corrupted corresponding .h file.
+
+2003-04-17  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* tests/defs.in: Handle required=runtest, to detect runtest
+	from DejaGnu.
+	* tests/Makefile.am (TESTS): Add dejagnu3.test.
+	* tests/dejagnu3.test: New test.
+
+2003-04-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (rule_define): If the user tries to override
+	an Automake which has a -local variant, suggest using the
+	-local variant in the -Woverride diagnostic.
+	(handle_factored_dependencies): Register factored
+	rules with rule_define, and define them only in undefined
+	conditions.
+	* tests/Makefile.am (TESTS): Add override.test.
+	* tests/overrid.test: New file.
+	* tests/phony.test: Count the number of .PHONY targets.
+
+2003-04-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/distdir.am (distuninstallcheck, distcleancheck): Silence
+	these rules, so that we don't confuse users by echoing
+	"echo ERROR:" commands which are not run.
+
+2003-03-14  Richard Dawe  <rich@phekda.freeserve.co.uk>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (output_texinfo_build_rules, handle_texinfo_helper,
+	initialize_per_input):  Add infrastructure for generating HTML
+	documentation from texinfo source.
+	* lib/am/texinfos.am: Add rules for building HTML documentation
+	from texinfo source.
+	* lib/am/texibuild.am: Likewise.
+	* automake.texi (Texinfo): Document rules for building
+	HTML documentation from texinfo source.
+	* tests/txinfo21.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo21.test.
+	* tests/defs.in: Handle required=makeinfo-html.
+
+2003-04-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (%silent_variable_override): New variable.
+	(macro_define): Warn about variable definitions overriding
+	Automake variables.
+	(rule_define): Warn about target definitions overriding
+	Automake variables.  Fix $condmsg definition.
+	* automake.texi (Invoking Automake): Document the `override'
+	category.
+	* lib/Automake/ChannelDefs.pm (usage): Likewise.
+	* lib/am/texinfos.am [!%?CYGNUS] (MAKEINFO): Do not define,
+	this is already done in m4/init.m4.
+	* tests/dejagnu2.test: Run $MAKE, don't only grep.  Use
+	-Wno-override, and make sure we get a warning without.
+	* tests/exeext2.test, tests/substtarg.test: Use -Wno-override,
+	and make sure we get a warning without.
+	* tests/exeext3.test, tests/java2.test, tests/nolink.test,
+	tests/subpkg.test, tests/vartest.test: Use -Wno-override.
+	* tests/txinfo13.test: Use installcheck-local instead of overriding
+	installcheck.
+	* tests/txinfo2.test: Run $MAKE on the real Makefile (this test
+	used to succeed thanks to a failure...)
+	* tests/location.test: Adjust expected messages.
+	* tests/Makefile.am (XFAIL_TESTS): Add txinfo5.test.
+
+2003-04-12  Raja R Harinath  <harinath@acm.org>
+
+	* lib/Automake/DisjConditions.pm (true): Don't cache answer.
+	(invert): Update comment.
+	(_simplify): Remove.
+	(simplify): Implement using invert().
+	* lib/Automake/tests/DisjConditions.pl (test_simplify):
+	Update to reflect changes.
+
+2003-04-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_autoconf_files): Augment the error message
+	about AM_INIT_AUTOMAKE not found.
+	Suggested by Bruno Haible.
+
+	* lib/Automake/Version.pm: New file.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Version.pm.
+	* lib/Automake/tests/Version.pl: New file.
+	* lib/Automake/tests/Makefile.am (TESTS): Add Version.pl.
+	* tests/Makefile.am (TESTS): Remove version5.test.
+	* tests/version5.test: Delete.  Move the tests to Version.pl.
+	* automake.in (version_split, version_compare, version_check): Move ...
+	* lib/Automake/Version.pm (split, compare, check): ... here.
+
+2003-04-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/tests/Condition.pl (test_reduce_and)
+	(test_reduce_or): Cosmetics.
+	* lib/Automake/tests/DisjConditions.pl (test_sub_conditions):
+	Fix a comment.
+	* lib/Automake/DisjConditions.pm (sub_conditions): Add missing C<...>
+	in comment.
+	* tests/yacc8.test, configure.in: Update copyright year.
+
+2003-04-10  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* configure.in: Get the build platform name.  Define
+	MODIFICATION_DELAY as the time to wait after modifying a file,
+	to cope with timestamp granularity issues, depending
+	on the platform.
+	* tests/defs.in: Define `sleep' using MODIFICATION_DELAY.
+
+2003-04-10  Eric Siegerman  <eric_97@pobox.com>  (tiny change)
+
+	* automake.texi (Public macros): Clarify that the new
+	AM_INIT_AUTOMAKE variant is preferred, and the old one
+	deprecated.  Copy-edit the rest of the AM_INIT_AUTOMAKE item.
+	(Hello): Caution that the example uses the deprecated
+	AC_INIT/AM_INIT_AUTOMAKE syntax, and xref to the discussion.
+
+2003-04-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Retain all variable definitions until the whole Makefile.am has
+	been processed, then output all variables in one step, at the top
+	of Makefile.in.  (Older revisions used to output user variables
+	before generating Automake targets, and to mix Automake variables
+	with Automake targets, preventing redefinitions of previously
+	output variables.)
+
+	* automake.in (%var_pretty): New variable.
+	(VAR_ASIS, VAR_PRETTY): New constants.
+	(@var_list): Rename as ...
+	(@var_order): ... this.
+	(initialize_per_input): Clear %var_pretty.
+	(handle_variables): New function, extracted from ...
+	(read_main_am_file): ... here.
+	(generate_makefile): Call handle_variable after everything else.
+	(handle_dist): Use define_pretty_variable, not pretty_print.
+	(pretty_print): Delete.
+	(macro_define): Augment with $COMMENT and $PRETTY parameters.
+	Update %var_comment, %var_pretty, and @var_order.  Adjust callers.
+	(variable_pretty_output): Merge with ...
+	(variable_output): ... this, and choose the prettiness on a
+	per-condition basis.
+	(append_comments): Delete.  This work is now done by macro_define.
+	(read_am_file, file_contents_internal): Don't call append_comments
+	nor update @var_list, adjust calls to macro_define.
+	(handle_subdirs): Don't explicitly output RECURSIVE_TARGETS,
+	just mark it as VAR_PRETTY.
+	* tests/exeext.test: Make sure bin_PROGRAMS is output only once.
+	Report from Jim Meyering.
+
+2003-04-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_installdirs): Rename as ...
+	(handle_install): ... this.  Define maybe_BUILT_SOURCES.
+	(generate_makefile): Adjust call to handle_install.
+	* lib/am/install.am (install): Use %maybe_BUILT_SOURCES%.
+	* automake.texi (Sources, Built sources example): BUILT_SOURCES
+	is honored by `make install' too.
+	* tests/check3.test: Make sure that `make install' also depends
+	upon BUILT_SOURCES.
+	Report from Alexander Turbov.
+
+	* lib/am/libs.am (ARFLAGS): Define.
+	* automake.in (handle_libraries): Use `$(ARFLAGS)' instead of
+	hard-coding `cru'.
+	* automake.texi (A Library): Explain how AR, ARFLAGS and RANLIB
+	are used, and how they can be overridden.
+	(Program and Library Variables): Adjust to show `$(ARFLAGS)'
+	instead of `cru'
+	* tests/ar.test: Rewrite to test for AR, ARFLAGS, and RANLIB.
+	* tests/ranlib.test: Delete, obsoleted by ar.test.
+	* tests/Makefile.am (TESTS): Remove ranlib.test.
+	Report from Paul Thomas.
+
+2003-04-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (check_trailing_slash): New function (variation on
+	a patch by Peter Muir).  Diagnose whitespaces following trailing
+	backslash.
+	(read_am_file): Use it.
+	* tests/backsl4.test: New file.
+	* tests/Makefile.am (TESTS): Add backsl4.test.
+	Reported by Peter Muir.
+
+2003-03-29  Raja R Harinath  <harinath@acm.org>
+
+	Speedup Automake::DisjConditions::invert().
+	* lib/Automake/Condition.pm (multiply): New.
+	* lib/Automake/DisjConditions.pm (_multiply): Use it.
+	(sub_conditions): Likewise.
+
+	* lib/Automake/Condition.pm (reduce): Rename to ...
+	(reduce_and): ... this.
+	(reduce_or): New.
+	* lib/Automake/DisjConditions.pm (_multiply): Use reduce_or().
+	* lib/Automake/tests/Condition.pl (test_reduce): Rename to ...
+	(test_reduce_and): ... this.
+	(test_reduce_or): New.
+	* lib/Automake/tests/DisjConditions.pl
+	(test_invert): Update to reflect effect of reduce_or().
+	(test_simplify): Don't skip invert() on larger inputs.
+
+2003-03-29  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* tests/yacc8.test: Add a $sleep before modifying Makefile.am so
+	that timestamp will change.
+
+2003-03-23  Akim Demaille  <akim@epita.fr>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/tags.am (TAGS): Use --etags-include instead of --include,
+	when supported by etags (Exuberant Ctags).
+	* tests/tagsub.test: Rewrite to _run_ the `tags' rule.
+
+2003-03-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For Debian Bug #185388:
+	* automake.texi (Extending): Augment the install-exec-hook
+	discussion with an example how to symlink a versioned binary.
+	* tests/insthook.test: Rewrite to test the above example.
+	Report from James R. Van Zandt.
+
+2003-03-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (maintainer-check): Allow `automake:' tokens,
+	occuring in location.test.  Automake now has 5 legitimate
+	unsubstituted @strings@.
+
+	* tests/aclocal4.test: Require GNU make.
+
+2003-03-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/aclocal4.test: New file.  Test for the ACLOCAL_M4 bug below.
+	* tests/Makefile.am (TESTS): Add aclocal4.test.
+
+2003-03-14  Jim Meyering  <jim@meyering.net>
+
+	* automake.in (scan_aclocal_m4): Define ACLOCAL_M4 even in
+	subdirectories.  Makefile.in depends on that variable.
+
+2003-03-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/init.m4: Remove a leftover comment from the pre-1.7 era.
+
+	Fix for PR automake/386:
+	* m4/init.m4: Require Autoconf 2.55.
+	Reported by Owen Taylor.
+
+	* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
+	(?GENERIC?%EXT%.lo): Use `mv -f' instead of `mv' in FASTDEP mode.
+	Suggested by Matthias Andree.
+
+	* tests/README: Typo.
+
+2003-03-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj)
+	(?GENERIC?%EXT%.lo): Hide the if/then/else machinery for FASTDEP.
+	Just echo the gcc command.
+	Suggested by Karl Berry.
+
+2003-03-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/depend2.am (?GENERIC?%EXT%.lo): Do not use
+	`test -f foo || echo $(srcdir)/` to emulate a VPATH search when
+	outputing suffix rules.  This follows 2003-02-25's change.
+	* lib/am/lex.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
+	* lib/am/yacc.am (?GENERIC?%EXT%%DERIVED-EXT%): Likewise.
+
+2003-03-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Requirements) <AC_CONFIG_FILES>: Files listed
+	with AC_CONFIG_FILES are cleaned by `make distclean'.  Don't
+	pretend otherwise.
+	Reported by Rafael Laboissiere.
+
+2003-03-04  Andreas Buening  <andreas.buening@nexgo.de>
+
+	* lib/mdate-sh: Find out which column of the ls -l output contains
+	the month. Do not assume it is at least the fifth column.
+
+2003-02-26  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Emacs Lisp): Mention that `dist_' can be used.
+
+	* automake.texi (Emacs Lisp): Instruct people to use lisp_DATA
+	instead of lisp_LISP when they don't want byte-compilation.
+	Don't mention ELCFILES anymore.
+	* automake.in (handle_data): Allow lisp_DATA.
+	* tests/lisp5.test: New file.
+	* tests/Makefile.am (TESTS): Add lisp5.test.
+
+	* automake.in (handle_emacs_lisp): Don't build *.elc files
+	if ELCFILES was set empty.
+	* tests/lisp4.test: New file.
+	* tests/Makefile.am (TESTS): Add lisp4.test.
+	Reported by Simon Josefsson.
+
+	* tests/lex3.test, tests/lex5.test: Require flex.
+	Reported by Leo Davis.
+
+2003-02-25  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/depend2.am (?GENERIC?%EXT%.o, ?GENERIC?%EXT%.obj): Do not
+	use the `test -f foo || echo $(srcdir)/` to emulate a VPATH search
+	when outputing suffix rules.
+	* lib/am/texibuild.am (?GENERIC?%SOURCE_SUFFIX%.dvi)
+	(?GENERIC?%SOURCE_SUFFIX%.pdf): Likewise.
+	Suggested by Bruno Haible.
+
+	* automake.in (read_am_file): Catch trailing backslashes on last line.
+	* tests/backsl3.test: New file.
+	* tests/Makefile.am (TESTS): Add backsl3.test.
+	Reported by Akim Demaille.
+
+2003-02-24  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* ChangeLog: Move 2002's entries to ...
+	* ChangeLog.02: ... this new file.
+	* Makefile.am (EXTRA_DIST): Add ChangeLog.02.
+
+2003-02-24  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* tests/version7.test: Use $sleep to sleep before updating
+	the version, to work around timestamp inconsistencies in Windows.
+
+2003-02-24  Bruno Haible  <bruno@clisp.org>
+	    Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texibuild.am: Don't remove the target info files. Instead,
+	back up and restore them if makeinfo fails.
+	* tests/txinfo20.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo20.test.
+
+2003-02-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (FAQ, CVS, maintainer-mode, wildcards)
+	(distcleancheck): Fix typos and other errors reported by Karl
+	Berry.
+
+2003-02-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Use $(...)
+	instead of ${...}.
+
+	* tests/defs.in: Handle required=ro-dir.
+	* tests/destdir.test: Use this.
+
+2003-02-19  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* lib/am/distdir.am (distcheck): Strip any leading DOS drive
+	from dc_install_base.
+
+2003-02-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texinfos.am (install-info-am, uninstall-info-am): Install
+	DJGPP-style *.iNN info files.
+	(maintainer-clean-aminfo): Rewrite using the same pattern
+	as in uninstall-info-am.
+	* lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%): Erase
+	DJGPP-style *.iNN info files before running $(MAKEINFO).
+	* tests/txinfo19.test: New file.
+	* tests/Makefile.am (TESTS): Add txinfo19.test.
+
+2003-02-18  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* lib/depcomp (dashmstdout): Cope with DOS filenames in
+	dependencies.
+
+2003-02-17  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/depcomp (makedepend): Don't pass $object to makedepend.
+	Reported by Stepan Kasal.
+
+2003-02-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/defs.in: Handle required=makedepend.
+
+	* Makefile.am (maintainer-check): Update the diff check
+	to account for the recent @SHELL@ substitution.
+
+2003-02-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/depcomp: Do not put comments on the `icc)' line.
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+	Fix for PR automake/381:
+	* automake.in (handle_gettext): Do not print diagnostics
+	about po/ and intl/ missing from SUBDIRS if po/ does not
+	exist.  Warn if `SUBDIRS = intl' is used although libintl
+	is 'external'.
+	* tests/gettext.test: Make sure diagnostics are not output
+	when po/ does not exist.
+	* tests/gettext2.test: Test for unwanted intl/.
+	PR from Alexander Turbov, fix suggested by Bruno Haible.
+
+	* m4/depend.m4: Grep depcomp's stderr for icc warnings about
+	ignored options.
+	* lib/depcomp (icc): New mode.
+	* tests/depcomp5.test: New file.
+	* tests/defs.in: Handle required=icc.
+	* tests/Makefile.am (TESTS): Add it.
+
+	Temporary hack for PR automake/381:
+	* automake.in (handle_gettext): Turn missing po/ and intl/ errors
+	into -Wsyntax warnings.
+
+2003-02-10  Richard Dawe  <rich@phekda.freeserve.co.uk>
+
+	* Makefile.am: Substitute @SHELL@ in automake.in and aclocal.in.
+	This makes the setting of SHELL work for DJGPP.
+
+2003-02-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/385:
+	* lib/depcomp (makedepend): Strip any libtool call, before
+	running makedepends.
+	* tests/depcomp4.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	Reported by Jeff Squyres.
+
+	Related to PR automake/385:
+	* lib/depcomp (dashmstdout): Do not use `-o /dev/null', or gcc will
+	write dependencies to /dev/null.  `-o /dev/null' was added
+	on 2002-06-13 just because I tried to replace `-o foo.o' by something
+	else and didn't thought about removing it entirely.
+	* tests/depcomp3.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+
+	* automake.in (BEGIN): Override $ENV{'SHELL'} with ./configure's
+	SHELL for DJGPP.
+	Suggested by Richard Dawe.
+
+2003-02-09  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (FAQ, CVS, maintainer-mode, wildcards)
+	(distcleancheck): New nodes.
+
+2003-02-06  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (scan_autoconf_files): Don't complain that
+	AM_INIT_AUTOMAKE comes from an old version if it was not found.
+
+2003-02-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (am_install_var): Simplify filtering of
+	variable_loc_and_value_as_list_recursive's output.
+
+2003-02-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/init.m4 (_AC_AM_CONFIG_HEADER_HOOK): Recompute
+	indexes of header files so we create stamp files with
+	the right numbers when config.status is run on some headers.
+	* tests/stamph2.test: Check for this.
+	Reported by Sander Niemeijer.
+
+2003-02-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (vars_scanned): Move near traverse_variable_recursively.
+	(traverse_variable_recursively,
+	traverse_variable_recursively_worker): Accept a $COND_FILTER argument
+	to filter out conditions during recursion.  Don't recurse into
+	undefined variables.  Don't pass empty results to &FUN_COLLECT.
+	(value_to_list): Remove, was used by
+	variable_value_as_list_recursive_worker only.
+	(variable_value_as_list_recursive_worker): Rewrite using
+	traverse_variable_recursively.  Remove the $parent argument.
+	(variable_value_as_list_recursive,
+	variable_loc_and_value_as_list_recursive): Adjust calls
+	to variable_value_as_list_recursive_worker.  Don't reset
+	%vars_scanned.
+	* tests/cond3.test: Don't expect empty helper variables,
+	we don't output them anymore.
+	* tests/cond30.test: Use an undefined variable.
+
+	* automake.in (handle_programs): Strip $(EXEEXT) before
+	calling &check_canonical_spelling.
+	* tests/exeext.test: Make sure we don't use a
+	maude3__EXEEXT__OBJECTS variable.
+
+2003-02-02  Jeremy Nimmer  <jwnimmer@alum.mit.edu>  (tiny change)
+
+	For Debian Bug #39542:
+	* automake.texi (Invoking Automake, Optional): Document how
+	AC_CONFIG_AUX_DIR interacts with missing files.
+
+2003-02-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/DisjConditions.pm (_permutations_worker)
+	(permutations): Remove, so that people aren't tempted to use it.
+	* lib/Automake/tests/DisjConditions.pl (tests_permutations): Remove.
+
+	* automake.in (variable_conditions_recursive): Remove.
+	(variable_conditionally_defined): Rewrite using
+	traverse_variable_recursively.
+
+	* automake.in (traverse_variable_recursively,
+	traverse_variable_recursively_worker): Pass one merged Condition
+	instead of a stack of conditions to &FUN_STORE and &FUN_COLLECT.
+	(transform_variable_recursively, define_objects_from_sources)
+	(handle_lib_objects, variable_conditions_recursive): Adjust usage.
+
+2003-02-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_lib_objects): Compute _DEPENDENCIES variables
+	using transform_variable_recursively instead of
+	variable_conditions_recursive and variable_value_as_list_recursive
+	to avoid combinatorial explosion.
+	(handle_lib_objects_cond): Merge into handle_lib_objects.
+	* tests/cond11.test: Don't grep internal details in Makefile.in,
+	run $MAKE to make sure the resulting Makefile runs as expected.
+	* tests/cond29.test: Also exercise conditional _LDADD.
+	* tests/cond31.test, tests/cond32.test: New files.
+	* tests/Makefile.am (TESTS): Add tests/cond31.test and
+	tests/cond32.test.
+
+2003-01-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_lib_objects_cond): Ignore -dlopen and
+	-dlpreopen in _LIBADD variables too.
+	(handle_LIBOBJS, handle_ALLOCA): New functions, extracted from
+	handle_lib_objects_cond.
+	* tests/libtool7.test: New file.
+	* tests/Makefile.am (TESTS): Add libtool7.test.
+
+	* automake.texi (Program and Library Variables): Clarify that
+	_LIBADD is for libraries and _LDADD for programs.
+
+	* automake.in (handle_source_transform): Correct typo from 2003-01-23.
+
+2003-01-28  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Fix for PR automake/352:
+	* automake.in (transform_variable_recursively): If the destination
+	and the source variables are the same, delete the source variable
+	before defining the destination variable.
+	(handle_programs): Strip any $(EXEEXT) suffix from $one_file,
+	or this will confuse handle_source_transform.
+	(append_exeext): Rewrite using transform_variable_recursively.
+	* tests/cond29.test, tests/cond30.test: New files.
+	* tests/exeext.test: Run ./configure and make, this uncovered
+	the above handle_programs issue.
+	* tests/Makefile.am (TESTS): Add cond29.test and cond20.test.
+
+	* automake.in (%subobjvar): Replace by ...
+	(%gen_varname): ... this.
+	(subobjname): Replace by ...
+	(gen_varname): ... this.
+	(initialize_per_input): Clean gen_varname instead of subobjname.
+	(transform_variable_recursively): New function, extracted
+	from define_objects_from_sources.
+	(define_objects_from_sources): Use transform_variable_recursively.
+	Remove the unused $parent argument.
+	(handle_source_transform): Adjust call to define_objects_from_sources.
+
+2003-01-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (@substfroms, @substtos): Move near
+	traverse_variable_recursively.
+	(traverse_variable_recursively, traverse_variable_recursively_worker):
+	New functions, extracted from define_objects_from_sources.
+	(define_objects_from_sources): Rewrite using
+	traverse_variable_recursively.
+	(handle_source_transform): Use variables_conditionally_defined
+	instead of calling variable_conditions_recursive directly.
+	Adjust the call to define_objects_from_sources; there is no need
+	to reset @substtos, @substfroms, and %vars_scanned now.
+	(variable_conditions_recursive): Rewrite using
+	traverse_variable_recursively.
+	(variable_conditions_recursive_sub): Remove.
+	(variable_conditionally_defined): Fix condition comparison (the
+	consequence was that DIST_SUBDIRS was always output).
+	* lib/Automake/Condition.pm (merge): Allow merging several
+	conditions at once.
+
+2003-01-22  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Python): Explain that directory variables start
+	with either ${prefix} or ${exec_prefix}, and point to the
+	`Installation Directory Variables' section of the Autoconf manual.
+
+2003-01-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/distdir.am (top_distdir, distdir): Define these
+	variables only in top level Makefile.  Redefine $(top_distdir)
+	as $(distdir).
+	(distdir): Fix passing of $(top_distdir) to sub-makes.
+	* automake.in (handle_dist): Do not define the DISTDIR and
+	TOP_DISTDIR transformations.  We don't need them anymore.
+	* automake.texi (Dist): Reorder the dist-hook section, and move
+	the DIST_SUBDIRS paragraph earlier.  Document distdir and
+	top_distdir.
+	* tests/subpkg.test: Update to check for $(distdir) and
+	$(top_distdir).
+
+2003-01-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Rename more files to accomodate 8+3 file systems, and adjust the
+	vocabulary at the same time: AM_CONDITIONAL defines "conditionals",
+	and we call "condition" a conjunction of "conditionals".
+	* lib/am/Conditional.pm: Rename to lib/am/Condition.pm.
+	* lib/am/tests/Conditional.pl: Rename to lib/am/tests/Condition.pl.
+	* lib/am/ConditionalSet.pm: Rename to lib/am/DisjConditions.pm.
+	* lib/am/tests/ConditionalSet.pl: Rename to
+	lib/am/tests/DisjConditions.pl
+	* lib/am/Conditional.pm (condition_negate): Rename to ...
+	* lib/am/Condition.pm (conditional_negate): ... this.
+	* automake.in: Adjust references to Condition and DisjConditions.
+	(check_ambiguous_conditional, conditional_ambiguous_p): Rename to ...
+	(check_ambiguous_condition, condition_ambiguous_p): ... these.
+
+	* tests/README: New file.
+
+	* automake.texi (Conditional Programs): Show a sample Makefile.am.
+	Remind $(EXEEXT) must be appended to configure substitutions.
+	Show how Automake conditionals can be used instead.
+	* tests/exeext.test (check_PROGRAMS): Make sure EXEEXT is also
+	appended to conditionally defined programs.
+
+2003-01-16  Jim Meyering  <jim@meyering.net>
+
+	Accept --help and --version, and lots of syntactic clean-up.
+	* lib/install-sh: Use consistent indentation, two spaces per level.
+	(scriptversion): New variable.
+	Change initializations like `variable=""' to `variable='.
+	(usage): New variable.
+	Use `test', not `['.
+	Use `test -z "$var"', not `[ x"$var" = x ]'.
+	Use `test -n "$var"', not `[ x"$var" != x ]'.
+	Alphabetize case entries.
+	Accept --help and --version options.
+	Remove unnecessary `else :' clauses.
+	Add a `Local variables' eval block to help emacs users update
+	the time-stamp variable added above.
+	Mostly from Karl Berry.
+
+2003-01-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/python.m4 (AM_PATH_PYTHON) <_AM_PYTHON_INTERPRETER_LIST>: Add
+	python2.3.
+
+	* m4/python.m4 (AM_PATH_PYTHON): Query distutils for `pythondir'
+	or `pyexecdir', for the sake of 64-bit distributions that usually
+	use lib64/ instead of lib/.  Fall back to the default directory
+	if it doesn't work.
+	Suggested by Gwenole Beauchesne.
+
+2003-01-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/382:
+	* automake.texi (Yacc and Lex): Document `AM_YFLAGS = -d'.
+	Explain BUILT_SOURCES is usually needed in this case.
+	Reported by William S Fulton.
+
+2003-01-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Rename some files for the sake of 8+3 file systems.
+	* tests/aclocali.test:     Rename to tests/aclocal.test.
+	* tests/aclocali1.test:    Rename to tests/aclocal2.test.
+	* tests/aclocalii.test:    Rename to tests/aclocal3.test.
+	* tests/acoutput.test:     Rename to tests/acoutpt.test.
+	* tests/acoutput2.test:    Rename to tests/acoutpt2.test.
+	* tests/acouttbs.test:     Rename to tests/acoutbs.test.
+	* tests/acouttbs2.test:    Rename to tests/acoutbs2.test.
+	* tests/autoheader.test:   Rename to tests/autohdr.test.
+	* tests/autoheader2.test:  Rename to tests/autohdr2.test.
+	* tests/condincl.test:     Rename to tests/condinc.test.
+	* tests/condincl2.test:    Rename to tests/condinc2.test.
+	* tests/distcommon.test:   Rename to tests/distcom.test.
+	* tests/distcommon2.test:  Rename to tests/distcom2.test.
+	* tests/distcommon3.test:  Rename to tests/distcom3.test.
+	* tests/installsh.test:    Rename to tests/instsh.test.
+	* tests/installsh2.test:   Rename to tests/instsh2.test.
+	* tests/instdata.test:     Rename to tests/instdat.test.
+	* tests/instdata2.test:    Rename to tests/instdat2.test.
+	* tests/libobj12b.test:    Rename to tests/libobj13.test.
+	* tests/link_f_c.test:     Rename to tests/link_fc.test.
+	* tests/link_f_c_cxx.test: Rename to tests/link_fccxx.test.
+	* tests/link_f_cxx.test:   Rename to tests/link_fcxx.test.
+	* tests/nodefine.test:     Rename to tests/nodef.test.
+	* tests/nodefine2.test:    Rename to tests/nodef2.test.
+	* tests/required.test:     Rename to tests/reqd.test.
+	* tests/required2.test:    Rename to tests/reqd2.test.
+	* tests/sourcesub.test:    Rename to tests/srcsub.test.
+	* tests/sourcesub2.test:   Rename to tests/srcsub2.test.
+	* tests/specflags.test:    Rename to tests/specflg.test.
+	* tests/specflags2.test:   Rename to tests/specflg2.test.
+	* tests/specflags3.test:   Rename to tests/specflg3.test.
+	* tests/specflags6.test:   Rename to tests/specflg6.test.
+	* tests/specflags7.test:   Rename to tests/specflg7.test.
+	* tests/specflags8.test:   Rename to tests/specflg8.test.
+	* tests/specflags9.test:   Rename to tests/specflg9.test.
+	* tests/subdircond.test:   Rename to tests/subcond.test.
+	* tests/subdircond2.test:  Rename to tests/subcond2.test.
+	* tests/subdircond3.test:  Rename to tests/subcond3.test.
+	* tests/texinfo.test:      Rename to tests/txinfo.test.
+	* tests/texinfo2.test:     Rename to tests/txinfo2.test.
+	* tests/texinfo3.test:     Rename to tests/txinfo3.test.
+	* tests/texinfo4.test:     Rename to tests/txinfo4.test.
+	* tests/texinfo5.test:     Rename to tests/txinfo5.test.
+	* tests/texinfo6.test:     Rename to tests/txinfo6.test.
+	* tests/texinfo7.test:     Rename to tests/txinfo7.test.
+	* tests/texinfo8.test:     Rename to tests/txinfo8.test.
+	* tests/texinfo9.test:     Rename to tests/txinfo9.test.
+	* tests/texinfo10.test:    Rename to tests/txinfo10.test.
+	* tests/texinfo13.test:    Rename to tests/txinfo13.test.
+	* tests/texinfo16.test:    Rename to tests/txinfo16.test.
+	* tests/texinfo17.test:    Rename to tests/txinfo17.test.
+	* tests/texinfo18.test:    Rename to tests/txinfo18.test.
+	* tests/Makefile.am (TESTS): Adjust.
+	* ChangeLog.1996: Rename to ChangeLog.96.
+	* ChangeLog.1998: Rename to ChangeLog.98.
+	* ChangeLog.2000: Rename to ChangeLog.00.
+	* ChangeLog.2001: Rename to ChangeLog.01.
+	* Makefile.am (EXTRA_DIST): Adjust.
+	Reported by Richard Dawe.
+
+2003-01-13  Richard Dawe  <rich@phekda.freeserve.co.uk>  (tiny change)
+
+	* lib/am/distdir.am (distcheck): '=' is not valid in DOS filenames.
+	Use '_build' and '_inst' instead of '=build' and '=inst'.
+	* tests/man2.test: Reflect change automake: check for files in
+	'_build' and '_inst' directories instead of '=build' and '=inst'.
+
+2003-01-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	Use `_dirstamp' when the file-system doesn't support `.dirstamp'.
+	* m4/lead-dot.m4: New file.
+	* m4/Makefile.am (dist_m4data_DATA): Add lead-dot.m4
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_SET_LEADING_DOT.:
+	* m4/depend.m4 (AM_SET_DEPDIR): Require AM_SET_LEADING_DOT. Define
+	DEPDIR using am__leading_dot.
+	* automake.in (require_build_directory): Define am__dirstamp, a new
+	variable for the dirstamp basename, based on am__leading_dot.
+	* tests/subobj6.test: Move all `test -f' into Makefiles, so we can
+	use $(am__dirstamp).
+	Reported by Richard Dawe.
+
+	* tests/gnits2.test, tests/pr300-prog.test, tests/transform.test:
+	Move all `test -f' into Makefiles, so we can honor $(EXEEXT) when
+	testing for programs.
+	Reported by Richard Dawe.
+
+2003-01-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* Makefile.am (maintainer-check): Suggest using $sleep instead of
+	sleep 2.
+	* tests/defs.in (sleep): New variable.
+	* tests/asm.test, tests/confsub.test, tests/lisp3.test,
+	tests/texinfo16.test, tests/warnopts.test, tests/yaccvpath.test:
+	Use $sleep instead of sleep 2, to work around timestamp
+	inconsistencies in Windows.
+	Reported by Richard Dawe.
+
+	* Makefile.am (maintainer-check): Do not require SHELL=/bin/sh
+	after $MAKE -e.
+	* tests/ansi3.test, tests/ansi5.test, tests/cond22.test,
+	tests/man2.test, tests/subobj3.test, tests/suffix8.test,
+	tests/suffix11.test: Do not set SHELL=/bin/sh after $MAKE -e.
+	$SHELL is overridden by tests/defs, so it won't hurt even
+	if $MAKE -e uses the $SHELL envvar.
+	* tests/ansi.test, tests/insh2.test, tests/texinfo.test,
+	tests/texinfo8.test: Use SHELL=$SHELL, not SHELL=/bin/sh.
+	Reported by Richard Dawe.
+
+	Build elisp files all at once instead of one by one.
+	* automake.in (handle_emacs_lisp): Define am__ELFILES.  Add
+	elc-stamp to all's dependencies.
+	* lib/am/lisp.am (elc-stamp): New rule, build all *.elc files.
+	(.el.elc): Rewrite to call elc-stamp if $@ doesn't exist.
+	(clean-lisp): Clean elc-stamp.
+	* lib/elisp-comp: Reindent.  Erase the temporatry directory
+	from a trap.  Propagate Emacs's exit status.
+	* tests/lisp3.test: New file.
+	* tests/Makefile.am (TESTS): Add lisp3.test.
+	Reported by Ryan T. Sammartino.
+
+2003-01-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.texi: Prefer $(FOO) to @FOO@ in the documentation.
+
+2003-01-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* m4/lispdir.m4: Register EMACS and EMACSLOADPATH as precious
+	variables.  Suggested by Ryan T. Sammartino.
+
+2003-01-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (macro_define): Add missing `{$cond}' (typo from
+	2002-09-18).
+	($gen_copyright): Append year 2003.
+	(version): Increase year.
+
+	* tests/defs.in: Substitute aclocaldir instead of running
+	the installed aclocal.  Otherwise Libtool and Gettext
+	tests get skipped when aclocal doesn't preexist.
+	Reported by Imacat.
+	* tests/listval.test, tests/suffix2.test: Remove pointless -I
+	argument to aclocal.
+
+-----
+
+Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+
+;; Local Variables:
+;; coding: utf-8
+;; End:
Index: /trunk/essentials/sys-devel/automake-1.9/ChangeLog.00
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/ChangeLog.00	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/ChangeLog.00	(revision 3089)
@@ -0,0 +1,2225 @@
+2000-12-29  Derek Price  <derek.price@openavenue.com>
+
+	* automake.in (handle_dependencies): Switched the DEP_FILES
+	definition to be conditional on @AMDEP@.
+
+2001-02-03  Ville Laurikari  <vlaurika@hutcs.cs.hut.fi>
+
+	* depcomp (aix): New side-effect dependency tracking mode, for
+	the C for AIX compiler.
+	* m4/depend.m4 (AM_DEPENDENCIES): Recreate `conftest.c' and
+	`conftest.h' for each test.
+
+2001-02-03  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Dist): Updated to mention caveat of putting
+	directory in EXTRA_DIST and also providing a nice example of
+	removing the CVS dir.
+	From Ganesan Rajagopal.
+
+	* m4/depend.m4 (depcpp): Run tests in a subdir.  Fixes report from
+	Bob Proulx.
+
+	* automake.in (scan_one_autoconf_file): Disable warning about
+	AM_PROG_LIBTOOL.
+
+	* automake.in (handle_configure): Don't modify variable which
+	aliases list element.  Don't push @inputs onto the dist list.
+	Fixes colon7.test.
+	(initialize_per_input) [dist_dirs]: New variable.
+	(handle_dist_worker): Use global dist_dirs.
+	(handle_configure): Set dist_dirs entries at toplevel.
+
+2001-02-02  Gordon Sadler  <gbsadler1@lcisp.com>
+
+	* automake.texi (Java Support): Added index, @section.
+
+2001-02-02  Pavel Roskin  <proski@gnu.org>
+
+	* automake.in (scan_autoconf_traces): Restore trace messages.
+
+	* automake.in (handle_aclocal_m4): Fix stripping of the initial
+	"./" from the dependencies of aclocal.m4.
+	Reported by Ralf Corsepius.
+
+2001-02-01  Pavel Roskin  <proski@gnu.org>
+
+	* aclocal.in: Rename "verbosity" to "verbose". Always prepend
+	"aclocal: " to the verbose output.
+
+	* automake.in: Remove all debugging messages.
+
+2001-01-31  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (add_depend2): Quote properly $obj and $source.
+
+2001-01-31  Akim Demaille  <akim@epita.fr>
+
+	* depend2.am: Instead of replacing @PFX@ in $(@PFX@COMPILE), and
+	then replacing `$(@PFX@COMPILE)' for the files that need some
+	special flags, use only @COMPILE@.  Similarly for @LTCOMPILE@.
+	Try to document this file.
+	* automake.in (add_depend2): Adjust to these changes.
+
+2001-01-31  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%factored_dependencies): New.
+	(file_contents): Use it.
+	(handle_phony): Rename as...
+	(handle_factored_dependencies): this.
+	* subdirs.am: No need for convolved syntax to declare .PHONY.
+
+2001-01-31  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: maintainer-check fixes.
+
+2001-01-31  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (file_contents): Rewrite: instead of trying to parse
+	it line by line, first swallow it completely into $CONTENTS,
+	*then*, parse it *paragraph* by paragraph.
+
+2001-01-30  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (file_contents): Remove.
+	(file_contents_with_transform): Swap the order of the arguments,
+	and rename as...
+	(file_contents): this.
+	Adjust all uses.
+
+2001-01-30  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (scan_one_autoconf_file): Don't mention
+	omit_dependencies.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_autoconf_config_files): Extract from
+	&scan_one_autoconf_file.
+	(&scan_one_autoconf_file): Use it.
+	(&scan_autoconf_traces): New.
+	($scan_autoconf_files): Use it.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* texinfos.am, tags.am, subdirs.am, multilib.am, mans.am: Add a
+	.PHONY target.
+	* automake.in (handle_texinfo, handle_man_pages, handle_multilib)
+	(handle_etags, handle_subdirs): Don't push into @phony.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (scan_one_autoconf_file): Correctly recognize
+	configure.ac.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_tests_dejagnu): New, extracted from...
+	(handle_tests): here.  Use `.PHONY:'.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_phony): Sort.
+	(file_contents_with_transform): Catch `.PHONY:'.
+	(handle_tests): Instead dumping the hard coded target check-TESTS
+	and registering its .PHONYsm, get them from...
+	* check.am: here, new file.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (add_depend2): Use &transform.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_tags): Use &transform.
+	(am_error, am_line_error, am_conf_error, read_am_file): Use
+	directly arrays in strings, no need for &join.
+	Require Perl 5.
+	* Makefile.am (maintainer-check): Use grep -w when looking for
+	words.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (prog_error): New.
+	Spread its use.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_single_transform_list): if (@list) { foreach
+	(@list) ...} can be written as a simple `foreach' loop.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (define_standard_variables): Use &transform instead
+	of build_rx.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_texinfo): Use the new $texinfodir instead of
+	the removed $texinfo_tex.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_libraries, handle_ltlibraries): Use
+	&transform.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_programs) <xexe>: Remove, replaced by
+	`exeext'.
+	Use it, and &transform.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (get_object_extension) <$default_includes>: New.
+	Use it and &transform.
+
+2001-01-28  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (variable_value_as_list_worker): Handle entries in
+	%am_var_defs.  Fixes listval.test.
+
+2001-01-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_texinfo): Don't use $conf_pat, just
+	$conf_dir to transform MDDIR since now &transform handles the
+	escaping of RE special characters by itself.
+
+2001-01-24  Akim Demaille  <akim@epita.fr>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Don't leave `AC_PROG_CC' etc. in
+	clear.
+	* m4/init.m4: Likewise.
+	* m4/sanity.m4: s/conftestfile/conftest.file/.
+
+2001-01-24  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_libraries): Use $configure_ac; typo fix.
+
+	* automake.in (transform): Quote substitution.
+
+2001-01-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (obsolete_rx): Match whole macro names, not
+	substrings.
+	* aclocal.in (obsolete_rx): Likewise.
+
+2001-01-21  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi: Changed dir category.
+
+2001-01-18  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_texinfo): Use &transform, and transform
+	CONFIGURE_AC.
+	Reported by Lars Hecking, and diagnosed by Raja R Harinath.
+
+2001-01-16  Akim Demaille  <akim@epita.fr>
+
+	Let Automake support `configure.ac'.
+
+	* automake.in: In the comments, prefer `configure.ac' to
+	`configure.in'.
+	When using &am_conf_error, don't repeat `in configure.in', since
+	the function already reports it.
+	When referring to `configure.in' use `$configure_ac' instead.
+	(configure_ac): New global variable.
+	(scan_configure, scan_one_configure_file): Rename as...
+	(scan_autoconf_files, scan_one_autoconf_file): this.
+	(scan_autoconf_files): Compute $configure_ac.
+	(transform): New function.
+	(handle_configure): Use it to transform CONFIGURE_AC in
+	`remake.am' and in `remake-hdr.am'.
+	(common_files): Also consider `configure.ac'.
+	Use consistently single quotes.
+	* aclocal.in (configure_ac): New variable.
+	Use it.
+	* texi-vers.am: Depend on CONFIGURE_AC not configure.in.
+	* remake.am: Likewise.
+	* remake-hdr.am: Likewise.
+
+2001-01-16  Akim Demaille  <akim@epita.fr>
+
+	* m4/multi.m4: Remove the hairy useless quotation of `$'.
+	Simplify `ifelse([$2],,,[$2])' into... `$2'!
+	* m4/minuso.m4: Don't use changequote!
+	* m4/cond.m4: Fix quotation.
+	* m4/sanity.m4: Follow the Autoconf coding style.
+	* m4/missing.m4 (AM_MISSING_INSTALL_SH): Use a for loop.
+	* m4/depend.m4 (AM_DEPENDENCIES): Fix quotation issues.
+	Use AC_CACHE_CHECK.
+
+2001-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_single_transform_list): Don't print rule
+	here when source is in subdir and object is not.  Fixes
+	subobj4.test.
+
+	* automake.in (handle_single_transform_list): Correctly compute
+	$nonansi_obj.  Fixes cxxansi.test.
+
+	* automake.texi (Man pages): Updated to account for man1_MANS,
+	etc.
+
+2001-01-13  Steve Robbins  <smr@debian.org>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* aclocal.in (scan_configure): Don't recognize macro assignments
+	or AC_SUBSTs.
+	(add_file): Likewise.
+
+2001-01-13  Kevin Ryde  <user42@zip.com.au>
+
+	* automake.in (handle_ltlibraries): Omit -rpath from
+	check_LTLIBRARIES, as per noinst_LTLIBRARIES.
+
+2001-01-11  Tom Tromey  <tromey@redhat.com>
+
+	* depcomp (case gcc3): Use -MD, not -M.
+
+2001-01-10  Tom Tromey  <tromey@redhat.com>
+
+	* depcomp: Handle gcc 3.
+
+2000-12-23  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Updated to 1.4c for cvs.
+
+	* configure.in: Updated to 1.4b and released.
+
+	* config.guess, config.sub, texinfo.tex: New versions.
+
+	* automake.in (handle_dist_worker): Always define DIST_SUBDIRS.
+	Re-fixes pr87.test.
+
+	* subdirs.am (maintainer-clean-recursive): Use DIST_SUBDIRS for
+	distclean and maintainer-clean.
+	* automake.texi (Top level): Document use of DIST_SUBDIRS.
+
+	From Rusty Ballinger:
+	* automake.in (handle_java): Don't skip `noinst' prefix.
+
+	* automake.texi (Invoking aclocal): Mention ## comments.
+
+2000-12-22  Tom Tromey  <tromey@redhat.com>
+
+	From Raja R Harinath:
+	* automake.in (libtoolize_sometimes): New global.
+	(initialize_global_constants): Added libtoolize_sometimes to
+	common_files.
+
+	* m4/depend.m4 (AM_SET_DEPDIR): Ignore errors when running rmdir.
+
+	* m4/depend.m4 (AM_SET_DEPDIR): Remove .deps directory when done.
+
+2000-12-21  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Tags): Document GTAGS target.
+	* tags.am (GTAGS): New target.
+
+	* automake.in (libtoolize_files): Removed ltconfig.
+	(initialize_global_constants): Added ltconfig to common_files.
+
+2000-12-21  Kevin Ryde  <user42@zip.com.au>
+
+	* automake.in (handle_footer): Generate .SUFFIXES target when user
+	defines suffixes but automake does not.
+
+2000-12-20  Marc Espie  <espie@openbsd.org>
+
+	* automake.in (handle_texinfo): Make path of $vtexi explicit in
+	dependency.
+	* texi-vers.am: Likewise.
+
+2000-12-20  Tom Tromey  <tromey@redhat.com>
+
+	From Kevin Ryde:
+	* automake.in (handle_footer): Always push user suffixes at the
+	start of .SUFFIXES:.
+	* automake.texi (Suffixes): Updated to reflect new suffix
+	handling.
+
+2000-12-18  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_built_sources): Removed.
+	(handle_merge_targets): Handle BUILT_SOURCES.
+	* automake.texi (Sources): Updated documentation of
+	BUILT_SOURCES.
+
+2000-12-17  Tom Tromey  <tromey@redhat.com>
+
+	* m4/protos.m4: Always do header checks.
+
+	* automake.in (handle_ltlibraries): Check for LDFLAGS variables
+	before using values.
+
+	* automake.in (handle_ltlibraries): Allow _LDFLAGS to be
+	conditionally defined.  Fixes PR automake/77 and ldflags.test.
+
+2000-11-25  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (file_contents_with_transform): Added file name and
+	line number to error report.
+	(MACRO_PATTERN, BOGUS_MACRO_PATTERN): Leading spaces are ok.
+
+2000-11-23  Pavel Roskin  <proski@gnu.org>
+
+	* m4/regex.m4 (AM_WITH_REGEX): This macro was broken because
+	of M4 underquoting.
+	* m4/ccstdc.m4 (AC_PROG_CC_STDC): Added some M4 quotes.
+	* m4/dmalloc.m4 (AM_WITH_DMALLOC): Likewise.
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Likewise.
+	* m4/maintainer.m4 (AM_MAINTAINER_MODE): Likewise.
+	* m4/multi.m4 (AM_WITH_DMALLOC): Likewise.
+	* m4/python.m4 (AM_PATH_PYTHON): Likewise.
+	* m4/strtod.m4 (AM_FUNC_STRTOD): Likewise.
+
+2000-11-23  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (require_file_internal): Pass $file as second
+	argument to maybe_push_required_file.  Fixes PR automake/87.
+
+2000-11-18  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Redirect `$am_depcomp' stdout to
+	/dev/null.  From Paul Martinolich.
+
+2000-11-16  Morten Eriksen  <mortene@sim.no>
+
+	* aclocal.in (write_aclocal): Set ``binmode'' after file has been
+	opened, otherwise it has no effect.
+
+2000-10-23  Morten Eriksen  <mortene@sim.no>
+
+	* aclocal.in (write_aclocal): Don't write aclocal.m4 with
+	CRLFs. This circumvents a bug in Cygwin bash.
+
+	* automake.in (generate_makefile): Don't write Makefile.in
+	files with CRLFs, as it causes problems for the dependency-file
+	extraction in AM_OUTPUT_DEPENDENCY_COMMANDS.
+
+2000-10-19  Alex Hornby  <alex@anvil.co.uk>
+
+	* automake.in (handle_merge_targets): Allow parallel install
+	with forced relink.
+
+2000-10-19  Akim Demaille  <akim@epita.fr>
+
+	* subdir4.test (depcomp): Don't create it, defs does.
+
+2000-10-17  Pavel Roskin  <proski@gnu.org>
+
+	* automake.in (handle_aclocal_m4): exclude aclocal.m4 and
+	acinclude.m4 from the dependencies of aclocal.m4 to avoid
+	circular and duplicated dependencies. Strip "./" from the
+	dependencies.
+
+2000-10-17  Lars J. Aas  <larsa@sim.no>
+
+	* aclocal.in (write_aclocal): Set up aclocal.m4 header with
+	normal comments (#) instead of m4 dnl-type comments.
+
+2000-10-17  Alex Hornby  <alex@anvil.com>
+
+	* depcomp: Altered sed clause to strip of inclusion depth
+	numbers generated by cpp. Also output in gcc style.
+
+2000-10-16  Morten Eriksen  <mortene@sim.no>
+
+	* depcomp (msvisualcpp): New dependency tracking mode, for
+	Microsoft Visual C++.
+
+2000-10-16  Morten Eriksen  <mortene@sim.no>
+
+	* depcomp: Fix a bug in SGI dependency tracking mode with source
+	files which do not dependend on any other source files.
+
+2000-10-16  Rodney Brown  <RodneyBrown@mynd.com>
+
+	* aclocal.in, aclocal.m4: Standardize FSF Copyright statements.
+	* automake.in, automake.texi: Likewise.
+	* clean-kr.am, clean.am: Likewise.
+	* comp-vars.am: Likewise.
+	* compile, compile.am: Likewise.
+	* data-clean.am: Likewise.
+	* data.am: Likewise.
+	* dejagnu.am: Likewise.
+	* depcomp: Likewise.
+	* depend.am, depend2.am: Likewise.
+	* dist-vars.am, dist.am: Likewise.
+	* elisp-comp: Likewise.
+	* footer.am: Likewise.
+	* header-vars.am, header.am: Likewise.
+	* java-clean.am java.am: Likewise.
+	* kr-extra.am: Likewise.
+	* library.am: Likewise.
+	* libs-clean.am, libs.am: Likewise.
+	* libtool.am: Likewise.
+	* lisp-clean.am lisp.am: Likewise.
+	* ltlib-clean.am ltlib.am: Likewise.
+	* ltlibrary.am: Likewise.
+	* m4/Makefile.in: Likewise.
+	* m4/strtod.m4: Likewise.
+	* mans-vars.am, mans.am: Likewise.
+	* mdate-sh: Likewise.
+	* missing: Likewise.
+	* multilib.am: Likewise.
+	* program.am: Likewise.
+	* progs-clean.am, progs.am: Likewise.
+	* python-clean.am, python.am: Likewise.
+	* remake-hdr.am, remake.am: Likewise.
+	* scripts.am: Likewise.
+	* subdirs.am: Likewise.
+	* tags-clean.am, tags.am: Likewise.
+	* texi-vers.am: Likewise.
+	* texinfos.am: Likewise.
+	* ylwrap: Likewise.
+
+2000-10-09  Pavel Roskin  <proski@gnu.org>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Don't rely on variable
+	assignments changing $? - it's broken in ash-0.2.
+	* m4/missing.m4 (AM_MISSING_HAS_RUN): Likewise.
+
+	* automake.in (handle_aclocal_m4): If ACLOCAL_M4_SOURCES is
+	defined use it as the list of M4 files aclocal.m4 depends on.
+
+2000-10-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in (add_file): Strip comments while scanning for
+	macro dependencies.
+
+2000-09-15  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (initialize_global_constants): End the
+	result of dist-bzip2 with tar.bz2, not bz2.
+
+2000-08-30  Tom Tromey  <tromey@cygnus.com>
+
+	Fix for PR automake/72:
+	* automake.in (initialize_per_input): Define `need_link'.
+	(finish_languages): Use need_link.
+	(handle_source_transform): Set need_link if required.
+
+2000-08-28  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (yacc, yaccxx, lex, lexxx): Set `derived-autodep'
+	key.
+	(register_language): Default the `derived-autodep' option.
+	(handle_single_transform_list): Add to %dep_files if language has
+	`derived-autodep' set.  Re-fixes lex4.test.
+
+2000-08-27  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_single_transform_list): Only add to
+	%dep_files if language is found and supports automatic dependency
+	tracking.  Fixes PR automake/75.
+
+	* automake.in (am_primary_prefixes): Don't set `valid' for
+	configure variables that don't satisfy the other constraints.
+	Fixes PR automake/68.
+
+2000-04-14  Victor V. Vengerov  <vvv@oktet.ru>
+
+	Fix for PR automake/67.
+	* automake.in (handle_multilib): remove .am suffix in fragment
+	name passed to file_contents.
+	* m4/multi.m4: Add missing ')' in AC_ARG_ENABLE invocation.
+	Remove external quotes in first arg of AC_OUTPUT_COMMANDS.
+	Remove unnecessary "rel-to-top-srcdir" before config-ml.in.
+
+2000-08-26  Tom Tromey  <tromey@cygnus.com>
+
+	* subdirs.am (maintainer-clean-recursive): Always run clean rules
+	in `.' after all subdirs.  Fixes PR automake/3 and PR automake/24.
+
+	* automake.in (handle_man_pages): Generate install targets for man
+	even if man_MANS not defined.  From `danpb'.  Fixes PR automake/73.
+
+	* m4/depend.m4 (depcpp): Use `-o conftest.o'.
+	Fix for PR automake/74.  From js pendry.
+
+2000-08-20  Eli Zaretskii  <eliz@is.elta.co.il>
+
+	* depcomp (gcc): Support DOS-style absolute file names with drive
+	letters.
+
+2000-08-06  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (handle_dependencies): Set $require_file_found{'depcomp'}
+	if the depcomp file exists, before calling require_config_file on
+	`depcomp'.  This makes require_file_internal skip its buggy existence
+	test that would make automake fail (with `required file `lib/depcomp'
+	not found') when AC_CONFIG_AUX_DIR is not set.
+
+	This change change does not fix the existing bug where, if `depcomp'
+	is not present in the build directory (at the top level), automake
+	still gives the inaccurate diagnostic about *lib*/depcomp rather
+	than ./depcomp.
+
+2000-08-05  Jim Meyering  <meyering@lucent.com>
+
+	* m4/header.m4 (AM_CONFIG_HEADER): Fix typo in last change:
+	add missing closing bracket and closing parenthesis.
+	Don't quote the first argument to AC_OUTPUT_COMMANDS.
+	Backslash-escape the backquotes and `$' in `am_indx'-incrementing stmt.
+
+2000-08-04  Tom Tromey  <tromey@cygnus.com>
+
+	Idea from Nicolas Thiery:
+	* automake.texi (Tests): Document DEJATOOL as a list.
+	* dejagnu.am (RUNTESTDEFAULTFLAGS): Use $$tool, not $(DEJATOOL).
+	(check-DEJAGNU): Run runtest in a loop.
+
+2000-08-02  Akim Demaille  <akim@epita.fr>
+
+	* m4: Quote properly the name of the macros being defined.
+	Use `#' instead of `dnl' where appropriate.
+	* m4/header.m4 (AM_CONFIG_HEADER): Get rid of changequote, just
+	quote.
+	Don't quote passive characters.
+	Pull the AC_PREREQ outside the macro.
+	* m4/init.m4: Pull the AC_PREREQ outside the macro.
+
+2000-07-28  Tom Tromey  <tromey@cygnus.com>
+
+	* lisp.am (uninstall-@DIR@LISP): Prefix file with $(DESTDIR).
+	From Bruno Haible.
+
+2000-07-13  Kevin Ryde  <user42@zip.com.au>
+
+	* automake.in (am_install_var): Apply the $(EXEEXT) hack to
+	EXTRA_PROGRAMS as well as other _PROGRAMS.
+
+2000-07-02  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (scan_one_configure_file): Recognize AC_LIBOBJ.
+
+2000-06-19  Paolo Bonzini    <bonzini@gnu.org>
+
+	* texi-vers.am: define UPDATED-MONTH variable (for an example, see
+	GNU make's manual)
+
+2000-06-02  Morten Eriksen  <mortene@sim.no>
+
+	* depcomp: workaround for problem with SGI IRIX sed (it can only
+	handle lines of up to 8192 characters, the rest of the line will
+	be mangled).
+
+2000-05-31  Morten Eriksen  <mortene@sim.no>
+
+	* depcomp: tell SGI MIPSpro compilers to generate dependencies
+	through the pre-processor (only CVS libtool has the -Wc option
+	yet).
+
+2000-05-15  Brendan O'Dea  <bod@compusol.com.au>
+
+	* missing: Add support for `help2man'.
+
+2000-05-11  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_tests): Work correctly if TESTS is empty;
+	print nothing if it is.  From Kevin Ryde.
+
+2000-05-08  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.texi (Texinfo): Mention vers*.texi.
+
+2000-05-04  Akim Demaille  <akim@epita.fr>
+
+	AM_INIT_AUTOMAKE is no longer optional, so don't look for
+	`VERSION=' and `PACKAGE='.
+	* automake.in (seen_package, seen_version): Remove initializations of
+	unnecessary variables.
+	(scan_one_configure_file): Don't set them.
+	(scan_configure): Don't use them.
+
+2000-05-01  Akim Demaille  <akim@epita.fr>
+
+	* m4/init.m4 (AC_PROVIDE_IFELSE): If it is not defined, do it.
+	(AM_INIT_AUTOMAKE): Update the writing conventions.
+	Quote the arguments properly.
+	Add a few missing `dnl'.
+	Use AC_PROVIDE_IFELSE.
+
+2000-04-26  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (scan_one_configure_file): Handle the AC_CONFIG_FILES
+	macro.  Based on a patch from Harlan Stenn.
+
+2000-04-13  Akim Demaille  <akim@epita.fr>
+
+	* compile: Remove unnecessary double quotes in assignments.
+
+2000-04-13  Akim Demaille  <demaille@epita.fr>
+
+	* automake.in (scan_one_configure_file): Also recognize
+	AC_CONFIG_HEADERS.
+	Remove trailing blanks.
+
+2000-04-05  Tom Tromey  <tromey@cygnus.com>
+
+	* header-vars.am (DESTDIR): Commented out definition.
+
+	* automake.in (require_file_internal): Pass --copy to libtoolize
+	if automake was run with `--copy'.
+
+2000-03-22  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.texi (Uniform): Fix definition of pkglibdir.
+	From thi <ttn@revel.glug.org>.
+
+2000-03-19  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (parse_arguments): Copyright 2000.
+	(write_aclocal): Likewise.
+	* automake.in (parse_arguments): Copyright 2000.
+	(initialize_global_constants): Likewise.
+
+	* automake.in (generate_makefile): Call handle_dist after
+	handle_dependencies and handle_tests.  Fixes subobj3.test and
+	pr19.test regressions.
+
+2000-03-19  Gordon Matzigkeit  <gord@fig.org>
+
+	* depend2.am (@EXT@.o): Look for the source file in srcdir as well
+	as the current directory.
+	(@EXT@.lo): Likewise.
+
+2000-03-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
+
+	* automake.in (handle_data): Pass -candist instead of
+	-defaultdist, for the compatibility.
+
+2000-03-19  Tom Tromey  <tromey@cygnus.com>
+
+	Fix for test nodepcomp.test:
+	* automake.in (require_file_internal): Use readlink on symlinks.
+	Only unlink file if we are going to try to add it again.
+	(handle_dependencies): Require `depcomp' here.
+	(scan_configure): Don't require `depcomp'.
+
+2000-03-16  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
+
+	* automake.in (handle_configure): Remove $(BUILT_SOURCES) from
+	the rule to remake Makefile, whether $use_dependencies is true
+	or not. This was a historical one and doesn't make sense any
+	longer.
+
+2000-03-19  Tom Tromey  <tromey@cygnus.com>
+
+	More for PR automake/38:
+	* automake.texi (Invoking Automake): Document --force-missing.
+	* automake.in (force_missing): New global.
+	(parse_arguments): Recognize --force-missing.
+	(initialize_global_constants): Document --force-missing.
+	(require_file_internal): Handle --force-missing.
+
+	Fix for PR automake/38:
+	* automake.in (require_file_internal): Check for and handle
+	dangling symlinks.  Fixes symlink2.test.
+
+	Fix for PR automake/45:
+	* automake.texi (configure): Mention requirement to run
+	AM_INIT_AUTOMAKE.
+	(Requirements): Removed most text.
+	* automake.in (seen_init_automake): New global.
+	(scan_configure): Error if AM_INIT_AUTOMAKE not seen.
+	(scan_one_configure_file): Don't support AM_INIT_GUILE_MODULE.
+	Set seen_init_automake if needed.
+
+	Fix for PR automake/41:
+	* automake.in (require_file_found): New global.
+	(require_file_internal): Set require_file_found entry.
+	(handle_texinfo): Require file any number of times.
+
+	* automake.in (handle_dist_worker): Exit if `cp' fails.  Fixes
+	install2.test.
+
+	* tags.am: Don't reference $$here.  Report from Sven Verdoolaege.
+
+2000-03-13  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* m4/missing.m4: Print the backtick in a way that won't cause
+	autoconf CVS to emit any warnings.
+
+2000-03-01  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (handle_dist_worker) [generating rules for distdir]:
+	Don't use `ln' (which was just a space optimization anyway) to
+	populate $(distdir).  Otherwise, the dist rules that change
+	permissions would end up affecting the master sources.
+	* texinfos.am (dist-info): Likewise.
+
+2000-02-13  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (generate_makefile): Detect write/close failure.
+
+2000-02-02  Assar Westerlund  <assar@sics.se>
+
+	* automake.in (handle_single_transform_list): do not use $< which
+	is not handled by all non-GNU makes.  Instead do explicit sh code
+	testing for the file in this directory and srcdir.  Based on a
+	suggestion by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+2000-01-12  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/lispdir.m4: Added --with-lispdir argument processing.
+	From Kevin Dalley.
+
+2000-01-06  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Don't check for
+	AC_PROG_MAKE_SET.
+	(scan_configure): Check for AC_PROG_MAKE_SET.
+
+	* header-vars.am (@SET_MAKE@): Added.
+	* subdirs.am (@SET_MAKE@): Removed.  Report from Motoyuki
+	Kasahara.
+
+1999-12-19  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Expand DIST_COMMON under all
+	conditions.
+	(require_file_internal): Corrected arguments to second invocation
+	of maybe_push_required_file.
+
+	Fix for PR automake/9:
+	* automake.in (make_dirs, make_dirs_set): New globals.
+	(is_make_dir): New function.
+	(handle_configure): Use it.
+	(require_file_internal): Push file if there is no Makefile in its
+	directory.
+	(initialize_per_input): Initialize handle_dist_run.
+	(push_dist_common): Inspect handle_dist_run.
+	(handle_dist): Set handle_dist_run.  Push items from
+	configure_dist_common onto dist_common if appropriate.
+	(configure_dist_common): New global.
+	(scan_configure): Set it.
+	(maybe_push_required_file): New function.
+	(require_file_internal): Use it.
+
+	* automake.in (handle_dist_worker): Scan DIST_COMMON to see if
+	more subdirs are defined.  From Axel Belinfante.  Fixes
+	PR automake/2.
+
+1999-12-18  Tom Tromey  <tromey@cygnus.com>
+
+	Partial fix for PR automake/40:
+	* lisp.am (install-@DIR@LISP): Handle nobase_ case.
+	(uninstall-@DIR@LISP): Likewise.
+	* header.am (install-@DIR@HEADERS): Handle nobase_ case.
+	(uninstall-@DIR@HEADERS): Likewise.
+	* data.am (install-@DIR@DATA): Handle nobase_ case.
+	(uninstall-@DIR@DATA): Likewise.
+	* automake.in (am_primary_prefixes): Recognize `nobase_' prefix.
+	(am_install_var): Recognize and handle `nobase_' prefix.
+
+1999-12-17  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (get_object_extension): Added space before `-I.'.
+	Report from Ralf Corsepius.
+
+1999-12-15  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in: Don't pass $acdir to scan_m4_files.
+	(parse_arguments): Push $acdir on end of dirlist.
+	(scan_file): Don't warn if duplicate macro seen.
+
+1999-12-13  Tom Tromey  <tromey@cygnus.com>
+
+	Fix for PR automake/30 and PR automake/23.  Fixes test
+	suffix3.test.
+	* automake.in (initialize_per_input): Initialize
+	source_suffix_pattern.
+	(derive_suffix): New function.
+	(handle_single_transform_list): Call it.
+
+	* automake.in (add_depend2): Handle the no-dependency-tracking
+	case.  Fixes test suffix2.test.
+
+	* depcomp (tmpdepfile): [case sgi] Added missing `fi'.
+
+	* automake.in (get_object_extension): Fixed quoting on
+	-I$(srcdir).
+
+	* depend2.am: Removed erroneous comment.
+
+	* automake.texi (Program variables): Document nostdinc.
+	(Options): Likewise.
+	* automake.in (get_object_extension): Respect nostdinc option.
+	(handle_options): Recognize nostdinc.
+	* comp-vars.am (DEFS): Use @DEFAULT_INCLUDES@ as sole
+	substitution.
+
+	* automake.in (read_am_file): Allow conditional includes.  Fixes
+	test condincl.test.
+
+	* depcomp: Handle case on SGI when libtool is `yes'.
+	* depend2.am (@EXT@.o): Set libtool.
+	(@EXT@.lo): Likewise.
+	(@EXT@.obj): Likewise.
+
+	* depcomp: Unify dashmstdout and dashXmstdout cases.  Move hp case
+	after gcc case.
+
+1999-12-13  Pavel Roskin  <pavel_roskin@geocities.com>
+
+	* automake.in (add_depend2): substitute $rule in the rules
+	for individual files.  Fixes test specflags5.test.
+
+1999-12-12  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Run mkinstalldirs
+	to create directories.  Fixes test subobj3.test.
+
+1999-12-10  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Don't print
+	message when creating .deps files.
+
+	* automake.in (initialize_global_constants): If unreadable by
+	owner, make it readable by owner regardless of number of links.
+	Fixes more of install2.test.
+
+	* missing: Try to see if gnutar or gtar exist before invoking
+	them.
+
+	* m4/missing.m4 (AM_MISSING_INSTALL_SH): Remove ${SHELL} from
+	install_sh value.  Look for install-sh and install.sh in a
+	somewhat more sensible way.  Fixes test install2.test.  Partially
+	from Jim Meyering.
+
+1999-12-09  Pavel Roskin  <pavel_roskin@geocities.com>
+
+	* m4/missing.m4: remove redundant backquote
+
+1999-11-23  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (initialize_global_constants): Use `bzip2 -9', not
+	`bzip --best'  Report from Jim Meyering.
+
+1999-11-22  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/missing.m4 (AM_MISSING_INSTALL_SH): Don't take argument.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Don't pass argument to
+	AM_MISSING_INSTALL_SH.
+	* automake.in (scan_one_configure_file): Reverted previous
+	change.
+
+	* automake.in (scan_one_configure_file): Define `install_sh'
+	configure variable when AM_INIT_AUTOMAKE seen.  Report from Jim
+	Meyering.
+
+	* automake.in (handle_single_transform_list): Generate explicit
+	rule for subdir objects.  Fixes new addition to subobj.test.
+
+	* automake.in (handle_lib_objects_cond): Allow LIBOBJS to be
+	defined by AC_SUBST.  Fixes ltlibobjs.test.
+
+	Fix for sourcesub.test:
+	* automake.in (handle_single_transform_list): Added `var'
+	argument.  If config sub found, give error.
+	(handle_source_transform): Updated for new
+	handle_source_transform.
+
+	* py-compile: New file.
+	* m4/Makefile.am (m4data_DATA): Added python.m4.
+	* m4/python.m4: New file.
+	* automake.texi (Uniform): Mention PYTHON.
+	(Python): New node.
+	* Makefile.am (amfiles): Added python.am, python-clean.am.
+	(dist_script_DATA): Added py-compile.
+	* python.am: New file.
+	* python-clean.am: New file.
+	* automake.in (seen_pythondir): New global.
+	(generate_makefile): Call handle_python.
+	(handle_python): New function.
+	(scan_one_configure_file): Set seen_pythondir if AM_PATH_PYTHON
+	seen.
+	(am_install_var): Special-case PYTHON like JAVA.
+	(scan_configure): Check for py-compile.
+	(initialize_global_constants): Added py-compile to @common_files.
+
+	* ltlib.am (install-@DIR@LTLIBRARIES): Added missing space.
+
+1999-11-21  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (finish_languages): Only generate suffix rule when
+	not doing dependency tracking.
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use AM_MISSING_INSTALL_SH.
+	* m4/missing.m4 (AM_MISSING_INSTALL_SH): New macro.
+
+	* depend2.am: Use @SOURCE@, @OBJ@, @LTOBJ@, @OBJOBJ@, and @BASE@.
+	Always use `-o'.
+
+1999-11-19  Tom Tromey  <tromey@cygnus.com>
+
+	* dist.am: Set `CDPATH=:' to avoid problems.  Merged from
+	Alexandre's change on branch.
+
+1999-10-02  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* Makefile.am (maintainer-check): Look for occurrences of ``cd'
+	without `CDPATH'.
+	* dejagnu.am: Set CDPATH before cd.
+	* Makefile.in: Rebuilt.
+
+	* automake.in (handle_single_transform_list): Change `\1' for `$1'
+	in `s///' replacement.
+
+	* automake.in (handle_dist): Set CDPATH before cd.
+	* dejagnu.am (check-DEJAGNU): Likewise.
+	* texinfos.am (install-info-am, dist-info): Likewise.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Likewise.
+	* m4/missing.m4 (AM_MISSING_HAS_RUN): Likewise.
+	* aclocal.m4, configure, Makefile.in: Rebuilt.
+
+	* AUTHORS: Added myself.
+
+1999-09-14  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* m4/missing.m4: Support relative srcdir and ac_aux_dir.
+	Reported by Tim Wilkinson <tim@transvirtual.com>
+	* aclocal.m4, configure: Rebuilt.
+
+1999-08-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* m4/lex.m4 (AM_PROG_LEX): Require AM_MISSING_HAS_RUN and, if no
+	LEX program is found, use `${am_missing_run}flex'.
+
+1999-08-16  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_single_transform_list): Replace `$(OBJEXT)'
+	with `o' in depfile.
+
+	* automake.in (handle_lib_objects_cond): Remove second dot from
+	dependency file names.
+
+	* depend2.am (OBJEXT@EXT@.obj): Dependency file should be .Po,
+	regardless of OBJEXT.
+
+	* automake.in (handle_dependencies): Add blank line after depend2.
+	(handle_dependencies): Start DEP_FILES with `@AMDEP@'.  Output
+	blank line before `include's, not after them.
+	(scan_one_configure_file): Do not special-case `DEP_' any more.
+
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Run for loop only
+	if AMDEP is empty.
+	* aclocal.m4, configure: Rebuilt.
+
+	* m4/depend.m4 (AMDEPBACKSLASH): Define.
+	* depend2.am (@EXT@.o, @EXT@.lo, @EXT@.obj): Use AMDEPBACKSLASH.
+
+	* automake.in (handle_dependencies): Generate `include's for
+	dependency files after `@AMDEP@'.
+
+	* m4/missing.m4: Use eval, instead of a sub-shell, to test for
+	--run support in the missing script, since SHELL is not exported.
+	Reported by job bogan <job@piquin.uchicago.edu>
+	* aclocal.m4, configure: Rebuilt.
+
+1999-08-15  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* aclocal.m4, configure: Rebuilt with itself.
+	* Makefile.in, m4/Makefile.in, tests/Makefile.in: Likewise.
+
+	* m4/missing.m4 (AM_MISSING_PROG): Remove DIRECTORY argument.
+	Require AM_MISSING_HAS_RUN.  Use am_missing_run, defined by...
+	(AM_MISSING_HAS_RUN): New macro.
+	* m4/init.m4: Remove missing_dir from calls to AM_MISSING_PROG.
+	* automake.texi (Requirements): Likewise.
+	* version.texi, stamp-vti: Rebuilt.
+
+1999-07-28  Tom Tromey  <tromey@cygnus.com>
+
+	* depcomp: Handle the `hp' mode.
+
+1999-07-06  Tom Tromey  <tromey@cygnus.com>
+
+	* depcomp: Work around HP-UX 10.20 sed bug.
+
+1999-07-05  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dependencies): Generate a separate include
+	for each dep file.  Report from Alexandre Oliva.
+	* depend.am: Don't include DEP_FILES.
+
+1999-06-01  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* depend.am: Add @AMDEP@ before `include', so that dependency
+	tracking can be disabled.
+	* depend2.am: Ditto, before all lines related with dependency
+	tracking.
+	* m4/depend.m4 (AM_DEP_TRACK): New macro, that documents
+	--enable/disable-dependency-tracking and sets AMDEP accordingly.
+	It is implicitly disabled if depcomp is missing.
+	(AM_DEPENDENCIES): Disable dependency tracking unless it can be
+	generated by side-effect.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_DEP_TRACK.
+	* automake.in (handle_dependencies): Add @AMDEP@ before the value
+	of DEP_FILES.
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Handle DEP_FILES
+	starting with `#'.
+
+	* depcomp: Support -xM for dependency generation, for Sun CC.
+	Reported by Alex Hornby <alex@anvil.co.uk>
+	* m4/depend.m4: Extract the list of supported dependency-tracking
+	mechanisms from the depcomp script and use it to test each one.
+	* THANKS: Added Alex Hornby.
+
+	* depend2.am: Move $(depcomp) to the line of $(...DEPMODE), so as
+	to leave $(...COMPILE) in a line by itself.
+
+	* THANKS: Added Miles Bader.
+
+1999-06-01  Miles Bader  <miles@ccs.mt.nec.co.jp>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Add check for `makedepend'.
+	Fix `dashmstdout' to ignore non-dependency-generating uses of the
+	-M flag.
+	* depcomp (makedepend): New dependency-generating method.
+
+1999-06-01  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* missing: If given `--run' as first argument, try to run the
+	given program before falling back to the ``emulated'' behavior.
+	Add support for `tar'.
+	* automake.in: Use new `tar' support for `dist'.
+	* m4/missing.m4 (AM_MISSING_PROG): Instead of checking for the
+	program, prepend `missing --run' to the given program name.
+	* m4/init.m4: Remove AMTAR-related stuff.
+	* NEWS: Updated.
+
+	* m4/depout.m4: Instead of `find'ing Makefiles, just iterate on
+	CONFIG_FILES.  Do not use temporary variable for list of
+	dependency files, it breaks Cygwin.
+
+1999-04-27  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* depcomp (gcc): Imported comments removed from depend2.am, so
+	that we don't lose them.
+
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Avoid sed s/$U//
+	when not using ansi2knr.
+
+1999-04-26  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Test for depcc -E support.
+	* depcomp (cpp): Extract dependencies from `# nnn "..."' lines.
+
+1999-04-25  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Add a definition to conftest.h,
+	so as not to compile an empty source; some compilers fail on this.
+	Redirect stderr of depcc to /dev/null.  Test for -M with -o,
+	because some compilers will output the rules to the output file.
+	* depcomp (dashmstdout): Add --silent before --mode=compile, so
+	that we don't get libtool output mixed up with make rules.
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require AM_SET_DEPDIR.
+	* depend2.am: Set tmpdepfile too, to speed up depcomp.  Always use
+	-o for libtool, otherwise it may try to deduce the object name
+	from the dependency-generation flag.
+	* depcomp: Assume depdir exists.  Preserve depfile on unsuccessful
+	compilations.
+
+	* libtool.am: Do not emit .c.lo here...
+	* depend2.am: ... emit .*.lo here, only when using libtool.
+	* automake.in (get_object_extension): No more @MINUSO@ here.
+	(handle_single_transform_list): Set $depfile from $object.
+	(handle_dependencies): Emit depend2.am for all used languages,
+	regardless of $use_dependencies; the setting of depcomp makes the
+	difference.
+	(lang_cxx_finish): Do not emit compilation rules.
+	(lang_objc_finish): Likewise.
+	(lang_java_finish): Likewise.
+
+1999-04-21  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Correctly
+	interpolate DEPDIR in DEP_FILES expansion.
+
+1999-04-20  Lee Iverson  <leei@Canada.AI.SRI.COM>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Fix up test for SGI-style
+	dependency updating.
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Fix sed script to
+	handle multi-line dependency lists.
+
+1999-11-12  Tom Tromey  <tromey@cygnus.com>
+
+	Fix for PR automake/14:
+	* aclocal.in: Added `ud_GNU_GETTEXT'.  Updated to mention
+	AC_CYGWIN.
+	* automake.in: Mention AC_CYGWIN, not AC_CYGWIN32.
+
+	* m4/multi.m4: Added missing `]'.  From Akim Demaille.
+
+	* Makefile.am (path-check): Make sure distdir is writeable before
+	removing it.
+	* automake.in (handle_texinfo): Added `cm' and `ov' extensions.
+	(handle_dist_worker): Make sure distdir is writeable before
+	removing it.
+	(initialize_global_constants [$dist_trailer]): Make sure distdir
+	is writeable before removing it.
+	* dist.am (distcheck): Make the new source tree read-only before
+	compiling.  Idea from Karl Berry.
+
+	* automake.texi (Gnits): Allow COPYING.LIB again.
+	* automake.in (check_gnits_standards): Allow COPYING.LIB again.
+
+1999-11-11  Jim Meyering  <meyering@ascend.com>
+
+	* dist.am (distcheck): Remove $(distdir).tar.gz before counting
+	files.
+
+1999-11-09  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist): Typo fix.  From Jim Meyering.
+
+1999-11-09  Jim Meyering  <meyering@ascend.com>
+
+	* automake.in (handle_dist): Remove the DISTHOOK and GETTEXT
+	markers, no matter what.
+
+1999-11-08  Tom Tromey  <tromey@cygnus.com>
+
+	* dist.am (distcheck): Put `&&' at the start of the distcheck-hook
+	line.
+
+	* automake.in (handle_dist_worker): Use `cp -R', not `cp -r'.
+	From Jim Meyering.  Also, don't mention file name in `cp'
+	destination.  From Olly Betts.
+
+1999-10-27  Miodrag Vallat  <miodrag@ifrance.com>
+
+	* texinfos.am (uninstall-info): Use installed info file, not one
+	from srcdir or builddir.
+
+1999-11-07  Tom Tromey  <tromey@cygnus.com>
+
+	* clean.am (maintainer-clean-generic): Remove Makefile.in.  From
+	Jeff Bailey
+
+	Fix for PR automake/18:
+	* automake.in (handle_dist): Add contents of dist.am to the output
+	rules.
+	* Makefile.am (amfiles): Added dist.am.
+	* dist.am: New file.
+	(distcheck): Added uninstall and distclean checks.
+
+	* automake.in (PATH_PATTERN): Added `-' as allowable character.
+	Fixes PR automake/20.  From Matthew D. Langston.
+
+	* automake.in (SUFFIX_RULE_PATTERN): Add `0-9' as characters
+	allowed in suffixes.  Fixes PR 22.  From Matthias Clasen.
+
+1999-10-03  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* m4/lispdir.m4: -batch must come before -q.
+	* elisp-comp: Likewise.
+	Reported by Lars Hecking <lhecking@nmrc.ucc.ie>
+	* THANKS: Added Lars.
+
+1999-08-15  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (get_object_extension): Fixed quoting bug.  Fixes
+	ansi4.test.
+
+1999-07-27  Tom Tromey  <tromey@cygnus.com>
+
+	* config.guess, config.sub: New versions from autoconf.
+
+1999-07-13  Tom Tromey  <tromey@cygnus.com>
+
+	Work around losing `awk'.  Report from Harlan Stenn.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require AC_PROG_AWK.
+	* tags.am (ID, TAGS): Use $(AWK), not `awk'.
+
+	* automake.in (handle_source_transform): Mark prefix as seen if
+	corresponding _SOURCES variable exists.  Fixes empty2.test.
+
+1999-06-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
+
+	* configure.in (ACLOCAL): Do not prepend the variable SRCDIR to
+	m4.
+	(AUTOMAKE): Set --amdir to current directory.
+
+1999-06-20  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (TAGS_FILES): New macro.
+	(ETAGS_ARGS): Moved files into TAGS_FILES.
+	(TAGS_DEPENDENCIES): Likewise.
+	(ETAGS_ARGS): Removed.
+	(TAGS_DEPENDENCIES): Removed duplicate definition.
+
+	* tags.am (ID): Handle VPATH correctly.  Use TAGS_FILES.  Report
+	from Ganesan Rajagopal.
+	(TAGS): Likewise.
+
+1999-06-18  Thomas Tanner  <tanner@ffii.org>
+
+	* automake.in (handle_ltlibraries): Check for -module in LDFLAGS,
+	too.
+
+1999-06-20 Mark Elbrecht <snowball3@bigfoot.com>
+
+	* ylwrap: Handle filenames output by the DOS version of Bison.
+
+1999-06-20  Tom Tromey  <tromey@cygnus.com>
+
+	* ylwrap: Be less strict when recognizing DOS paths.  From Mark
+	Elbrecht.
+
+1999-06-19  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Remove redundant entries from
+	DIST_SUBDIRS.
+
+	* automake.in (handle_lib_objects_cond): Better error message when
+	unrecognized option passed in LDADD.
+
+1999-06-08  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* configure.in (ACLOCAL, AUTOMAKE): Use our own scripts, with
+	appropriate --acdir and --amdir arguments.
+
+1999-06-07  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (dist_header): Avoid changing permissions of files
+	in the source tree, trying a complex `find/chmod' command before
+	falling back to plain chmod.
+	(handle_dist_worker): Do not create directories with mode 777, the
+	find above will take care of that.
+	* m4/init.m4: Set install_sh for find/chmod above.
+
+	* THANKS: Added Shuhei Amakawa.
+
+1999-06-07  Shuhei Amakawa <sa264@cam.ac.uk>
+
+	* mans.am: Strip dirname from given filename.
+
+1999-06-07  Jim Meyering  <meyering@ascend.com>
+
+	* automake.in (handle_dist): Change emitted rules so that a failure
+	in `$(MAKE) distcheck-hook' propagates to the outer make.
+
+1999-05-27  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_single_transform_list): Replace AM_FLAG and
+	not FLAG in compilation rule.
+	(add_depend2): Likewise.
+
+	* ltlib.am (install-@DIR@LTLIBRARIES): Pass INSTALL_STRIP_FLAG to
+	libtool.
+
+	* m4/dmalloc.m4: Updated dmalloc site information.
+
+1999-05-19  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_single_transform_list): Push object name
+	without extension onto lang_specific_files.  Fixes
+	specflags4.test.
+
+	* automake.in (handle_single_transform_list): Added missing
+	space.  Fixes specflags.test.
+
+1999-05-05  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in: Disabled dependency tracking for Java.
+
+1999-05-04  Tom Tromey  <tromey@cygnus.com>
+
+	* library.am (@LIBRARY@): Use $(@XLIBRARY@_AR).
+	* automake.in (handle_libraries): Recognize _AR variable.
+
+1999-04-30  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (finish_languages): Always use `-o $@' with
+	libtool.  Define ltcompile and ltlink at outermost scope in
+	function.
+	* libtool.am (.c.lo): Removed.
+
+	* automake.in (finish_languages): Put `.' before extension in
+	suffix list, `.obj' rule, and `.lo' rule.  Look at `-flags', not
+	`-flag'.  From Pavel Roskin.
+
+1999-04-28  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (finish_languages): Fixed scoping of ltcompile and
+	ltlink.  From Pavel Roskin.
+
+1999-04-27  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (read_main_am_file): Don't start macro definition
+	with backslash-newline.  Instead, append newline at the end if
+	required.
+
+	* automake.in (read_am_file): Insert a backslash before a trailing
+	newline.  Fixes pluseq8.test.
+
+	* automake.in (MACRO_PATTERN): Allow digits and `_' to start a
+	macro name.
+	(check_canonical_spelling): Don't insert `AM' before macro name
+	(reverts Alexandre's 1999-04-27 patch).
+	* automake.texi: Reverted documentation change for `AM' patch.
+
+	* automake.in (handle_lib_objects_cond): Prefer `$1' over `\1'.
+	Minor rewrite for clarity.
+	(check_canonical_spelling): Prefer `$1' over `\1'.
+
+	* depend2.am (@OBJ@): Renamed.  Use @SOURCE@, @COMPILE@.  Always
+	use `-o $@'.
+	(@LTOBJ@): Likewise.
+	* automake.in (handle_single_transform_list): Don't print rule if
+	doing dependency tracking and the file's language supports it.
+	(initialize_per_input): Initialize lang_specific_files.
+	(add_depend2): New function.
+	(handle_dependencies): Use it.
+
+	* automake.in (lang_ppf77_finish): Use lang_f77_finish.
+	ratfor compiler name is `RCOMPILE'.  ppf77 compiler name changed
+	to `PPF77COMPILE' to allow use of f77 and ppf77 in the same
+	directory.
+	(lang_ratfor_finish): Use lang_f77_finish.
+
+	* compile.am (NOTDEPEND.c.o): Removed.
+	(OBJEXT.c.obj): Likewise.
+	* automake.in: Added `flags' attribute to all relevant languages.
+	(handle_single_transform_list): Handle per-derived-object flags.
+	Changed interface and all callers.
+	(handle_built_sources): Don't call handle_single_transform_list.
+	Added `compile' and `compiler-name' attribute to all relevant
+	languages.
+	(finish_languages): Define compiler variables here.
+	(lang_cxx_finish): Don't call define_compiler_variable.  Don't
+	define flag variable or .o rules.  Don't add to @suffixes.
+	(lang_f77_finish): Likewise.
+	(lang_ppf77_finish): Likewise.
+	(lang_objc_finish): Likewise.
+	(lang_java_finish): Likewise.
+	(finish_languages): Define flag variable here.
+	Added `output-arg' attribute to all relevant languages.
+	(finish_languages): Define `.o' rules here.
+	(finish_languages): Put extension on @suffixes.
+	(get_object_extension): Don't transform NOTDEPEND or MINUSO.
+
+1999-04-27  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (initialize_global_constants): Invoke gzip for
+	dist-shar just like in plain dist, i.e., pass it GZIP_ENV and -c.
+
+	* automake.in (initialize_global_constants): Remove zip file
+	before re-creating it.
+	Reported by Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+
+	* texinfos.am (uninstall-info): Look for info file in srcdir, just
+	like in install-info-am.
+	Reported by Tudor Hulubei <tudor@cs.unh.edu>
+
+	* automake.in (handle_lib_objects_cond): \Q doesn't work either.
+	Let's use the good ol' substitution, then.
+	Reported by Russ Allbery <rra@stanford.edu>
+
+	* automake.in (check_canonical_spelling): Insert AM before names
+	starting with non-letters.
+
+	* automake.texi: Document it.
+
+1999-04-26  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_lib_objects_cond): Do not use quotemeta, it
+	doesn't work on perl4.  Maybe \Q and \E do.
+
+1999-04-24  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in: Treat `.zip' and `.jar' files as Java.
+
+	* automake.in (generate_makefile): Define `subdir' after reading
+	.am file.
+	(read_main_am_file): Give programming error if variable defined
+	before invocation.
+
+1999-04-22  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (generate_makefile): Define `subdir' variable.
+	(handle_dist): Don't define `subdir'.
+
+	* automake.in (handle_texinfo): Change numbering scheme for
+	stamp-vti files, to avoid problems with DOS.
+	From Michel de Ruiter.
+
+	* automake.texi: Don't mention AM_FUNC_MKTIME.
+	* aclocal.in (obsolete_macros): Mention AM_FUNC_MKTIME.
+	* automake.in (scan_one_configure_file): Recognize
+	AC_FUNC_MKTIME, not AM_FUNC_MKTIME.
+	(obsolete_macros): Mention AM_FUNC_MKTIME.
+	* m4/Makefile.am (m4data_DATA): Removed mktime.m4.
+	* m4/mktime.m4: Removed.
+
+1999-04-20  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.texi (Top level): Don't recommend substing SUBDIRS.
+
+1999-04-20  Brian Ford <ford@vss.fsi.com>
+
+	* scripts.am: Change else if's to elif.
+
+1999-04-20  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_lib_objects_cond): Only require the source
+	of a LIBOBJ if it's not in BUILT_SOURCES.
+	Reported by Erez Zadok.
+
+1999-04-19  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in: Treat `.class' files as Java source.
+	(lang_java_finish): Handle `.class' files.
+
+1999-04-18  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* m4/lispdir.m4: Match only `/(share|lib)/x?emacs/site-lisp/*$'.
+
+	* m4/lispdir.m4: Do not override lispdir if it's already defined.
+	Run some emacs-lisp to find out the site-lisp directory, but
+	relocate it into prefix.
+
+1999-04-17  Paul Eggert  <eggert@twinsun.com>
+
+	* m4/mktime.m4 (bigtime_test, main): Move alarm from
+	bigtime_test to main, since Solaris 7 (64-bit) mktime loops
+	even outside of bigtime_test.  Use a time limit of 60 seconds
+	for the whole test, not 10 seconds per iteration.
+
+1999-04-17  Erez Zadok  <ezk@cs.columbia.edu>
+
+	* automake.in: Create stamps for headers in appropriate
+	directories, even if the input file lives in a different place.
+	* remake-hdr.am: Likewise.
+
+1999-04-16  Tom Tromey  <tromey@cygnus.com>
+
+	From Brian Ford:
+	* progs.am (install-@DIR@PROGRAMS, uninstall-@DIR@PROGRAMS):
+	Invoke `sed' only once per program.
+	* scripts.am (install-@DIR@SCRIPTS, uninstall-@DIR@SCRIPTS):
+	Invoke `sed' only once per program.
+
+1999-04-13  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_subdirs): Make `install-recursive' phony.
+	From Michel de Ruiter.
+
+	* automake.in (handle_ltlibraries): Added missing `check'.
+
+1999-04-12  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi2knr.c: New version from Pavel Roskin (via ansi2knr.c
+	maintainer).
+
+1999-04-11  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist): Use AMTAR.
+	(initialize_global_constants): Likewise.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use AMTAR, not TAR.
+
+	* automake.in (lang_sub_obj): New function.
+	(lang_cxx_rewrite): Use it.
+	(lang_asm_rewrite): Likewise.
+	(lang_objc_rewrite): Likewise.
+	(lang_cxx_finish): Add `-o $@' to all C++ rules.
+	(lang_asm_finish): Add `-o' to suffix rules when appropriate.
+	(lang_objc_finish): Add `-o $@' to all ObjC rules.
+	(lang_java_finish): Likewise.
+
+	* automake.in: Only register `asm' once.
+	(lang_asm_finish): Put assembly suffixes on @suffixes.
+
+	* libtool.am (.s.lo): Removed.
+	(.S.lo): Likewise.
+	* automake.in (lang_asm_finish): Handle libtool.
+
+	* libtool.am (.c.o): Always pass -c to libtool.
+
+	* automake.in (lang_yacc_rewrite): Handle sources in subdirs.
+	(lang_yaccxx_rewrite): Likewise.
+	(lang_lex_rewrite): Likewise.
+	(lang_lexxx_rewrite): Likewise.
+
+	Assembly code no longer included by default:
+	* compile.am (.s.o): Removed.
+	(.S.o): Likewise.
+	* automake.in: Register `asm' language.
+	(lang_asm_finish): Generate suffix rules for assembly.
+	(get_object_extension): Don't add `.s' or `.S' to suffix list.
+
+	* automake.in (get_object_extension): Substitute @MINUSO@ when
+	including compile.am.
+	* compile.am (.c.o): Added @MINUSO@.
+	(.c.obj): Likewise.
+
+	First cut at allowing objects in subdirectories:
+	* m4/Makefile.am (m4data_DATA): Added minuso.m4.
+	* Makefile.am (dist_script_DATA): Added compile.
+	* m4/minuso.m4: New file.
+	* automake.in (initialize_global_constants): Added compile to
+	common_files.
+	(seen_cc_c_o): New global.
+	(scan_one_configure_file): Set it when AM_PROG_CC_C_O seen.
+	(handle_options): Recognize `subdir-objects' option.
+	(lang_c_rewrite): Added directory argument.
+	(lang_yacc_rewrite): Likewise.
+	(lang_yaccxx_rewrite): Likewise.
+	(lang_lex_rewrite): Likewise.
+	(lang_lexxx_rewrite): Likewise.
+	(handle_single_transform_list): Pass directory to _rewrite
+	function.  Generate dependencies for dirstamp files for each .o;
+	it is just the rules we want to create once.
+	(lang_c_rewrite): Handle `subdir-objects' option.
+	(lang_c_rewrite): Require `compile' program.
+	* compile: New file.
+
+	* automake.in (initialize_per_input): Initialize %directory_map.
+	(handle_single_transform_list): Only create .dirstamp rules once
+	per directory.
+
+	* m4/gcj.m4 (AM_PROG_GCJ): Use AC_CHECK_PROGS, not AC_CHECK_PROG.
+
+	Fix for confh.test:
+	* automake.in (configure_input_files): New global.
+	(scan_configure): Set it.
+	(handle_configure): Use configure_input_files when determining
+	which subdirs have a Makefile.am.  Fixes confh.test.
+	(handle_configure): Only recognize acconfig.h in top srcdir.
+
+1999-04-10  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (%.o): Use `$(*D)/$(*F)', not just `$(*F)'.
+	(%.lo): Likewise.
+
+	* automake.in (am_install_var): Remove redundancies from the
+	result.  Fixes test cond8.test.
+
+	* automake.in (handle_single_transform_list): Handle dependency
+	tracking when files are created in subdirs.  Error if object in
+	subdir has `..' component.
+
+	* automake.in (initialize_global_constants): Use $(TAR), not tar.
+
+	* automake.in (handle_ltlibraries): Allow check_LTLIBRARIES.
+
+	* automake.in (lang_yacc_finish): Added missing `&'.
+
+1999-04-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_configure): Replace multiple occurrences of
+	@STAMP@ in the same line; completes the patch for remake-hdr.am
+	below.
+
+	* automake.in (handle_dependencies): Fix test for `autodep'
+	support.
+
+	* automake.in (handle_source_transform): Add a pfx to used_pfx
+	only if it's conditional or non-empty, to reduce the number of
+	empty variables.  Emit _OBJECS variable based on program name if
+	no SOURCES were explicitly specified.
+
+	* remake-hdr.am: Create the stamp file before the header file,
+	and just rename it after, so that the timestamps will be correct.
+	Reported by Marc Horowitz <marc@mit.edu>
+
+	* automake.in (lang_yacc_finish): Generate and dist a `.h' for a
+	`.y' iff YFLAGS or AM_YFLAGS contain `-d'.
+	Reported by Jim Meyering <meyering@ascend.com>
+
+	* automake.in (lang_yacc_finish): $hname must not contain a `.'.
+
+1999-04-10  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (EXTRA_DIST): New macro.
+	* ChangeLog.1996, ChangeLog.1998: New files.
+
+1999-04-09  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_source_transform): Handle dist and nodist
+	prefixes.
+	(initialize_per_input): Initialize dist_sources.
+	(check_libobjs_sources): Handle dist and nodist prefixes.
+	(generate_makefile): Define DIST_SOURCES.
+	* dist-vars.am (DISTFILES): Reference DIST_SOURCES, not SOURCES.
+
+	* automake.texi (Macros): Mention AM_PROG_GCJ.
+	(Java Support): New node.
+	(Dist): Documented dist_ and nodist_ prefixes.
+
+	* m4/gcj.m4 (AM_PROG_GCJ): Renamed from AC_PROG_GCJ.
+
+	* automake.in (lang_java_finish): Generate .lo rule for `.java'
+	files, not `.gcj' files.
+
+	* m4/gcj.m4: New file.
+	* m4/Makefile.am (m4data_DATA): Added gcj.m4.
+
+	* automake.in: Register the `java' language.
+	(resolve_linker): Handle GCJLINK.
+	(lang_java_rewrite): New function.
+	(LANG_IGNORE, LANG_PROCESS, LANG_SUBDIR): New constants.
+	(lang_c_rewrite): Use new constants.
+	(lang_cxx_rewrite): Likewise.
+	(lang_header_rewrite): Likewise.
+	(lang_yacc_rewrite): Likewise.
+	(lang_yaccxx_rewrite): Likewise.
+	(lang_lex_rewrite): Likewise.
+	(lang_lexxx_rewrite): Likewise.
+	(lang_asm_rewrite): Likewise.
+	(lang_f77_rewrite): Likewise.
+	(lang_ppf77_rewrite): Likewise.
+	(lang_ratfor_rewrite): Likewise.
+	(lang_objc_rewrite): Likewise.
+	(handle_single_transform_list): Likewise.  Handle LANG_SUBDIR
+	return from rewrite function.
+	(lang_java_finish): New function.
+	(register_language): Changed interface and all calls.  Added
+	`autodep' settings to various languages.
+	(handle_dependencies): Use `autodep' property of language when
+	including dependency-tracking code.
+
+1999-04-07  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): Indentation fixes.
+
+1999-04-07  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (value_to_list): Skip *only* trailing backslashes.
+
+1999-04-07  Pavel Roskin  <pavel_roskin@geocities.com>
+
+	* automake.in (value_to_list): Skip trailing backslashes.
+
+1999-04-07  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_texinfo): Add texinfo.tex to config_aux_dir
+	when appropriate.
+	Reported by Per Cederqvist <ceder@lysator.liu.se>
+	(handle_texinfo): Do not define texinfo_tex='.', use
+	'$(srcdir)/texinfo.tex' instead; the directory name will be
+	properly extracted.
+	(require_conf_file_with_line): Fixed typo.
+
+1999-04-03  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* automake.in (handle_tests): Test `dir=./' before `dir=', so that
+	we do not depend on PATH starting with `.'.
+
+1999-03-31  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (quote_cond_val): Quote \n.
+	(unquote_cond_val): Unquote \n.
+	(read_am_file): If line ends with `\', preserve it and add a
+	newline.
+	(read_main_am_file): In conditional case, put conditional text at
+	beginning of each generated line.
+
+1999-03-31  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_tests): support XFAIL_TEST
+	* automake.texi: document it
+
+1999-04-12  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* End of merge from trunk.
+
+1999-04-12  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (cmdline_use_dependencies): Reintroduce it.
+	(--ignore-deps): Set cmdline_use_dependencies again.
+	(handle_dependencies): If use_dependencies is not set, define
+	depcomp as empty.
+	(handle_configure): Pass --ignore-deps to generated Makefile.ins.
+	(scan_configure): Do not require depcomp when ignoring
+	dependencies.
+	(initialize_global_constants): Reintroduce --ignore-deps.
+
+1999-04-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* depcomp: New file.
+	* Makefile.am (dist_script_DATA): Added depcomp.
+	* automake.in (cmdline_use_dependencies, omit_dependencies,
+	dependency_macros): Removed.
+	(--ignore-deps): Just ignore.
+	(handle_single_transform_list, dep_files): Named dependency files
+	as \$(DEPDIR)/$base.P$obj
+	(handle_lib_objects_cond): Likewise.
+	(generate_dependency_code): Do not check for AM_*_DEPENDENCIES.
+	(scan_one_configure_file): Likewise.
+	(handle_dependencies): Always enable auto-dep.  Define `depcomp'.
+	Ignore OMIT_DEPENDENCIES.
+	(handle_configure): Do not pass --ignore-deps.
+	(scan_configure): Require `depcomp'.
+	(initialize_global_constants): Make `depcomp' common.  Remove
+	`--ignore-deps' from usage.
+	(get_object_extension): No more NOTDEPEND in compile nor libtool.
+	* compile.am: Remove rules for .c.o and .c.obj
+	* depend.am (distclean-depend): Wipe out $(DEPDIR)
+	* depend2.am (@FPFX@DEPMODE): Define from config.status.
+	Use it and depcomp in suffix rules.
+	* libtool.m4: Likewise.
+	* m4/ccdepend.m4, m4/cxxdepend.m4: Removed.
+	* m4/depvars.m4, m4/objcdepend.m4: Likewise.
+	* m4/Makefile.am (dist_m4data_DATA): Likewise.
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Extract DEPDIR
+	from the Makefile and subst it in deps.  Report creation of deps
+	files (for now).  Replace $U with `_' and the empty string.  Write
+	a comment to each created file.
+	* m4/depend.m4 (AM_SET_DEPDIR): Select a valid deps dir name.
+	(AM_DEPENDENCIES): Accept CC, CXX and OBJC.  Just determine the
+	dependency mode and AC_SUBST [$1]DEPMODE.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Automatically call
+	AM_DEPENDENCIES for CC and CXX, if the corresponding AC_PROG
+	appears in configure.in, before or after AM_INIT_AUTOMAKE.
+
+1999-04-02  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* depout.m4: Fix sed expression for extracting `dirpart'.
+
+1999-03-29  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (DEP_@FPFX@COMPILE): Use `!=' and not `-ne'.
+
+	* compile.am (.c.obj): Also disabled when dependency tracking
+	enabled.
+	* depend2.am (@EXT@.obj): New target.
+	* automake.in (get_object_extension): Added explanatory comment.
+	(generate_dependency_code): Handle $seen_objext.
+
+	* depend.am: Removed obsolete comment.
+	* depend2.am: Minor formatting fix.
+
+1999-03-28  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/Makefile.am (dist_m4data_DATA): Renamed, and added new
+	files.
+	(EXTRA_DIST): Removed.
+	* automake.in (dependency_macros): New global.
+	(scan_one_configure_file): Recognize new dependency tracking
+	macros, and define new resulting configure variables.
+	(generate_dependency_code): New sub.
+	(handle_dependencies): Use it.
+	* depend2.am (DEP_@FPFX@COMPILE): New macro.
+	(@EXT@.o): Use it.
+	(@EXT@.lo): Likewise.
+	* m4/depvars.m4: New file.
+	* m4/objcdepend.m4: New file.
+	* m4/cxxdepend.m4: New file.
+	* m4/init.m4: Moved dependency handling code into depout.m4.
+	* m4/depout.m4: New file.
+	* m4/ccdepend.m4: New file.
+	* m4/depend.m4: New file.
+
+	* depend2.am (@EXT@.o): Renamed to be old-style suffix pattern.
+	(@EXT@.lo): Likewise.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Don't create `.deps/.P'; it is no
+	longer needed.
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Add code to config.status which
+	will create the required .P files for dependency tracking.
+	* automake.in (scan_dependency_file): Removed.
+	(handle_dependencies): Never call scan_dependency_file.
+	(generate_deps): Removed.
+	(parse_arguments): Don't recognize --generate-deps, --build-dir,
+	--srcdir-name, or --include-deps.  Do recognize --ignore-deps.
+	(srcdir_name): Removed.
+	(build_directory): Removed.
+	(initialize_global_constants): Changed $USAGE to reflect argument
+	parsing changes.
+	(handle_dist_worker): Never run automake in `dist' rule.
+	(handle_configure): Use --ignore-deps, not --include-deps.
+	* depend.am (DEPS_MAGIC): Removed.
+	(DEP_FILES): Unconditionally include.
+
+1999-03-27  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (saw_sources_p): Correctly count header extensions
+	seen.
+	(handle_headers): Fixed order of arguments to am_install_var.
+
+	* automake.in (am_install_var): Don't error if EXTRA_foo is
+	defined uselessly.
+
+	* scripts.am (install-@DIR@SCRIPTS): Use NDIR when appropriate.
+	(uninstall-@DIR@SCRIPTS): Likewise.
+	* progs.am (install-@DIR@PROGRAMS): Use NDIR when appropriate.
+	(uninstall-@DIR@PROGRAMS): Likewise.
+	* ltlib.am (install-@DIR@LTLIBRARIES): Use NDIR when appropriate.
+	(uninstall-@DIR@LTLIBRARIES): Likewise.
+	* lisp.am (install-@DIR@LISP): Use NDIR when appropriate.
+	(uninstall-@DIR@LISP): Likewise.
+	* libs.am (install-@DIR@LIBRARIES): Use NDIR when appropriate.
+	(uninstall-@DIR@LIBRARIES): Likewise.
+	* java.am (install-@DIR@JAVA): Use NDIR when appropriate.
+	(uninstall-@DIR@JAVA): Likewise.
+	* header.am (install-@DIR@HEADERS): Use NDIR when appropriate.
+	(uninstall-@DIR@HEADERS): Likewise.
+	* data.am (install-@DIR@DATA): Use NDIR when appropriate.
+	(uninstall-@DIR@DATA): Likewise.
+	* Makefile.in: Rebuilt.
+	* Makefile.am (dist_pkgdata_DATA): Renamed.
+	(EXTRA_DIST): Removed.
+	(install-data-hook): Added POST_INSTALL; print commands as they
+	are run; respect DESTDIR.
+	* dist-vars.am (DISTFILES): Removed $(HEADERS).
+	* automake.in (am_install_var): Accept `-candist' and
+	`-defaultdist' options.  Handle `dist_' and `nodist_' prefixes.
+	(am_primary_prefixes): Added can_dist argument.  Recognize `dist_'
+	and `nodist_' prefixes.
+	(handle_scripts): Pass -candist to am_install_var.
+	(handle_data): Pass -defaultdist to am_install_var.
+	(handle_headers): Likewise.
+	(handle_emacs_lisp): Pass -candist to am_install_var.
+	(handle_java): Pass -candist to am_install_var.
+
+1999-03-26  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/init.m4: Fixed typo when invoking SHELL.
+
+	* automake.in (lang_yacc_finish): Always use `.h' as suffix for
+	yacc header file.  From Ralf Corsepius.
+
+	* Makefile.in: Rebuilt.
+	* Makefile.am: Updated to reflect removal of TAR subst.
+	* automake.texi (Options): Document dist-bzip2.
+	* automake.in (TAR): Removed global.
+	(initialize_global_constants): Changed `dist' to use pipe with
+	gzip; work with non-GNU tar.
+	(handle_dist): Handle non-GNU tar.  Don't define TAR.
+	(initialize_global_constants): Added `dist-bzip2' entry.
+	(handle_options): Recognize dist-bzip2 option.
+	(handle_dist): Likewise.
+	* configure: Rebuilt.
+	* configure.in: Don't check for tar.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Check for `tar'.  Substitute
+	AMTARFLAGS.
+
+	* automake.in (am_install_var): Removed obsolete comment.
+
+	* texinfos.am (uninstall-info): Don't print loop but instead print
+	commands.  Simplified pre-uninstall loop.
+	* scripts.am (uninstall-@DIR@SCRIPTS): Don't print loop but
+	instead print commands.
+	* progs.am (uninstall-@DIR@PROGRAMS): Don't print loop but instead
+	print commands.
+	* ltlib.am (uninstall-@DIR@LTLIBRARIES): Don't print loop but
+	instead print commands.
+	* lisp.am (install-@DIR@LISP): Strip subdir from file name.
+	(uninstall-@DIR@LISP): Likewise.  Also, don't print loop but
+	instead print commands.
+	* libs.am (uninstall-@DIR@LIBRARIES): Don't print loop but instead
+	print commands.
+	* java.am (uninstall-@DIR@JAVA): Don't print loop but instead
+	print commands.
+	* header.am (install-@DIR@HEADERS): Strip subdir from file name.
+	(uninstall-@DIR@HEADERS): Likewise.  Also, don't print loop but
+	instead print commands.
+	* data.am (install-@DIR@DATA): Strip subdir from file name.
+	(uninstall-@DIR@DATA): Likewise.  Also, don't print loop but
+	instead print commands.
+
+	* automake.in (handle_merge_targets): `install-strip' is a phony
+	target.  From Michel de Ruiter.
+
+1999-03-25  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (define_compiler_variable): Don't define variable
+	with trailing `_'.
+
+1999-03-25  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (LDADD): accept -dlopen and -dlpreopen here
+	* automake.texi: ditto
+
+1999-03-25  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (TESTS): make from Solaris 7/x86 loses if srcdir
+	is absolute and != objdir.  dir="" or "$(srcdir)/" fixes it
+
+1999-03-24  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (define_compiler_variable): New sub.
+	(finish_languages): Use it.
+	(lang_cxx_finish): Likewise.
+	(lang_f77_finish): Likewise.
+	(lang_ppf77_finish): Likewise.
+	(lang_ratfor_finish): Likewise.
+	(lang_objc_finish): Likewise.
+
+1999-03-23  Tom Tromey  <tromey@cygnus.com>
+
+	* progs.am (install-@DIR@PROGRAMS): Use `-e' instead of multiple
+	sed invocations.  From Elrond.
+	(uninstall-@DIR@PROGRAMS): Likewise.
+
+	* automake.in (lang_lex_finish): Rewrite `l', not `y', to `c'.
+	From Ralf Corsepius.
+
+1999-02-01  Thomas Tanner  <tanner@gmx.de>
+
+	* automake.in: accept both A(C|M)_PROG_LIBTOOL, print a
+	warning when AM_PROG_LIBTOOL was found
+	* automake.texi: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL
+
+1999-03-22  Tom Tromey  <tromey@cygnus.com>
+
+	Made `+=' more robust.  Fixes pluseq6.test and pluseq7.test.
+	* automake.in (define_standard_variables): New sub.
+	(read_main_am_file): Use two passes to scan standard variables.
+	(read_am_file): Don't special-case configure variables with `+='.
+	(initialize_per_input): Initialize %var_was_plus_eq.
+	(read_am_file): Set var_was_plus_eq element correctly.
+	(define_variable): Give error if variable assigned with `+=' is
+	internally defined.
+	(initialize_per_input): Initialize %am_var_defs.
+	(file_contents_with_transform): Set element in %am_var_defs.
+	(read_am_file): Use %am_var_defs.
+
+1999-03-21  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (initialize_per_input): Initialize %object_map.
+	(handle_single_transform_list): Allow source files in
+	subdirectories.
+
+1999-03-21  Jim Meyering  <meyering@na-net.ornl.gov>
+
+	* automake.in (handle_dist): Add missing newline after the first
+	semicolon.
+
+1999-03-11  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/error.m4, m4/mktime.m4, m4/obstack.m4, m4/regex.m4,
+	m4/strtod.m4: Use $ac_objext, not `.o'.  From Jim Meyering.
+
+	From Jim Meyering:
+	* automake.in (handle_dist): Add `;\' to end of distcheck-hook
+	line.
+	(scan_one_configure_file): In LIBOBJS, recognize `$ac_objext' as
+	legitimate ending.  Fixes libobj9.test.
+
+	From Ralf Corsepius.  Fixes lex3.test.
+	* automake.in (lang_yacc_finish): Include `.' in name pushed onto
+	maintainer-clean list.
+	(lang_lex_finish): Likewise.
+
+1999-03-02  Tom Tromey  <tromey@cygnus.com>
+
+	* subdirs.am (maintainer-clean-recursive): Changed "&&" into "if"
+	construct to work around FreeBSD make/sh problem.  From Rich Wales.
+
+1999-03-01  Tom Tromey  <tromey@cygnus.com>
+
+	Fixes from Pavel Roskin:
+	* automake.in (variable_conditions_sub): Sort list passed to
+	variable_conditions_permutations.
+	(variable_conditions): Sort list before returning.
+
+1999-02-27  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (lang_extensions): New sub.
+	(handle_dependencies): Use it.
+	(cxx_extensions): Removed.
+	(lang_cxx_finish): Use lang_extensions.
+	(f77_extensions): Removed.
+	(lang_f77_finish): Use lang_extensions.
+	(objc_extensions): Removed.
+	(lang_ppf77_finish): Put `.' before extension.  Fixes ext.test.
+	Report from Dave Morrison.
+	(lang_ratfor_finish): Likewise.
+
+1999-02-26  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (finish_languages): Added AM_LDFLAGS.
+	(lang_cxx_finish): Likewise.
+	(lang_f77_finish): Likewise.
+	(lang_ppf77_finish): Likewise.
+	(lang_ratfor_finish): Likewise.
+	(lang_objc_finish): Likewise.
+
+1999-02-11  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (obsolete_macros): Copied from automake.in.
+	(obsolete_rx): Use only keys of obsolete_macros.
+	(scan_configure): Report replacement macro for an obsolete macro.
+	* automake.in (obsolete_macros): Added ud_GNU_GETTEXT.
+
+	* automake.in (obsolete_macros): Corrected typo in AM_EXEEXT
+	entry.  Fixes obsolete2.test.
+
+	* automake.in (obsolete_macros): Use empty string to indicate no
+	substitution.
+	(scan_one_configure_file): Likewise.
+
+1999-02-07  Paul Eggert  <eggert@twinsun.com>
+
+	* m4/ccstdc.m4 (AM_PROG_CC_STDC): Prefer -Ae to -Aa
+	-D_HPUX_SOURCE, since -Ae allows `long long' and this is
+	needed by some programs.
+
+1999-02-10  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): Added `pgs' to list of
+	extensions.  From NISHIDA Keisuke.
+
+1999-02-04  Akim Demaille  <demaille@inf.enst.fr>
+
+	* automake.in (handle_texinfo): remove texinfo.tex from
+	TEXINFODIR.
+
+1999-02-02  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_merge_targets): Use INSTALL_STRIP_FLAG.
+	* progs.am (install-@DIR@PROGRAMS): Added INSTALL_STRIP_FLAG.
+	* header-vars.am (INSTALL_PROGRAM): Removed
+	AM_INSTALL_PROGRAM_FLAGS.
+	(INSTALL_STRIP_FLAG): New macro.
+
+	* automake.in: Handle `ypp' as C++ yacc source and `lpp' as C++
+	lex source.
+	(lang_yacc_finish): Likewise.
+	(lang_lex_finish): Likewise.
+
+1999-02-01  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Correctly find find in $$d,
+	not $$.  From Bill Davidson.
+
+	* automake.in (finish_languages): Use "&", not "do".  From Pavel
+	Roskin.
+	(handle_single_transform_list): Likewise.
+
+1999-01-29  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Removed unused variable.  From
+	Pavel Roskin.
+
+	* ansi2knr.c: New version from L. Peter Deutsch.
+
+1999-01-22  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (require_file_internal): Correctly examine return
+	value of `system'.  From Andris Pavenis.  Fixes copy.test.
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require autoconf 2.13.
+
+	* automake.in (lang_ppf77_rewrite): New function.  From Jochen
+	Kuepper.  Fixes ppf77.test.
+	(lang_ratfor_rewrite): New function
+
+	* automake.in (handle_configure): Use `&' before sub calls (Perl 4
+	fix).  From Erez Zadok.
+
+1999-01-15  Tom Tromey  <tromey@cygnus.com>
+
+	* configure.in: Version 1.4a (oops).
+
+	* configure.in: Updated version to 1.5a.
+
+1999-01-14  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Compute $header_dir based on
+	$one_name, not $one_hdr.  Reported by Erez Zadok.  Fixes
+	confh2.test.
+	(handle_configure): Compute relative path to input header
+	correctly in all cases.
+
+	* automake.in (handle_tests): Avoid error messages from dejagnu
+	test rules.  From Karl Heuer.
+
+	* automake.in (handle_texinfo): Add `/' to end of $conf_dir.
+
+	* Makefile.am (AUTOMAKE_OPTIONS): Added `1.4'.
+
+	* texi-vers.am ($(srcdir)/stamp-@VTI@): Find @TEXI@ in srcdir.
+	From Alexandre Oliva and Erez Zadok.
+
+	* automake.in (create): Renamed from touch.
+	(handle_configure): Use create, not touch.
+
+	* config.sub, config.guess: New versions from autoconf.
+
+	* mkinstalldirs: New version from autoconf.
+
+1999-01-12  Tom Tromey  <tromey@cygnus.com>
+
+	* config.sub, config.guess, COPYING, texinfo.tex: New versions
+	from FSF.
+
+1999-01-11  Marcus G. Daniels  <mgd@chama.santafe.edu>
+
+	* automake.in (PATH_PATTERN): New variable:
+	(INCLUDE_PATTERN): Use it.  Ignore all include commands using
+	symbols besides $(top_srcdir) and $(srcdir).
+
+1999-01-11  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_dist_worker): avoid failure in `make dist'
+	if last file is a builddir-only file
+
+1999-01-11  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* missing (autoheader): `s' was missing from sed script; grr
+
+1999-01-11  Tom Tromey  <tromey@cygnus.com>
+
+	* remake-hdr.am (@STAMP@): Reverted timestamp change.
+	($(srcdir)/@STAMP@.in): Likewise.
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (scriptdir): New macro.
+	(script_DATA): Likewise.
+	(install-data-hook): Use them.
+	(EXTRA_DIST): Added script_DATA.
+	(installcheck-local): Use script_DATA.
+
+	* Makefile.am (pkgdata_DATA): Removed duplicate definition.
+
+1999-01-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* missing (autoheader): accept multiple header files
+	(automake): simplify sed processing
+
+1999-01-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_configure, stamp_dir): create only one stamp
+	file per header, instead of one in the top-level directory and one
+	in the directory that contains the header.
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (lang_objc_finish): Formatting fix.
+
+	* automake.in (objc_extensions): New sub.
+	(handle_dependencies): Only generate dependency-tracking code for
+	ObjC when ObjC source seen.
+
+-----
+
+Copyright 1999, 2000 Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/ChangeLog.01
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/ChangeLog.01	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/ChangeLog.01	(revision 3089)
@@ -0,0 +1,4951 @@
+2001-12-31  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Extending): Document installcheck-local.  Added
+	installdirs-local index entry.
+	(Tests): Document installcheck-local.
+
+	* automake.in (handle_single_transform_list): Indentation fix.
+
+2001-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (common_files): Add COPYING.DOC.
+	Suggested by Karl Berry.
+
+2001-12-30  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (define_configure_variable): Define a user macro,
+	not an automake macro.
+	* tests/Makefile.am (TESTS): Added ar.test.
+	* tests/ar.test: New file.
+
+	For PR automake/211:
+	* automake.in (object_compilation_map): New global.
+	(initialize_per_input): Initialize it.
+	(COMPILE_LIBTOOL): New constant.
+	(COMPILE_ORDINARY): Likewise.
+	* tests/Makefile.am (TESTS): Added pr211.test.
+	* tests/pr211.test: New file.
+
+	For PR automake/215:
+	* configure.in: Use AM_AUTOMAKE_OPTIONS.
+	* Makefile.am (AUTOMAKE_OPTIONS): Removed.
+	* automake.texi (Macros): Document AM_AUTOMAKE_OPTIONS.
+	(Options): Mention AM_AUTOMAKE_OPTIONS.
+	* automake.in (global_options): New global.
+	(global_options_line): Likewise.
+	(scan_autoconf_traces): Trace AM_AUTOMAKE_OPTIONS.
+	(scan_one_autoconf_file): Likewise.
+	(process_option_list): New function.
+	(handle_options): Use it.  Also, handle global options.
+	* m4/Makefile.am (m4data_DATA): Added options.m4.
+	* m4/options.m4: New file.
+
+	* lib/am/install.am (?SUBDIRS?installdirs-am): Handle
+	installdirs-local.
+	(?!SUBDIRS?installdirs): Likewise.
+	* automake.in (handle_installdirs): Handle installdirs-local.
+	* automake.texi (Extending): Mention installdirs.
+	* tests/Makefile.am (TESTS): Added installdir.test.
+	* tests/installdir.test: New file.
+
+2001-12-30  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/yacc.am: Also rename the possible y.output file.
+	Remove the trailing y.tab.h.
+
+2001-12-30  Paolo Bonzini  <bonzini@gnu.org>
+
+	* automake.texi (Install): Remove mention of nonexistent
+	uninstall-hook.
+
+2001-12-30  Alan Modra  <amodra@bigpond.net.au>
+
+	* automake.in (generate_makefile): Unlink output file before
+	opening so that any hard links are not changed.
+
+2001-12-30  Tom Tromey  <tromey@redhat.com>
+
+	* tests/pr220.test: Use `required' to pick up gcc.
+
+	For PR automake/243:
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Strip everything
+	after `:'.
+	* tests/Makefile.am (TESTS): Added pr243.test.
+	* tests/pr243.test: New file.
+
+	For PR automake/220:
+	* tests/Makefile.am (TESTS): Added pr220.test.
+	* tests/pr220.test: New file.
+	* m4/cond.m4 (AM_CONDITIONAL): Cause creation of config.status to
+	fail if conditional was never run.
+
+	For PR automake/260:
+	* lib/depcomp (tru64): Correctly handle libtool case.
+	From doreille@smr.ch.
+
+2001-12-30  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/distdir.am (distcleancheck_listfiles): Unquote.
+	Reported by Yann Droneaud.
+
+2001-12-29  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/266:
+	* tests/Makefile.am (TESTS): Added pr266.test.
+	* tests/pr266.test: New file.
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Handle
+	non-standard name for makefile.
+
+	For PR automake/279:
+	* automake.in (conditional_ambiguous_p): New sub.
+	(handle_lib_objects_cond): Use it.
+	(check_ambiguous_conditional): Use it.
+	* tests/Makefile.am (TESTS): Added pr279.test, pr279-2.test.
+	* tests/pr279.test: New file.
+	* tests/pr279-2.test: New file.
+
+2001-12-26  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/249:
+	* tests/Makefile.am (TESTS): Added nodist2.test.
+	* tests/nodist2.test: New file
+
+2001-12-26  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+	* m4/multi.m4: Fix quoting in AC_OUTPUT_COMMANDS.
+
+2001-12-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Test for Autoconf >= 2.52.
+	* tests/defs (needs_autoconf, has_autoconf): Delete definition.
+	* tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test,
+	tests/cond4.test, tests/cond9.test, tests/cond16.test,
+	tests/cond18.test, tests/cond19.test, tests/cond20.test,
+	tests/confsub.test, tests/depcomp2.test, tests/depdist.test,
+	tests/depend2.test, tests/dirname.test, tests/distname.test,
+	tests/extra5.test, tests/install2.test, tests/lex3.test,
+	tests/make.test, tests/nobase.test, tests/pr9.test,
+	tests/pr87.test, tests/stamph2.test, tests/subdir5.test,
+	tests/subdirbuiltsources.test, tests/subobj3.test,
+	tests/subobj5.test, tests/subobj6.test, tests/substref.test,
+	tests/target-cflags.test, tests/yacc4.test, tests/yacc7.test,
+	tests/yaccvpath.test: Do not use $needs_autoconf.
+
+2001-12-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Bump version to 1.5c.
+
+2001-12-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Bump version to 1.5b.
+
+	* lib/config.sub, lib/config.guess: New versions from FSF.
+
+	* lib/am/lex.am, lib/am/yacc.am: Use `rm -f', not `rm'.
+
+2001-12-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (check_gnu_standards, check_gnits_standards): Pass
+	"$am_file.am" as WHERE argument to require_file.
+
+2001-12-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/python.m4 (AM_PATH_PYTHON): Check all known Python interpreters
+	in loop until we find one the satisfies the user supplied version.
+	Add python2 to the list of known interpreters.  Don't use
+	changequote.  Cache the calculation of PYTHON_VERSION and
+	PYTHON_PLATFORM.
+	(AM_PYTHON_CHECK_VERSION): New function, extracted from
+	AM_PATH_PYTHON and modernized.
+	* m4/runlog.m4: New file.
+	* m4/Makefile.am (m4data_DATA): Add it.
+
+2001-12-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/confsub.test, tests/depdist.test, tests/extra5.test,
+	tests/nobase.test, tests/stamph2.test,
+	tests/subdirbuiltsources.test: Require Autoconf.
+
+2001-12-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Dist): Document $(DISTCHECK_CONFIGURE_FLAGS).
+	* lib/am/distdir.am (distcheck): Honnor $(DISTCHECK_CONFIGURE_FLAGS).
+	Suggested by Merijn de Jonge.
+
+2001-12-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/tags.am (ID): Search $(LISP) files in $(srcdir),
+	like other ID dependencies.
+	Suggested by Christian Cornelssen.
+
+2001-12-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_dist): Distribute common files which
+	do not exist but are target of a Makefile rule.
+	* automake.texi (Dist): Update.
+	* test/builtcommon3.test: New file.
+	* test/Makefile.am (TESTS): Add distcommon3.test.
+
+2001-12-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (macro_define): Fix misuse of chomp introduced on
+	2001-11-28.
+
+2001-11-28  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (append_comments): New.  Extracted from
+	read_am_file.  Match '\n' with a regexp, don't use substr (the
+	perlport man page says '\n' is not always one byte wide).
+	(read_am_file):  Use it.  Always chomp $_.
+	(file_contents_internal):  Use append_comments.
+	(macro_define): Don't treat the trailing '\n' with substr, use
+	a regexp or chomp.
+
+2001-11-28  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs: Turn on shell traces when VERBOSE=x.
+
+2001-11-26  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Assembly Support): Mention .s and .S as only
+	suffixes.
+
+2001-11-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/subdirbuiltsources.test: Set -e after sourcing defs, not
+	before.
+
+2001-11-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/lex3.test: Require GNU Make.
+
+2001-11-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (ACLOCAL): Add -I $srcdir/../m4 before any other
+	directory.
+
+2001-11-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/tags.am (TAGS): Search %CONFIG% and $(LISP) files
+	in $(srcdir), like other TAGS dependencies.
+	Suggested by Christian Cornelssen.
+
+2001-11-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define): Use $where when reporting an error,
+	not the place where the macro was first defined since (i) if this
+	is the first definition, then obviously it was not defined before,
+	and (ii) anyway, the error is with the new definition, not the
+	first.
+
+2001-11-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/distdir.am (distcheck): Call distcleancheck.
+	(distcleancheck_listfiles, distcleancheck): New, extracted from
+	distcheck.
+	* automake.texi (Checking the distribution): Document
+	distcleancheck_listfiles and distcleancheck.
+
+2001-11-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_one_autoconf_file): Parenthesize qw// in
+	foreach invocation, otherwise Perl5.005_03 complains about a
+	syntax error.  Reported by Yann Droneaud.
+
+2001-11-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_texinfo_file): Suppress FIXME about strange
+	map behavior.
+
+2001-11-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (aclocaldir): Check for existence of libtool.m4 and
+	gettext.m4 if required.
+
+2001-11-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (define_objects_from_sources,
+	handle_lib_objects_cond, value_to_list): Use quotemeta instead of
+	the equivalant substitution.
+
+2001-11-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (SUFFIX_RULE_PATTERN): Add '_(){}$@' to the
+	set of accepted characters in extensions.
+	(rule_define): Convert '.o' and '.obj' into '$(OBJEXT)' for
+	internall use.
+	* tests/suffix6.test: Ensure that `.o' is handled like `.$(OBJEXT)'.
+
+2001-11-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Suffixes): Don't require SUFFIXES, but document
+	its use for the "extreme" cases.
+
+2001-11-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (rule_define): Use $KNOWN_EXTENSIONS_PATTERN
+	to match suffix rules for known extensions, or call
+	accept_extensions on suffixe rules for unknown extensions.
+	(var_SUFFIXES_trigger): New function.
+	(macro_define): Call var_VAR_trigger when $VAR is updated.
+	* tests/suffix6.test, tests/suffix7.test: New files.
+	* tests/Makefile.am (TESTS): Add suffix6.test and suffix7.test.
+
+2001-11-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (KNOWN_EXTENSIONS_PATTERN, known_extensions_list):
+	New variables.
+	(handle_single_transform_list, lang_yacc_target_hook): Use
+	KNOWN_EXTENSIONS_PATTERN.
+	(accept_extension): New function.
+	(register_language): Call it.
+
+2001-11-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	At every place where an "$extension" is used, include the leading
+	dot in the extension, don't hardcode it when building the filename.
+	That will make any support for a dot-less extension easier to add.
+
+	* automake.in (SUFFIX_RULE_PATTERN): Include extension dots in
+	backref groups.
+	("main"): Prepend a '.' to the supported extensions of all
+	languages (e.g. 'c' becomes '.c').
+	(handle_languages, handle_single_transform_list,
+	handle_lib_objects_cond, handle_headers, derive_suffix,
+	rule_define): Do not add a dot
+	before extensions, and include dots in matching groups.
+	* lib/am/depend2.am (.%EXT%.o, .%EXT%.obj, .%EXT%.lo): Rename as ...
+	(%EXT%.o, %EXT%.obj, %EXT%.lo): ... these.
+	* lib/am/lex.am (.%EXT%.%DERIVED-EXT%): Rename as ...
+	(%EXT%%DERIVED-EXT%): ... this.
+	* lib/am/yacc.am: Likewise.
+
+2001-11-12  Akim Demaille  <akim@epita.fr>
+
+	* m4/make.m4 (AM_MAKE_INCLUDE): Serial 2.
+	Use `"#"' and `"\""', which
+	Autoconf mode prefers over `'#'' and `'"''.
+	* m4/missing.m4 (AM_MISSING_HAS_RUN): Serial 3.
+	Rely on AC_MSG 2.50's quotation.
+
+2001-11-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_texinfo_file): Typo from 2001-11-05.
+
+2001-11-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/distdir.am (distdir): Also look for directory in build
+	directory first. (See 2001-05-14.)
+	* tests/Makefile.am (TESTS): Add extra5.test.
+	* tests/extra5.test: New file.
+	From Dean Povey.
+
+2001-11-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for distcommon2.test:
+	* automake.in (automake_needs_to_reprocess_all_files): New
+	variable.
+	("main"): Process all Makefiles a second time if
+	$automake_needs_to_reprocess_all_files is set.
+	(maybe_push_required_file): Return 1 or 0 whether the file is
+	pushed or not.
+	(require_file_internal): Set $automake_needs_to_reprocess_all_files
+	if an added file can't be pushed.
+
+	* test/distcommon2.test: New file.
+	* test/Makefile.am (TESTS): Add distcommon2.test.
+	From Pavel Roskin.
+
+2001-11-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (exec_dir_p): Remove.  Replace by...
+	(EXEC_DIR_PATTERN):... this.
+	(am_install_var): Adjust to use EXEC_DIR_PATTERN.
+
+2001-11-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for nobase.test:
+	* lib/am/header-vars.am (install_sh_DATA): New.
+	* lib/am/data.am (install-%DIR%%PRIMARY%): Declare and use
+	%DIR%%PRIMARY%_INSTALL, and set it to $(install_sh_DATA) instead
+	of $(INSTALL_DATA) for nobase_ targets.
+	* lib/am/lisp.am (install-%DIR%LISP): Likewise.
+	* lib/am/python.am (install-%DIR%PYTHON): Likewise.
+	* tests/nobase.test (configure.in): Append AC_OUTPUT.
+	* tests/Makefile.am (XFAIL_TESTS): Remove nobase.test.
+
+2001-11-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.texi: Remove references to stamp-h.in, which no longer
+	exists.
+	* tests/stamph2.test: Formatting change.
+
+2001-11-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/suffix3.test: Check for foo.$(OBJEXT) in Makefile.in.
+	Don't use -Wno-error.
+
+2001-11-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/suffix4.test ($AUTOMAKE): Don't use -Wno-error.
+	* tests/suffix5.test ($AUTOMAKE): Likewise.
+
+2001-11-07  Akim Demaille  <akim@epita.fr>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Don't escape quotes in
+	AC_MSG_ERROR.
+	Reported by Jim Meyering.
+
+2001-11-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/distdir.am (am__remove_distdir): Define in topdir only.
+
+2001-11-05  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/am/distdir.am (am__remove_distdir):
+	New macro.  Do not change permission of non-directories.
+	Change only user permission, as there's no point to changing group
+	or other permission.
+	(distdir, dist, dist-bzip2, dist-tarZ, dist-shar, dist-zip, dist-all,
+	 distcheck): Use it.
+
+2001-11-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/python.am: Cleanup the cleaning section.
+	* automake.texi (Python): Remove documentation for PYCFILES
+	and PYOFILES.  Update the first paragraphes.
+
+2001-11-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (FOREIGN, GNU, GNITS, AC_CANONICAL_HOST,
+	AC_CANONICAL_SYSTEM, MOSTLY_CLEAN, DIST_CLEAN): Define as constants.
+	Adjust usage everywhere.
+
+2001-11-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (libtool_files, libtool_sometimes, common_files,
+	common_sometimes, config_aux_path): Use qw to simplify definition.
+	(scan_texinfo_file) <clean_suffixes, predefined_index,
+	hidden_index>: Likewise.
+	(scan_autoconf_traces) <traced>: Likewise.
+	(scan_one_autoconf_file, check_gnu_standards, resolve_linker):
+	Likewise.
+
+2001-11-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_single_transform_list): Pass $nonansi_obj to
+	derive_suffix.  Don't use an hardcoded 'o' for object extensions.
+	(derive_suffix): Accept $OBJ as a second argument, don't
+	hardcode 'o'.
+	* tests/suffix5.test: New test.
+	* tests/Makefile.am (TESTS): Add suffix5.test.
+	Reported by Arkadiusz Miskiewicz <misiek@pld.ORG.PL>.
+
+2001-11-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_single_transform_list): Don't call
+	$lang->target_hook for undefinied langages.
+	* tests/suffix4.test: New test.
+	* tests/Makefile.am (TESTS): Add suffix4.test.
+	Reported by Dmitry Mikhin <dmitrym@acres.com.au>.
+
+2001-11-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@common_sometimes, &handle_configure): No longer
+	use stamp-hin.
+	* lib/am/remake-hdr.am: Adjust.
+	* tests/confh.test: There is no stamp.hin.
+
+2001-11-01  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/lex.am, lib/am/yacc.am: Use the output file name in
+	`#line' and multiple inclusion guards.
+	* lib/ylwrap: Remove debugging code.
+	(input_dir, input_rx): Move where used.
+	Use the output file name in `#line'.
+
+2001-10-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (transform): Update documentation.
+
+2001-10-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/gcj.m4 (AM_PROG_GCJ): Define GCJFLAGS if unset.
+	Reported by Olivier Louchart-Fletcher <olivier@zipworld.com.au>.
+
+2001-10-30  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&create): Reinstall.
+
+2001-10-30  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&append_exeext): Use macro_delete.
+
+2001-10-30  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($verbose): Remove, inherited from
+	Automake::General.
+	(&variable_delete): Rename as...
+	(&macro_delete): this, for consistency.
+	(&variable_assert): New.
+	(&variable_value_as_list, &variable_value_as_list_recursive_worker):
+	Use it.
+
+2001-10-29  Akim Demaille  <akim@epita.fr>
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Use AC_RUN_LOG to avoid
+	cluttering configure's stdout.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Various formatting changes.
+	(create): Remove, unused.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&append_exeext): New.
+	(&am_primary_prefixes): Use it.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (am_primary_prefixes): Now, in accordance with its
+	comment, return the list of prefixes actually used, not all the
+	possible prefixes for a primary.
+	(&handle_libraries, &handle_ltlibraries, &handle_java)
+	(&am_install_var): Adjust.
+	* Makefile.am (maintainer-check): Allow `local $_;'.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Various formatting changes.
+	(&variable_defined): Second argument is optional.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_primary_prefixes): Now returns a list, not a
+	hash.
+	(&handle_libraries, &handle_ltlibraries, &handle_java)
+	(&am_install_var): Adjust.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@libtoolize_files, @libtoolize_sometimes): Rename
+	as...
+	(@libtool_files, @libtool_sometimes): these.
+	($libtool_location): Remove, completely replaced by $seen_libtool.
+	(&require_file_internal): Do not run libtoolize, that's
+	autoreconf's job.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* tests/acoutnoq.test, tests/acoutput.test, tests/acoutqnl.test,
+	* tests/acouttbs.test, tests/auxdir.test, tests/colon.test,
+	* tests/colon2.test, tests/colon3.test, tests/colon4.test,
+	* tests/colon5.test, tests/colon6.test, tests/colon7.test,
+	* tests/conf2.test, tests/config.test, tests/depcomp.test,
+	* tests/depcomp2.test, tests/discover.test, tests/fpinst2.test,
+	* tests/fpinstall.test, tests/ldadd.test, tests/libobj7.test,
+	* tests/libobj8.test, tests/output.test, tests/output2.test,
+	* tests/output3.test, tests/output4.test, tests/output5.test,
+	* tests/pr2.test, tests/remake.test, tests/remake2.test,
+	* tests/remake3.test, tests/scripts.test, tests/stamph.test,
+	* tests/subdir.test, tests/subdir2.test, tests/subdir4.test,
+	* tests/tagsub.test, tests/texinfo8.test: Remove PACKAGE and VERSION
+	assignments.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_autoconf_traces): Use eq for equality.
+	Anchor regexps.
+	Remove dead comment.
+	(&initialize_per_input): Don't initialize several times the same
+	vars.
+
+2001-10-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (scan_one_autoconf_file): When using %generalize, be
+	sure to replace only words.  AC_FUNC_OBSTACK was matching
+	M4_AC_FUNC_OBSTACK.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* tests/stamph2.test: Strengthen.
+	* tests/confh2.test, tests/confh3.test: Remove.
+	These are bad tests: they don't check the effects, but some
+	internal details in Makefile.
+	And they are covered by stamph2.test.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	Now that stamp-h's are created by config.status, we don't need to
+	handle them in Makefile's.
+
+	* lib/am/remake-hdr.am (%STAMP%): Just run config.status.
+	* m4/header.m4 (_AM_STAMP): New.
+	(_AM_CONFIG_HEADER): Use it.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&generate_makefile, &handle_texinfo_helper)
+	(&handle_man_pages, &handle_dist, &handle_configure, &handle_all)
+	(&define_pretty_variable, &read_am_file, &file_contents_internal)
+	(&am_install_var, &push_dist_common, &unquote_m4_arg): Simplify
+	`join (' ', @list)' into `"@list"'.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@config_fullnames, @config_names): Remove.
+	(@config_headers): Now contains the actual spec used in
+	AC_CONFIG_HEADERS.
+	(&split_config_file_spec): New.
+	(&handle_tags, &handle_configure, &handle_all, &scan_autoconf_traces)
+	(&scan_one_autoconf_file): Adjust.
+	(&scan_one_autoconf_file): Pff, don't think _AM_CONFIG_HEADER is
+	AM_CONFIG_HEADER.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* m4/header.m4 (_AM_CONFIG_HEADER): New.
+	(AM_CONFIG_HEADER): Use it.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_configure): Use the config.status 2.50
+	invocation syntax for config files and headers.
+	autoheader needs the name of the file to create, not from what it
+	must be created, hence CONFIG_HEADER_FULL is $one_name, not
+	$one_fullname.
+	* lib/am/configure.am, lib/am/remake-hdr.am: Likewise.
+	* tests/confsub.test (SUBDIRS): Adjust to the new config.status
+	invocation.
+	Strengthen: Use the non-default config.hin source.
+	Strengthen: Make sure config.h is properly updated when config.hin
+	is changed.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_configure): Seeing Automake files in
+	@other_input_files is a programming error, not merely something to
+	ignore.
+	Factor slightly the code.
+
+2001-10-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($canonical_location): New.
+	Use it.
+	(&require_config_file, $line_error): Remove.
+
+2001-10-24  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Use &verbose.
+	(&generate_makefile, &scan_texinfo_file, &scan_aclocal_m4): Use
+	Automake::XFile.
+
+2001-10-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/python.am (install-%DIR%PYTHON, uninstall-%DIR%PYTHON):
+	Have the basename step optional and use %NDIR% instead of %DIR% in
+	filenames in order to support 'nobase_'.
+
+2001-10-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_languages, handle_single_transform_list,
+	lang_c_rewrite): Use require_conf_file instead of
+	require_config_file to require depcomp or compile from
+	Makefile.am.  (This is a part of my patch of 2001-10-15 which got
+	mistakenly reverted.)
+
+2001-10-24  Akim Demaille  <akim@epita.fr>
+
+	* tests/confh.test: Since 2001-10-20 Kevin Ryde, stamp-h is
+	stamp-h1.
+
+2001-10-24  Akim Demaille  <akim@epita.fr>
+
+	Since the ansi2knr patch from 2001-10-20 Kevin Ryde, `$U' can
+	appear in Makefile.in in the clean rule.
+
+	* tests/cxxansi.test: Adjust.
+
+2001-10-24  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_print_error, &am_file_error, &am_macro_error)
+	(&am_target_error, &am_line_error, &am_conf_error, &am_file_warning):
+	Rename as...
+	(&print_error, &file_error, &macro_error, &target_error, &line_error)
+	(&conf_error, &file_warning): these.
+	(&file_warning): Fix the prototype and argument handling.
+	(&am_line_warning): Remove, unused.
+
+	Also, repair the misapplication of previous patches.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($ac_output_location): Replace with...
+	($ac_config_files_location): this.
+	(&scan_autoconf_traces): We don't need $file and $line, $here is
+	enough.
+	(&scan_one_autoconf_file): Use `$in_ac_output' to store the macro
+	name (AC_OUTPUT or AC_CONFIG_FILES) for error messages.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&require_file_with_macro): Use &require_file.
+	(&read_am_file): Move the definition of $here at its proper place.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($libtool_line, $seen_pythondir): Replace with...
+	($libtool_location, $pythondir_location): these.
+	(&require_conf_file_with_line, &require_conf_file_with_line):
+	Remove, unused.
+	(&require_file): Don't forget $where.
+	(&require_conf_file): Ahem...  Fix the name.
+	(&require_config_file): Invoke &require_conf_file, not yourself.
+	(&am_line_error): Fix the default am_file_error invocation.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($seen_lispdir): Replace with...
+	($am_lispdir_location): this.
+	(&require_conf_file): New.
+	(&require_config_file, &require_conf_file_with_line,
+	(&require_conf_file_with_conf_line): Use it.
+	(&require_conf_file_with_macro): New.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($config_header_line, $ac_output_line)
+	($ac_gettext_line, $package_version_line): Replace with...
+	($config_header_location, $ac_output_location)
+	($ac_gettext_location, $package_version_location): these.
+	(&require_file_with_conf_line, &require_file_with_line): Remove,
+	no longer used.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&require_file_internal): Instead of $file and $line,
+	take $where as first argument.
+	Adjust all callers.
+	(&require_file_with_macro): New.
+	Use it where internal black magic was used to recover the location
+	of a macro definition.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_am_file): Define and use `$here'.
+	Avoid using am_line_error.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_target_error): New.
+	Use it where appropriate instead of...
+	(&am_line_error): this.
+	Using it for a target is a croak error.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_macro_error): New.
+	Use it where appropriate instead of...
+	(&am_line_error): this.
+	Using it for a macro is a croak error.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* tests/asm.test: s/AC_PROG_AS/AM_PROG_AS/.
+	AC_OUTPUT a Makefile.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%var_line): Rename as...
+	(%var_location): this.
+	Use it consistently as the location where the macro is defined,
+	file and line when possible, otherwise just file.
+	(&read_am_file): Rules have their own location tracking, don't
+	pollute %var_location.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (am_line_error): Clarify.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_print_error): Set $exit_status since all your
+	users do.
+	(&am_error, &am_file_error, &am_line_error, &am_conf_error):
+	Don't.
+	(&am_conf_line_error, &am_conf_line_warning): Remove.
+	Adjust callers to use &am_file_error and...
+	(&am_file_warning): new.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* m4/regex.m4: Use AC_LIBOBJ.
+	Require 2.50, and use AC_LIBSOURCES freely.
+	* tests/asm.tests: Formatting changes.
+	Exercise AM_PROG_AS.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* tests/install.test: This test is an empty shell, do not run
+	automake.
+	* tests/Makefile.am (TESTS): Don't run it.
+	* tests/defs (ACLOCAL): When using gettext, pass in the installed
+	aclocaldir.
+	* tests/subdircond.test (SUBDIRS): AM_GNU_GETTEXT needs automake
+	--add--missing.
+	* tests/obsolete2.test: Remove, merged into...
+	* tests/obsolete.test: here.
+	Both aclocal and automake should complain.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (scan_autoconf_traces): Don't recognize AC_SUBSTs
+	for symbols which cannot be Make macro names.
+	(scan_one_autoconf_file): `$here' is new.
+	Use it consistently instead of `1' to remember a token was seen.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* tests/subdircond.test: Requires gettext.
+	* tests/libobj.test, tests/libobj10.test, tests/libobj2.test,
+	* tests/libobj6.test, tests/libobj9.test, tests/libtool.test,
+	* tests/libtool2.test, tests/ltdeps.test, tests/ltlibobjs.test,
+	* tests/nolink.test, tests/obsolete.test, tests/pr72.test,
+	* tests/sinclude.test, tests/subdircond.test, tests/subobj4.test:
+	Produce valid configure.in, use aclocal appropriately, declare
+	when libtool is required.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* m4/lex.m4: Don't run AC_DECL_YYTEXT, Autoconf does.
+	* automake.texi (Macros, Yacc and Lex): Adjust.
+	* automake.in ($seen_decl_yytext): Rename as...
+	($seen_prog_lex): this.
+	(&scan_autoconf_traces): Add AC_PROG_LEX support.
+	(&scan_one_autoconf_file, &lang_lex_finish): Adjust.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_autoconf_traces): Add support for
+	AM_PATH_LISPDIR and AM_PATH_PYTHON.
+
+2001-10-21  Akim Demaille  <akim@epita.fr>
+
+	* tests/defs (ACLOCAL): Point to the installed aclocaldir if
+	libtool is required.
+	* tests/lex.test: Run AC_INIT once.
+	* tests/ldflags.test, tests/listval.test, tests/suffix2.test:
+	Libtool is required.
+	* tests/header.test: Build a correct configure.in.
+	* tests/defun2.test (configure.in): Be a bit respectful with
+	Autoconf, close the macro invocations.
+	* tests/confdeps.test: Even when not using aclocal, aclocal.m4
+	must be correct.
+
+	* automake.in (scan_autoconf_traces): Add support for
+	AC_CANONICAL_HOST, AC_CANONICAL_SYSTEM, A[CM]_PROG_LIBTOOL,
+	AM_CONFIG_HEADER, AM_MAINTAINER_MODE.
+	* tests/condincl.test (target): Better pattern, to avoid matching
+	the definition of `target_alias' which is now properly discovered
+	as an AC_SUBST by traces.
+	* cond4.test: Better grep pattern: After all, why shouldn't
+	TWO_FALSE be AC_SUBST properly.
+	* tests/installsh.test (AUTOMAKE, ACLOCAL): Adjust.
+
+2001-10-20  Kevin Ryde <user42@zip.com.au>
+
+	* lib/am/ansi2knr.am (mostlyclean-kr): Only rm *_.c when
+	actually using ansi2knr.
+
+	* automake.in (handle_configure): Always put a number on $stamp_name,
+	to match AM_CONFIG_HEADER.
+
+2001-10-20  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added condd.test.
+	(XFAIL_TESTS): Added condd.test.
+	* tests/condd.test: New file.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_autoconf_traces): Add support for
+	AM_C_PROTOTYPES, AM_GNU_GETTEXT, AM_PROG_CC_C_O, and
+	AC_CONFIG_AUX_DIR.
+	* tests/alpha.test (configure.in): Automake wants a Makefile.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (scan_autoconf_traces): Use an unlikely to be used
+	separator between trace arguments, in particular not `:' as it is
+	within AC_CONFIG_FILES's $1.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* tests/alpha.test (configure.in): Create, don't append.  A single
+	AC_INIT is enough.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* tests/acoutnoq.test, tests/acoutput.test, tests/acoutput2.test,
+	* tests/acoutqnl.test, tests/acouttbs.test, tests/all.test,
+	* tests/alpha.test, tests/ansi.test, tests/asm.test,
+	* tests/auxdir.test, tests/auxdir2.test, tests/backsl2.test,
+	* tests/badline.test, tests/block.test, tests/canon2.test,
+	* tests/check.test, tests/checkall.test, tests/clean.test,
+	* tests/colneq.test, tests/colneq2.test, tests/colon.test,
+	* tests/colon2.test, tests/colon3.test, tests/colon4.test,
+	* tests/colon5.test, tests/colon6.test, tests/colon7.test,
+	* tests/comment.test, tests/comment3.test, tests/cond.test,
+	* tests/cond2.test, tests/cond6.test, tests/cond7.test,
+	* tests/condincl.test, tests/condincl2.test, tests/condman.test,
+	* tests/condman2.test, tests/confdist.test, tests/confh.test,
+	* tests/confh2.test, tests/confh3.test, tests/confvar.test,
+	* tests/confvar2.test, tests/copy.test, tests/ctarget1.test,
+	* tests/cxxcpp.test, tests/dash.test, tests/dejagnu.test,
+	* tests/dejagnu2.test, tests/distcommon.test, tests/distdir.test,
+	* tests/else.test, tests/empty.test, tests/exdir.test,
+	* tests/exdir2.test, tests/extra3.test, tests/extra4.test,
+	* tests/flibs.test, tests/fnoc.test, tests/fo.test,
+	* tests/fonly.test, tests/fortdep.test, tests/fpinst2.test,
+	* tests/fpinstall.test, tests/gcj2.test, tests/gnits.test,
+	* tests/include.test, tests/info.test, tests/insh.test,
+	* tests/insh2.test, tests/install.test, tests/installsh.test,
+	* tests/instdata.test, tests/instdata2.test, tests/instexec.test,
+	* tests/insthook.test, tests/instman.test, tests/instman2.test,
+	* tests/java.test, tests/javaprim.test, tests/javasubst.test,
+	* tests/libobj3.test, tests/link_f_only.test, tests/lisp.test,
+	* tests/man.test, tests/mclean.test, tests/mdate.test,
+	* tests/mdate2.test, tests/mdate3.test, tests/mdate4.test,
+	* tests/mkinst2.test, tests/mkinstall.test, tests/nodepcomp.test,
+	* tests/noinst.test, tests/obsolete.test, tests/obsolete2.test,
+	* tests/outdir.test, tests/output.test, tests/output2.test,
+	* tests/output3.test, tests/output4.test, tests/output5.test,
+	* tests/package.test, tests/pluseq.test, tests/pluseq2.test,
+	* tests/pluseq3.test, tests/pluseq5.test, tests/pluseq6.test,
+	* tests/pluseq8.test, tests/ppf77.test, tests/pr2.test,
+	* tests/primary.test, tests/proginst.test, tests/python.test,
+	* tests/remake.test, tests/remake2.test, tests/remake3.test,
+	* tests/rulepat.test, tests/scripts.test, tests/seenc.test,
+	* tests/sinclude.test, tests/spell.test, tests/spell3.test,
+	* tests/spelling.test, tests/stamph.test, tests/subdir.test,
+	* tests/subdir2.test, tests/subdircond.test, tests/subst.test,
+	* tests/symlink.test, tests/symlink2.test, tests/symlink3.test,
+	* tests/syntax.test, tests/tags.test, tests/tagsub.test,
+	* tests/texinfo.test, tests/texinfo10.test, tests/texinfo2.test,
+	* tests/texinfo3.test, tests/texinfo4.test, tests/texinfo5.test,
+	* tests/texinfo6.test, tests/texinfo7.test, tests/texinfo8.test,
+	* tests/texinfo9.test, tests/vars.test, tests/vartar.test,
+	* tests/version.test, tests/version2.test, tests/version3.test,
+	* tests/version4.test, tests/vpath.test, tests/vtexi.test,
+	* tests/vtexi2.test, tests/werror.test: Run aclocal before automake.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* tests/acoutnoq.test, tests/acoutput.test, tests/acoutqnl.test,
+	* tests/acouttbs.test, tests/asm.test, tests/colon.test,
+	* tests/colon2.test, tests/colon3.test, tests/colon4.test,
+	* tests/colon5.test, tests/colon6.test, tests/colon7.test,
+	* tests/conf2.test, tests/confh.test, tests/confh2.test,
+	* tests/confh3.test, tests/confh4.test, tests/config.test,
+	* tests/confsub.test, tests/depend3.test, tests/discover.test,
+	* tests/fpinst2.test, tests/fpinstall.test, tests/gnits.test,
+	* tests/header.test, tests/ldadd.test, tests/ldflags.test,
+	* tests/libobj.test, tests/libobj10.test, tests/libobj2.test,
+	* tests/libobj6.test, tests/libobj7.test, tests/libobj8.test,
+	* tests/libobj9.test, tests/mdate4.test, tests/obsolete.test,
+	* tests/output.test, tests/output2.test, tests/output3.test,
+	* tests/output4.test, tests/output5.test, tests/package.test,
+	* tests/parse.test, tests/pr2.test, tests/remake.test,
+	* tests/remake2.test, tests/remake3.test, tests/scripts.test,
+	* tests/stamph.test, tests/subdir.test, tests/subdir2.test,
+	* tests/subdir4.test, tests/subdirbuiltsources.test,
+	* tests/subobj4.test, tests/tagsub.test, tests/texinfo8.test,
+	* tests/yacc5.test, tests/yacc6.test, tests/yacc7.test: Remove
+	AC_ARG_PROGRAM, AC_PROG_INSTALL and AC_PROG_MAKE_SET invocation
+	since AM_INIT_AUTOMAKE requires them.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* tests/defs (configure.in): Use credible AM_INIT_AUTOMAKE
+	arguments.
+	Don't run AC_ARG_PROGRAM another time, it is required by
+	AM_INIT_AUTOMAKE.
+	* tests/aclocal.test: Work on the default configure.in
+	* tests/config.test (configure.in): Don't AC_ARG_PROGRAM.
+	First AM_INIT_AUTOMAKE, then AM_CONFIG_HEADER.
+
+	Be realistic in testing: AC_INIT is required for Autoconf.
+	Broken so called optimized tests break trace handling.
+
+	* tests/aclibobj.test, tests/aclocal.test, tests/acoutnoq.test,
+	* tests/acoutput.test, tests/acoutput2.test, tests/acoutqnl.test,
+	* tests/acouttbs.test, tests/acsilent.test, tests/alpha.test,
+	* tests/colon.test, tests/colon2.test, tests/colon3.test,
+	* tests/colon4.test, tests/colon5.test, tests/colon6.test,
+	* tests/colon7.test, tests/cond.test, tests/cond2.test,
+	* tests/cond3.test, tests/cond5.test, tests/conf2.test,
+	* tests/confh.test, tests/confh2.test, tests/confh3.test,
+	* tests/confh4.test, tests/config.test, tests/confsub.test,
+	* tests/ctarget1.test, tests/depcomp.test, tests/depend3.test,
+	* tests/distcommon.test, tests/dup3.test, tests/fpinst2.test,
+	* tests/fpinstall.test, tests/header.test, tests/ldflags.test,
+	* tests/libobj.test, tests/libobj10.test, tests/libobj2.test,
+	* tests/libobj6.test, tests/libobj7.test, tests/libobj8.test,
+	* tests/libobj9.test, tests/output.test, tests/output2.test,
+	* tests/output3.test, tests/output4.test, tests/parse.test,
+	* tests/pr2.test, tests/recurs.test, tests/recurs2.test,
+	* tests/remake.test, tests/remake2.test, tests/remake3.test,
+	* tests/req.test, tests/scripts.test, tests/subdir.test,
+	* tests/subdir2.test, tests/subdir4.test, tests/subobj4.test,
+	* tests/tagsub.test, tests/texinfo8.test, tests/version.test,
+	* tests/version2.test: Add AC_INIT in `configure.in'.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_autoconf_traces): Add support for
+	AM_INIT_AUTOMAKE, AM_CONDITIONAL.
+	Let @args have a more natural M4 correspondence: $1 is args[1], no
+	args[0] etc.
+	(&scan_autoconf_files): Using autoconf traces is no longer a
+	complement of the previous ad hoc scheme: use either.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_one_autoconf_file): `%generalize' is new, and
+	factors dedicated $libsources assignments.
+
+2001-10-20  Akim Demaille  <akim@epita.fr>
+
+	* m4/error.m4, m4/obstack.m4, m4/ptrdiff.m4, m4/strtod.m4:
+	Remove, since Autoconf 2.52 has them.
+	* automake.in, aclocal.in, automake.texi: Adjust.
+
+2001-10-19  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_main_am_file): s/generated automatically/
+	generated/.
+	Insert @configure_input@, since 2.50 no longer output this
+	automatically for Makefiles.
+
+2001-10-19  Kevin Ryde <user42@zip.com.au>
+
+	* lib/am/check.am (check-TESTS): Add an "else true" to work with
+	Ultrix 4.5 /bin/sh when $(TESTS) is empty.
+
+2001-10-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/Makefile.am (TESTS, XFAIL_TESTS): Add nobase.test.
+	* tests/nobase.test: New file.  Based on a bug report
+	from Martin Frydl <martin@idoox.com>.
+
+2001-10-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (am_install_var): Don't strip nobase_ from $X, do
+	this with $nodir_name only.  Use $nodir_name where appropriate.
+
+2001-10-15  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_languages, handle_single_transform_list,
+	lang_c_rewrite): Use require_conf_file instead of
+	require_config_file to require depcomp or compile from Makefile.am.
+	(require_aux_file_with_line): New function, adapted from
+	require_conf_gile_with_line.
+	(require_conf_file_with_line, require_conf_file_with_conf_line):
+	Simplify using require_aux_file_with_line.
+	(require_config_file): Simplify using require_conf_file_with_conf_line.
+	(require_conf_file): New function.
+
+2001-10-15  Akim Demaille  <akim@epita.fr>
+
+	* m4/depend.m4 (AM_DEP_TRACK): Use AC_SUBST([AMDEPBACKSLASH])
+	normally, what is wrong is that automake outputs a variable
+	definition for it, hence...
+	* automake.in (scan_one_autoconf_file): don't.
+
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): New, extracted
+	from...
+	(AM_OUTPUT_DEPENDENCY_COMMANDS): here.  Adjust.
+	Use AC_CONFIG_COMMANDS.
+	(_AM_OUTPUT_DEPENDENCY_COMMANDS): Use AS_DIRNAME and AS_MKDIR_P.
+
+2001-10-15  Akim Demaille  <akim@epita.fr>
+
+	* m4/header.m4 (AM_CONFIG_HEADER): Don't use m4_patsubst.
+
+2001-10-15  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_conditions): Be deterministic and Perl
+	version independent: sort the result.
+	(&variable_output, &variable_pretty_output): Sort all the @conds,
+	not only when defaulted.
+	* tests/cond3.test: Adjust.
+
+2001-10-15  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Formatting changes.
+
+2001-10-15  Akim Demaille  <akim@epita.fr>
+
+	* aclocal.in: Use Automake::General and Automake::XFile.
+	Use find_configure_ac.
+	Output the Emacs tags for Autoconf mode selection.
+
+2001-10-10  Akim Demaille  <akim@epita.fr>
+
+	* lib/COPYING, COPYING, lib/config.guess, lib/config.sub: Update
+	from master copies.
+
+2001-10-09  Akim Demaille  <akim@epita.fr>
+
+	Do not use Autoconf internals.
+
+	* tests/dirname.test: Don't use AC_PLAIN_SCRIPT.
+	* m4/header.m4 (_AM_DIRNAME): Use regexp and patsubst, not
+	m4_regexp and m4_patsubst, since the latter are reserved for ERE
+	macro in GNU M4 1.5.
+
+2001-10-08  Akim Demaille  <akim@epita.fr>
+
+	* m4/cond.m4 (AM_CONDITIONAL): Don't use m4_match as Autoconf
+	changed its name.
+
+2001-10-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (scan_autoconf_files): Use find_configure_ac from
+	General.
+
+2001-10-02  Akim Demaille  <akim@epita.fr>
+
+	* lib/Automake/Struct.pm: Update from Autoconf.
+	* lib/Automake/General.pm, lib/Automake/XFile.pm: New, from CVS
+	Autoconf.
+	* automake.in: Use them.
+	(&uniq, $me): Remove, as they are provided by Automake::General.
+
+2001-10-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Don't check for 'cd' calls in m4.
+	* lib/am/tags.am (GTAGS): Use $(am__cd) instead of 'CDPATH=: && cd'.
+	* lib/am/dejagnu.am (check-DEJAGNU): Likewise.
+	* lib/am/distdir.am (distcheck): Likewise.
+	* lib/am/texinfos.am (install-info-am, dist-info): Rewrite without
+	using cd so we don't have to fiddle with CDPATH.
+	* lib/am/header-vars.am (am__cd): Define so as to support Zsh and
+	DOSish path separator.
+
+2001-10-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/python.am (install-%DIR%PYTHON,
+	uninstall-%DIR%PYTHON): Strip path of source file.
+	(clean-python): Comment out.
+
+2001-10-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_python): Use require_conf_file_with_conf_line
+	instead of require_file_with_conf_line, so that elisp-comp and
+	py-compile are installed in the aux-directory.
+	(handle_emacs_lisp): Likewise.  Define elisp_comp.
+	* lib/am/lisp.am (.el.elc): Use elisp_comp.
+
+2001-10-01  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/distdir.am (distcheck): Report the trailing files.
+	Run `dist-gzip', not `dist', as it may leave other distribution
+	flavors.
+
+2001-09-29  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/mkinstalldirs: Use "mkdir -p" if it works, as that fixes
+	bugs when making file names with unusual characters.  Quote chmod
+	arg "$dirmode", in case it contains white space.
+
+	Incorporate the following change from autoconf mkinstalldirs:
+
+	1999-04-10  Ben Elliston  <bje@cygnus.com>
+
+	Add `-m' flag to specify the mode of a newly created
+	directory.  Add command line usage and `-h', `--help' options.
+	Contributed by Jeff Garzik.
+
+2001-09-27  Akim Demaille  <akim@epita.fr>
+
+	* m4/cond.m4, m4/init.m4, m4/header.m4: Remove Autoconf 2.13 code.
+
+2001-09-27  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/distdir.am (dist): Rename as...
+	(dist-gzip): this.
+	(dist): Additional name for dist-all.
+	* automake.texi (Options, Dist): Adjust.
+
+2001-09-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in (obsolete_macros): Update AM_EXEEXT message.
+	* automake.in (obsolete_macros): Likewise.
+	(seen_objext): Remove (unused).
+	(scan_one_autoconf_file): Don't handle AC_OBJEXT.
+	* lib/am/header-vars.am (EXEEXT, OBJEXT,
+	PATH_SEPARATOR): New variables.
+	* tests/obsolete2.test: Use AM_FUNC_FNMATCH instead of AM_EXEEXT.
+
+2001-09-23  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* m4/auxdir.m4, m4/init.m4: Require autoconf 2.50 and rely on it to
+	neutralize CDPATH for us.
+	* m4/init.m4: Don't substitute EXEEXT or OBJEXT anymore.
+	* lib/am/texibuild.am: Use $(PATH_SEPARATOR), not ':' to build
+	TEXINPUTS.
+
+2001-09-22  Akim Demaille  <akim@epita.fr>
+
+	* configure.in, NEWS: Bump to 1.5a.
+	Require 2.52.
+
+2001-09-22   Paul Eggert  <eggert@twinsun.com>
+
+	* ChangeLog, ChangeLog.1996, ChangeLog.1998, ChangeLog.2000,
+	Makefile.am, NEWS, README, TODO, configure.in, lib/Makefile.am,
+	lib/acinstall, lib/am/Makefile.am, m4/Makefile.am, m4/as.m4,
+	m4/auxdir.m4, m4/ccstdc.m4, m4/cond.m4, m4/depend.m4,
+	m4/depout.m4, m4/dmalloc.m4, m4/error.m4, m4/gcj.m4, m4/header.m4,
+	m4/init.m4, m4/install-sh.m4, m4/lex.m4, m4/lispdir.m4,
+	m4/maintainer.m4, m4/make.m4, m4/minuso.m4, m4/missing.m4,
+	m4/multi.m4, m4/obstack.m4, m4/protos.m4, m4/ptrdiff.m4,
+	m4/python.m4, m4/regex.m4, m4/sanity.m4, m4/strip.m4,
+	m4/termios.m4, m4/winsz.m4: Add copyright notice.
+
+	* INSTALL, lib/INSTALL: Upgrade to latest autoconf version,
+	which has a copyright notice.
+
+	* m4/strtod.m4: Correct the dates on the copyright notice.
+
+2001-09-17  Akim Demaille  <akim@epita.fr>
+
+	* lib/missing (autom4te): New.
+	(aclocal, autoconf, automake, autoheader, help2man): Propagate
+	actual failures.
+
+2001-08-27  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (A Shared Library): Clarify installation
+	requirement.
+	(Install): Typo.  From Adrian Bunk.
+
+2001-08-27  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Macros): Typo fix.
+	From Christian Cornelssen
+
+2001-08-27  Tom Tromey  <tromey@redhat.com>
+
+	* tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test,
+	tests/cond4.test, tests/cond16.test, tests/cond18.test,
+	tests/cond19.test, tests/depcomp2.test, tests/depend2.test,
+	tests/lex3.test, tests/pr87.test, tests/subobj3.test,
+	tests/substref.test: Clear CFLAGS.
+
+	* automake.texi (Yacc and Lex): Mention lex, not yacc.
+	From Alexey Mahotkin.
+
+2001-08-27  Tom Tromey  <tromey@redhat.com>
+
+	* tests/yacc7.test: Use test -f, not test -e.
+
+2001-08-27  Adrian Bunk  <bunk@fs.tum.de>
+
+	* automake.texi (etags): Typo fix.
+
+2001-08-27  Guido Draheim <guidod@gmx.de>
+
+	* automake.in : restrict ansi2knr option to be a filepath
+
+2001-08-23  Richard Boulton <richard@tartarus.org>
+
+	* tests/yacc7.test: Actually add this file: was accidentally omitted.
+
+2001-08-22  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Conditionals): Mention that conditionals must
+	always be invoked.  For PR automake/220.
+
+2001-08-22  Richard Boulton <richard@tartarus.org>
+	    Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (lang_yacc_target_hook): Make header file depend on
+	.c file, not .y file.
+	* lib/am/yacc.am: Non-generic rule changed to depend on %OBJ% (the
+	.c file) rather than %SOURCE% (the .y file)  Removed `.y.h' rule.
+	* tests/yacc7.test: New file.
+	* tests/Makefile.am (TESTS): Added yacc7.test.
+
+2001-08-22  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* m4/missing.m4: Require AM_AUX_DIR_EXPAND and use $am_aux_dir.
+
+2001-08-18  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Dist): Mention dist-all.
+
+2001-08-18  Tom Tromey  <tromey@redhat.com>
+
+	* tests/cond3.test: Use portable sed expression.
+	From Richard Boulton.
+
+2001-08-13  Richard Boulton <richard@tartarus.org>
+
+	* automake.in (handle_source_transform): Call
+	define_objects_from_sources() instead of calling
+	variable_value_as_list(), handle_single_transform_list() and
+	define_pretty_variable() directly.
+	(handle_single_transform_list): Add $topparent parameter, used for
+	error messages.  Improved error message.
+	(define_objects_from_sources): New function.
+	(subobjname): New function.
+	(variable_conditions_recursive): New name for variable conditions.
+	(variable_value_as_list_recursive): New name for variable_value_as_list.
+	(variable_value_as_list_worker): Renamed to ...
+	(variable_value_as_list_recursive_worker): ... this.
+	(variable_conditions_sub): Renamed to ...
+	(variable_conditions_recursive_sub): ... this.
+	(variable_conditions): Rewritten: now doesn't recurse subvariables.
+	(variable_value_as_list): Rewritten: now doesn't recurse subvariables.
+	(substfroms): New global.
+	(substtos): New global.
+	(substnums): New global.
+	* tests/cond3.test: Update to work with new method of defining _OBJECTS.
+	* tests/cond4.test: Update to work with new method of defining _OBJECTS.
+	* tests/sourcesub2.test: New test.
+	* tests/Makefile.am (TEST): Added sourcesub2.test.
+
+2001-08-11  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Upped to 1.4s.
+
+2001-08-09  Richard Boulton <richard@tartarus.org>
+
+	* automake.in (handle_single_transform_list): Use new global,
+	`%linkers_used', to store the linkers used, rather than an internal
+	variable.  Enables correct linker to be calculated across a group
+	of calls to &handle_single_transform_list.  Return only list of
+	objects, since linker to be used is now externally determined.
+	(handle_source_transform): adapted for new calling conventions of
+	handle_single_transform_list.  Calls resolve_linker() on a set of
+	all the linkers used for any prefix, rather than for each prefix in
+	turn.
+	(linkers_used): New global.
+	* tests/link_dist.test: New test.
+	* tests/Makefile.am (TESTS): Added link_dist.test.
+
+2001-08-08  Raja R Harinath  <harinath@cs.umn.edu>
+
+	Dissociate testsuite 'make' invocations from outer 'make'.
+	* tests/defs: Unset the MFLAGS, MAKEFLAGS and MAKELEVEL
+	environment variables.
+	* tests/cond16.test: Use '$MAKE -s', and avoid GNU make
+	dependency.
+	* tests/substref.test: Likewise.
+
+2001-08-08  Richard Boulton <richard@tartarus.org>
+
+	* tests/cond18.test: New file.
+	* tests/cond19.test: New file.
+	* tests/cond20.test: New file.
+	* tests/cond4.test: Updated to check the generated _OBJECTS more
+	thoroughly.
+	* tests/Makefile.am (TESTS): Added cond18.test, cond19.test and
+	cond20.test
+
+2001-08-08  Richard Boulton <richard@tartarus.org>
+
+	* automake.in (file_contents_internal): if a rule is conditionally
+	defined, define the standard automake definition for it for those
+	conditions which are not conditionally defined.
+	(invert_conditions): New function: invert a list of conditionals.
+
+	* tests/cond14.test: New file.
+	* tests/cond15.test: New file.
+	* tests/Makefile.am (TESTS): Added cond14.test and cond15.test.
+
+2001-08-05  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added dejagnu2.test.
+	* tests/dejagnu2.test: New file.
+	* lib/am/dejagnu.am (site.exp): Don't conditionalize.
+	* automake.in (handle_scripts): Removed dead code.
+	(handle_tests_dejagnu): Don't handle site.exp generation
+	specially.
+
+2001-08-04  Richard Boulton <richard@tartarus.org>
+
+	* tests/cond17.test: New file: test for being able to define an
+	object to be generated in different ways according to a
+	conditional.
+	* tests/Makefile.am (XFAIL_TESTS): Add cond17.test.
+	(TESTS): Added cond17.test.
+
+2001-08-02  Richard Boulton <richard@tartarus.org>
+
+	* automake.in (variable_conditions_sub): Handle variable
+	substitution refs when computing conditions based on subvariable
+	conditions.  Fixes substitution refs of system variables when sub
+	variable is conditional.
+	(SUBST_REF_PATTERN): New global.
+	* tests/cond16.test: New file: regression test for variable
+	substitution refs.
+	* test/Makefile.am (TESTS): Added cond16.test.
+
+2001-08-03  Tom Tromey  <tromey@redhat.com>
+
+	* tests/substref.test: Require GNU make; backed out previous
+	change.
+
+	* tests/substref.test: Handle entering/leaving directory
+	messages.
+
+2001-08-03  Richard Boulton <richard@tartarus.org>
+
+	* automake.in (value_to_list): Check for whether $from is defined,
+	rather than whether it is true, so that empty $froms are allowed in
+	substitution reference patterns.
+
+	* tests/substref.test: New file: test behavior of substitution
+	references when the $from side of the substitution is empty.
+	* tests/Makefile.am (TESTS): Added substref.test.
+
+2001-08-03  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/install-sh.m4: New file.
+	* m4/Makefile.am (m4data_DATA): Add install-sh.m4.
+	* m4/missing.m4 (AM_MISSING_INSTALL_SH): Move ...
+	* m4/install-sh.m4 (AM_PROG_INSTALL_SH): ... here.  Don't check
+	for install.sh any longer, always use install-sh, don't even
+	fall back to missing.  Use $am_aux_dir, making $install_sh absolute.
+	* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Simplify, since $install_sh
+	is absolute.
+	* m4/init.m4: Adjust call to AM_PROG_INSTALL_SH.
+
+2001-08-02  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* automake.texi (EXEEXT): Clarify.
+
+2001-08-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/missing.m4 (AM_MISSING_HAS_RUN): Typo.
+
+	* m4/auxdir.m4: More comments.
+
+2001-07-31  Richard Boulton <richard@tartarus.org>
+            Raja R Harinath <harinath@cs.umn.edu>
+
+	* automake.in (variable_conditions_sub): Remove @parent_conds
+	argument.  This was old logic - duplicate or impossible
+	conditionals are removed later by &variable_conditions_reduce().
+	Fixes tests/cond13.test.
+	(conditionals_true_when): Removed.
+	* tests/Makefile.am (XFAIL_TESTS): Removed cond13.test.
+
+2001-07-31  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added cond13.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/cond13.test: New file.
+
+	* configure.in: Upped to version 1.4k.
+
+	* configure.in: Released 1.4j.
+
+	* lib/config.guess: Updated from master sources.
+	* lib/config.sub: Likewise.
+
+2001-07-30  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (A Program): Typo.  Added subsections and more
+	text about conditional compilation.
+	(A Shared Library): Moved earlier.
+	(Program variables): Updated LINK text.  Added AM_CFLAGS.
+	(C++ Support): Added AM_CXXFLAGS.
+	(Fortran 77 Support): Added AM_FFLAGS and AM_RFLAGS.
+	(EXEEXT): New node.
+
+	* tests/Makefile.am (TESTS): Added aclibobj.test.
+	* tests/aclibobj.test: New file.
+	* automake.in (handle_lib_objects_cond): Avoid undefined variable
+	error.
+	(scan_one_autoconf_file): Handle AC_LIBSOURCE and AC_LIBSOURCES.
+
+	* automake.texi (Dist): Mention other distribution types.
+	(Install): Updates.
+
+2001-07-29  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Program and Library Variables): Texinfo fix.
+	From Alexey Mahotkin.
+
+2001-07-28  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Strictness): Mention Cygnus mode.
+	(Cygnus): Updated.
+	(Uniform): Likewise.
+	(Canonicalization): Likewise.
+	(Install): Add `nobase_' to example; typo fix.
+	(Clean): Typo.
+	(Dist): Expand on putting a directory into EXTRA_DIST.  Insert
+	section markers.
+	(Options): Texinfo fixes; some text updates.
+	(Tags): Update.
+
+2001-07-27  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Invoking Automake): Document --Werror and
+	--Wno-error.
+
+2001-07-26  Tom Tromey  <tromey@redhat.com>
+
+	* tests/nolink.test: Added no-exeext.
+
+	* automake.in (check_variable_defined_unconditionally): Don't call
+	macro_dump.
+
+	* automake.texi (Optional): Don't mention ALL_LINGUAS.
+	(gettext): Likewise.
+	* automake.in (seen_linguas, all_linguas, all_linguas_line):
+	Removed.
+	(handle_gettext): Don't do any checking of the languages.
+	(scan_one_autoconf_file): Don't look for ALL_LINGUAS.
+
+	* automake.in (am_print_error): New function.
+	(am_error): Use it.
+	(am_file_error): Likewise.
+	(am_line_error): Likewise.
+	(am_conf_error): Likewise.
+	(am_conf_line_error): Likewise.
+
+	* automake.texi (Options): Document no-exeext.
+	* automake.in (handle_options): Recognize no-exeext.
+	(rule_define): Handle no-exeext.
+	* tests/Makefile.am (TESTS): Added new file.
+	* tests/exeext2.test: New file.
+
+	* automake.in (make_input_list): Removed.
+	(scan_autoconf_config_files): Don't add to make_input_list.
+	(scan_one_autoconf_file): Don't use make_input_list.
+	(scan_autoconf_files): Use make_list, not make_input_list.
+	(scan_autoconf_files): Likewise.
+
+	* automake.in (seen_exeext): Removed.
+	(generate_makefile): Don't define EXEEXT or OBJEXT.
+	(scan_one_autoconf_file): Don't check for AC_EXEEXT.
+	(am_install_var): Don't check $seen_exeext.
+	(handle_programs): Likewise.
+	(rule_define): Allow x to override x$(EXEEXT), for now.
+	(file_contents_internal): Only define rule if rule_define allows
+	us to.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Define EXEEXT and OBJEXT.
+
+2001-07-25  Tom Tromey  <tromey@redhat.com>
+
+	From Nicolas Joly:
+	* tests/pr9.test: Require GNU make.
+	* tests/dirname.test: Don't use `-u'.
+
+2001-07-22  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added auxdir2.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/auxdir2.test: New file.
+
+	* tests/Makefile.am (XFAIL_TESTS): Removed substtarg.test.
+	* automake.in (TARGET_PATTERN): Add `@' as allowable character.
+
+	* tests/Makefile.am (XFAIL_TESTS): Removed exeext.test.
+	* automake.in (am_install_var): Add $(EXEEXT) even if program name
+	holds `.'.  Don't add $(EXEEXT) if program name already has it.
+	(handle_programs): Don't add $(EXEEXT) if user already did.
+	(make_paragraphs): Don't compute EXEEXT.
+
+	* tests/Makefile.am (TESTS): Added exeext.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/exeext.test: New file.
+
+2001-07-22  Tom Tromey  <tromey@redhat.com>
+
+	* lib/am/progs.am (install-%DIR%PROGRAMS): Test for `prog', not
+	`prog.exe' on Cygwin with libtool.  From Robert Collins.
+
+2001-07-21  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* tests/dirname.test: Explicitly use $SHELL to run the
+	script; this avoids failures on DJGPP.
+	* tests/install2.test: Skip if 'chmod 000' doesn't make
+	a file unreadable.
+
+2001-07-21  Tom Tromey  <tromey@redhat.com>
+
+	* tests/libtool2.test: Check for libtoolize.
+
+	* tests/Makefile.am (TESTS): Added substtarg.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/substtarg.test: New file.
+
+	* automake.in (handle_dist): Handle case where aux dir doesn't
+	have a Makefile.  Fixes depdist.test.
+	* tests/Makefile.am (XFAIL_TESTS): Removed depdist.test.
+	* tests/depdist.test: Look for config/depcomp.
+
+	* tests/Makefile.am (TESTS): Added depdist.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/depdist.test: New file.  From Eric Magnien.
+
+	* tests/ccnoco.test: Removed `configure.2' test; in autoconf 2.50
+	AC_PROG_CC_C_O does require AC_PROG_CC.
+
+	From Erik Lindahl:
+	* lib/depcomp (tru64): Some Tru64 compilers use `foo.d' and not
+	`foo.o.d'.
+	* m4/depend.m4 (_AM_DEPENDENCIES): Check to make sure compilation
+	output is suitable for make.
+
+	* automake.texi (Macros): Document AM_PROG_AS.
+	(Assembly Support): New node.
+	* m4/Makefile.am (m4data_DATA): Added as.m4.
+	* m4/as.m4: New file.
+
+	* automake.texi (Tags): Added uref to global tags.
+
+2001-07-21  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* automake.in (handle_single_transform_list): Use $(DEPDIR)
+	instead of hardcoding '.deps'.
+	* m4/depend.m4 (AM_SET_DEPDIR): Sync with libtool's libdir check.
+
+2001-07-20  Derek Price  <dprice@collab.net>
+
+	* m4/header.m4 (AM_CONFIG_HEADER): Create stamp-h files in the correct
+	locations.
+	* tests/dirname.test: New test.
+	* tests/stamph2.test: New test.
+	* tests/Makefile.am: Add new tests.
+	* tests/Makefile.in: Regenerated.
+
+2001-07-19  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Tags): Document GTAGS_ARGS.
+	* lib/am/tags.am (GTAGS): Added GTAGS_ARGS.  From Shigio Yamaguchi.
+
+2001-07-19  Tom Tromey  <tromey@redhat.com>
+            Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for ccnoco.test, subobj8.test:
+	* m4/Makefile.am (m4data_DATA): Added auxdir.m4.
+	* tests/Makefile.am (XFAIL_TESTS): Removed ccnoco.test,
+	subobj8.test.
+	* m4/minuso.m4 (AM_PROG_CC_C_O): Use absolute path to compile.
+	Use AM_AUX_DIR_EXPAND.
+	* lib/compile: Handle case where `-o' argument is the name of an
+	executable, not an object file.
+	* m4/auxdir.m4: New file, from...
+	* m4/missing.m4: ... here.  Moved AM_AUX_DIR_EXPAND.
+	* automake.in (handle_single_transform_list, lang_c_rewrite):
+	Require compile using `require_config_file'.
+
+2001-07-19  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Program and Library Variables): Added X example
+	for _LDADD.
+
+2001-07-19  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Distributing): Updated to reflect new license.
+
+2001-07-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (require_build_directory): New function, extracted
+	from ...
+	(handle_single_transform_list): ... here.
+	(require_build_directory_maybe): New function.
+	(handle_prograns, handle_libraries, handle_ltlibraries): Call
+	require_build_directory_maybe() to ensure the subdirectory
+	in which a target may lie will exist when the target is created.
+	(handle_libraries, handle_ltlibraries): Use basename before
+	checking library name.
+	* lib/am/library.am (%LIBRARY%): Depend on %DIRSTAMP%.
+	* lib/am/ltlibrary.am (%LTLIBRARY%): Likewise.
+	* lib/am/program.am (%PROGRAM%): Likewise.
+
+2001-07-18  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* m4/missing.m4: Reword comment.
+
+2001-07-18  Pavel Roskin  <proski@gnu.org>
+
+	* automake.texi: Rename AM_DEPENDENCIES to _AM_DEPENDENCIES.
+	* tests/gcj.test: Likewise.
+	* tests/gcj2.test: Likewise.
+	* tests/gcj3.test: Likewise.
+
+2001-07-18  Tom Tromey  <tromey@redhat.com>
+
+	* lib/compile: Change how lockdir is computed.  If linking or
+	compiling without `-o', just run the compiler.
+
+	* tests/Makefile.am (TESTS): Added ccnoco.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/ccnoco.test: New file.
+
+2001-07-17  Tom Tromey  <tromey@redhat.com>
+
+	* lib/ylwrap: Added special exception.
+	* lib/py-compile: Added license.
+	* lib/mdate-sh: Added special exception.
+	* lib/elisp-comp: Added special exception.
+	* lib/compile: Added special exception.
+	* lib/depcomp: Added special exception.
+
+	Report from Motoyuki Kasahara:
+	* tests/make.test: Use am__include.
+	* tests/exsource.test: Use am__include.
+	* m4/make.m4 (AM_MAKE_INCLUDE): Use am__include and am__quote.
+	* automake.in (handle_languages): Use am__include and am__quote.
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Renamed to _AM_DEPENDENCIES.
+	* m4/init.m4: Updated callers.
+
+2001-06-10  Tim Mooney  <mooney@dogbert.cc.ndsu.NoDak.edu>
+
+	* aclocal.in (parse_arguments, write_aclocal): Update Copyrights.
+	* aclocal.in (scan_configure, add_file): Handle the full macro
+	name even if it contains numbers, such as I18N.
+
+2001-07-16  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Dependencies): Link to dependency tracking page.
+	(Data): Mention dist_.
+	(Clean): Mention clean heuristics.
+	(Install): Mention nobase_.
+
+	* automake.texi (Program and Library Variables): Document _LINK.
+
+2001-07-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_libraries): Allow libraries to lie in
+	a subdirectory by constraining only the basename to start
+	with 'lib', not the whole path.
+
+2001-07-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/subobj8.test: New file.
+	* tests/Makefile.am (XFAIL_TESTS, TESTS): Add subobj8.test.
+
+2001-07-16  Tom Tromey  <tromey@redhat.com>
+
+	Fix for PR automake/212:
+	* lib/am/lisp.am (install-%DIR%LISP): Added missing `\'.
+	(uninstall-%DIR%LISP): Likewise.
+
+2001-07-15  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (usage): Rewrote code to handle columnization.
+	From Alexey Mahotkin and Maxim Sinev.
+
+	Report from Ralf Corsepius:
+	* automake.in (TARGET_PATTERN): Add `+' as valid character.
+	(SUFFIX_RULE_PATTERN): Likewise.
+	* tests/Makefile.am (TESTS): Added cxx.test.
+	* tests/cxx.test: New file.
+
+	* lib/am/tags.am (distclean-tags): Remove files for gtags.
+	From Shigio Yamaguchi.
+
+2001-07-14  Steve M. Robbins  <steve@nyongwa.montreal.qc.ca>
+
+	* lib/am/distdir.am (distcheck): Emit diagnostic when files
+	remain after "make uninstall".
+
+2001-07-14  Tom Tromey  <tromey@redhat.com>
+
+	* lib/am/tags.am (.PHONY): Depend on GTAGS.  From Shigio Yamaguchi.
+
+	* lib/missing (makeinfo): Redirect stdout and stderr outside
+	subshell.  From Alexandre Oliva.
+
+2001-07-14  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($obsolete_rx): No need for `\b(foo\b|\bbar)\b',
+	`\b(foo|bar)\b' is what we want.
+	* aclocal.in: Likewise.
+
+2001-07-14  Akim Demaille  <akim@epita.fr>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Don't define `depcpp' which is
+	not used.
+	Do not require the corresponding AC_PROG_CC as AC_PROG_CC is
+	actually modified to require AM_DEPENDENCIES.
+	Rename `confdir' as `conftest.dir' so that the configure trap
+	remove it.
+
+2001-07-04  Tom Tromey  <tromey@redhat.com>
+
+	Fix for nolink.test:
+	* tests/Makefile.am (XFAIL_TESTS): Removed nolink.test.
+	* lib/am/program.am (%PROGRAM%%EXEEXT%): Use %EXEEXT%.
+	* automake.in (am_install_var): Only rewrite PROGRAMS if
+	$seen_exeext.
+	(make_paragraphs): Always define %EXEEXT%.
+
+2001-07-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/nolink.test: New file.
+	* tests/Makefile.am (TEST, XFAIL_TESTS): Add nolink.test.
+
+2001-07-04  OKUJI Yoshinori  <okuji@gnu.org>
+
+	* automake.in (scan_texinfo_file): Add the second argument to
+	`@syncodeindex' into @CLEAN_SUFFIXES, because the combined index
+	itself may not be used directly.
+
+2001-07-04  Tom Tromey  <tromey@redhat.com>
+
+	* missing: Updated.
+	* lib/missing (makeinfo): Use subshell, not explicit sh
+	invocation.
+
+	* automake.texi (Headers): Mention that we prefer uninstalled
+	headers in _SOURCES.
+	(ANSI): Mention cross-compilation limitation.
+
+2001-07-03  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Upped to 1.4i.
+
+	* configure.in: Released 1.4h.
+
+	* lib/config.guess, lib/config.sub: Updated.
+
+2001-07-02  Tom Tromey  <tromey@redhat.com>
+
+	Fix for libtool2.test:
+	* tests/libtool2.test: Use `rm -f' to placate maintainer-check.
+	* lib/am/libtool.am (distclean-libtool): Conditional on TOPDIR.
+	* automake.in (generate_makefile): Call handle_libtool
+	unconditionally.
+	* tests/Makefile.am (XFAIL_TESTS): Removed libtool2.test.
+
+	* tests/libtool2.test: Look for `.lo' files to be removed.
+
+	* tests/Makefile.am (XFAIL_TESTS): Added libtool2.test.
+
+	* tests/Makefile.am (TESTS): Removed dup.test.
+	* tests/dup.test: Removed.
+	* aclocal.in (scan_file): Don't give error for duplicate macro.
+
+2001-07-01  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Program and Library Variables): Document
+	subdir-objects.  Document fact that per-object flags override AM_
+	flags.
+	(Options): Likewise.
+	(Yacc and Lex): Document YFLAGS, AM_YFLAGS, LFLAGS, AM_LFLAGS.
+	(Multilibs): New node.
+	(Macros): Documented missing macros.
+	(Auxiliary Programs): New node.
+
+	* lib/missing (makeinfo): If makeinfo exists, and we're in --run
+	mode, then simply fail.
+
+2001-07-01  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* lib/ylwrap: Improve support for DOS paths (and paths
+	containing backslashes in general).
+
+2001-07-01  Tom Tromey  <tromey@redhat.com>
+
+	* lib/missing: Added special exception to license.
+
+	* missing: Updated.
+	* lib/missing: Updated.  Added comment explaining configure.ac
+	oddity.
+
+	* lib/depcomp: Reorder arguments to gcc3.
+	From Per Oyvind Hvidsten.
+
+	* tests/Makefile.am (TESTS): Added libtool2.test.
+	* tests/libtool2.test: New file.
+
+	* automake.texi (Program and Library Variables): Added example for
+	_AR.
+
+2001-06-29  Tom Tromey  <tromey@redhat.com>
+
+	* tests/cond11.test: Use `=', not `=='.
+	* tests/cond12.test: Look for automake in build directory, not
+	source directory.
+
+2001-06-29  Richard Boulton  <richard@tartarus.org>
+
+	* automake.in (conditionals_true_when): Pass first parameters by
+	reference, avoiding bug which put all parameters in @CONDS instead
+	of @WHENS.  Report by Kalle Olavi Niemitalo.
+	Take a single WHEN instead of an array of WHENS.
+	Remove FIXME; can't now have an empty @WHENS.
+	(conditional_is_redundant): New sub.
+	(variable_conditions_reduce): Check whether each condition is
+	implied by any of the other conditions (other those already
+	discarded), rather than checking only against those already
+	considered (and kept).  Also, fix sense of check: was keeping
+	tautologous terms instead of discarding them.  Use
+	conditional_is_redundant instead of conditionals_true_when.
+	* tests/Makefile.am (TESTS): Added cond11.test and cond12.test.
+	* tests/cond11.test: New file.
+	* tests/cond12.test: New file.
+
+2001-06-29  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* automake.in (saw_sources_p): Work even if there are more
+	than one header files, and more than of one type of header.
+	* tests/Makefile.am (TESTS): Added new file.
+	* tests/depend4.test: New file.
+
+2001-06-28  Tom Tromey  <tromey@redhat.com>
+
+	* lib/am/libs.am (RANLIB): Don't define.
+
+2001-06-28  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (am_install_var): Assign 1 to $first on
+	first interation.
+
+2001-06-23  Tom Tromey  <tromey@redhat.com>
+
+	Fix for yacc5.test:
+	* lib/ylwrap: Changed usage.
+	* lib/am/yacc.am: Rewrote to use new substitutions.
+	* lib/am/lex.am: Likewise.
+	* automake.in (handle_languages): Skip files whose language
+	doesn't have a compiler.  Handle `define_flag' attribute.
+	Changed '$' to "\$" to aid Emacs fontification.
+	(struct): Added `rule_file'.  Removed `derived_autodep'.  Added
+	`_target_hook' and `define_flag'.
+	(yacc, yaccxx, lex, lexxx): Set `rule_file', `flags', `compile',
+	and `compiler' attributes.  Removed `linker', `derived_autodep',
+	and `ansi' attributes.  Added `define_flag'.
+	(yacc, yaccxx): Added `_target_hook'.
+	(saw_extension): Count number of times extension seen.
+	(count_files_for_language): New sub.
+	(saw_sources_p): Use it.
+	(handle_single_transform_list): Allow language rewrite function
+	to return a new source extension.  Call target_hook.
+	(yacc_sources, lex_sources): Removed.
+	(initialize_per_input): Don't initialize yacc_sources or
+	lex_sources.
+	(lang_yacc_rewrite): Rewrote.
+	(lang_yaccxx_rewrite): Likewise.
+	(lang_lex_rewrite): Likewise.
+	(lang_lexxx_rewrite): Likewise.
+	(output_yacc_build_rule): Removed.
+	(output_lex_build_rule): Removed.
+	(lang_yacc_finish): Removed build rule generation.
+	(lang_lex_finish): Likewise.
+	(DASH_D_PATTERN): New global.
+	(lang_yacc_target_hook): New function.
+	(_target_hook): New function.
+	(register_language): Default `define_flag'.
+	* tests/yacc5.test: Updated test.
+	* tests/yacc4.test: Exit with status 77 if bison doesn't work.
+	* tests/yacc3.test: Remove bogus `make' invocation.  Added test
+	for all YFLAGS variables.
+
+2001-06-20  Tom Tromey  <tromey@redhat.com>
+
+	* tests/yacc5.test: Check for per-executable YFLAGS.
+
+2001-06-19  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added yacc5.test.
+	* tests/yacc5.test: New file.
+
+2001-06-17  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (require_file_internal): Check for already-required
+	file after searching for it, and only if it is not found.  Don't
+	use `readlink' when checking for dangling symlink.  Work if
+	--force-missing specified.
+	* tests/acoutput2.test: Also test --force-missing.
+
+	Fix for libtool.test:
+	* automake.in (generate_makefile): Call handle_libtool.
+	(handle_libtool): New sub.
+	(handle_compile): Don't read `libtool' file.
+
+	* tests/acoutput2.test: New file.
+	* tests/Makefile.am (TESTS): Added acoutput2.test.
+
+2001-06-15  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added libtool.test.
+	* tests/libtool.test: New file.
+
+2001-06-14  Tom Tromey  <tromey@redhat.com>
+
+	Fix some lisp bugs reported by Bruno Haible:
+	* lib/am/lisp.am (uninstall-%DIR%LISP): Added DESTDIR to the
+	echo.
+	(install-%DIR%LISP): Handle case where lispdir is not defined.
+	(uninstall-%DIR%LISP): Likewise.
+	(.el.elc): Added `else' clause.
+
+	Fix for bug reported by Steve M. Robbins:
+	* automake.in (handle_single_transform_list): When building a file
+	from a subdirectory, continue to use `AM_' prefix.
+	* tests/Makefile.am (TESTS): Added subobj7.test.
+	* tests/subobj7.test: New file.
+
+	* lib/am/configure.am ($(top_builddir)/config.status): Added
+	$(top_builddir) prefix to work around problems with some vendor
+	makes.  From Nicolas Joly.
+
+	* automake.in (yacc_lex_finish_helper): Find ylwrap in
+	top_srcdir.  From Tim Van Holder.
+	* tests/Makefile.am (TESTS): Added yacc6.test.
+	* tests/yacc6.test: New file.
+
+2001-06-14  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* tests/defs, tests/installsh.test: Properly support
+	DOS-style paths.
+
+2001-06-14  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added mdate4.test.
+	* tests/mdate4.test: New file.
+
+	* aclocal.in (scan_m4_files): Removed unused variable.
+
+2001-06-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in (scan_m4_files): Tweak the building of &search so
+	that multiple macro names can be found on the same line.  Ensure
+	we match whole macro name, not only substrings.
+
+2001-06-12  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (ANSI): Minor clarification.
+	(Other GNU Tools): Don't mention Guile.
+	(Guile): Removed.
+	(Java Support): Mention file extensions.
+	(Man pages): Mention dist_.  Don't mention info pages.
+
+2001-06-11  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Program variables): Document AM_CPPFLAGS.
+	Deprecate INCLUDES.
+	(Java Support): Document AM_GCJFLAGS.
+	(Support for Other Languages): Removed `fixme'; added link to
+	suffix rule handling.
+
+	* automake.texi (Program and Library Variables): Document _LIBADD,
+	_LDADD, _LDFLAGS, _AR, and _DEPENDENCIES.
+
+2001-06-11  Kevin Dalley  <kevind@rahul.net>
+
+	* missing: Support configure.ac.
+
+2001-06-08  Tom Tromey  <tromey@redhat.com>
+
+	* tests/version4.test: New file.
+	* automake.in (version_check): New sub.
+	(handle_options): Use it.
+	* tests/Makefile.am (AUTOMAKE_OPTIONS): Removed.
+	(TESTS): Added version4.test.
+	* m4/Makefile.am (AUTOMAKE_OPTIONS): Removed.
+	* Makefile.am (AUTOMAKE_OPTIONS): Remove `gnits'.
+
+2001-06-04  Kevin Dalley  <kevind@rahul.net>
+
+	* lib/am/dejagnu.am (site.exp): Fix typo.
+
+2001-06-02  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (variable_conditions_sub): Move parent-only code
+	from here...
+	(variable_conditions): ... to here.
+	(variable_conditions_sub): Include this variable's conditions in
+	the resulting condition list.
+	* tests/Makefile.am (XFAIL_TESTS): Removed ltdeps.test.
+
+2001-06-01  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (XFAIL_TESTS): Added ltdeps.test.
+	(TESTS): Likewise.
+	* tests/ltdeps.test: New file.  Report from Lars J. Aas.
+
+2001-05-31  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Alternative): New node.
+	(Macros): Use new name for gcc.
+	(Java Support): Likewise.
+	(Dependencies): Rewrote.
+	(Invoking Automake): (Re-)document -i, --ignore-deps, and
+	--include-deps.
+
+	* automake.texi (Top level): Removed erroneous spaces.  Documented
+	MAKE and MAKEFLAGS.
+
+2001-05-29  Tom Tromey  <tromey@redhat.com>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Allow any AM_*FLAGS variable.
+
+	* automake.texi (Include): Rewrote.
+	(Suffixes): Remove Java example.
+	(Java): Added more explanation.  Document variables.
+	(Uniform): Mention JAVA as a primary.
+	(Python): Updated for new Python support.
+	(Sources): Added a weak example.
+
+	* lib/am/java.am (class%DIR%.stamp): Use AM_JAVACFLAGS.
+
+	* automake.texi (A Program): Mention `check' prefix.
+	(Program and Library Variables): New node.
+	(Texinfo): Document UPDATED-MONTH, MAKEINFOFLAGS, and
+	AM_MAKEINFOFLAGS.
+	(etags): Mention per-program flags.
+	(Tests): Document AM_RUNTESTFLAGS; added sectioning; more
+	updates.
+
+	* lib/am/texinfos.am (.PHONY): Always list uninstall-info-am and
+	install-info-am.
+
+2001-05-28  Tom Tromey  <tromey@redhat.com>
+
+	* m4/Makefile.am (MAINT_CHARSET): Removed.
+	* Makefile.am (MAINT_CHARSET): Removed.
+	* automake.in (maint_charset, dist_charset): Removed.
+	(local_maint_charset): Removed.
+	(initialize_per_input): Don't use maint_charset.
+	(handle_dist): Don't compute maint_charset or check DIST_CHARSET.
+
+	* lib/am/texibuild.am (.%SUFFIX%.info): Use MAKEINFOFLAGS and
+	AM_MAKEINFOFLAGS.
+	(.%SUFFIX%.dvi): Likewise.
+	(.%SUFFIX%): Likewise.
+
+2001-05-27  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_multilib): Only add multilib support code at
+	top level.
+	* lib/am/multilib.am: Handle invocation of *-multi targets
+	differently for SUBDIRS and non-SUBDIRS Makefiles.
+	* m4/multi.m4 (AM_ENABLE_MULTILIB): Removed erroneous comment.
+	Only add multilib code when the Makefile in question is actually
+	rebuilt.
+
+	* lib/am/dejagnu.am (check-DEJAGNU): Added AM_RUNTESTFLAGS.
+
+2001-05-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_single_transform_list): Skip unknown
+	extensions.
+
+2001-05-25  Tom Tromey  <tromey@redhat.com>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Ignore AM_RUNTESTFLAGS.
+
+2001-05-24  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_texinfo_helper): Find mdate-sh in current
+	directory in some situations.
+
+	* automake.in (generate_makefile): Better explanation for ansi2knr
+	fix.
+
+2001-05-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_languages): Skip unknown extensions.
+	(derive_suffix): Check whether $extension_map{$source_ext}
+	is undefined, not empty.
+
+2001-05-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (read_am_file): Ignore trailing backslash on
+	comment lines.
+
+2001-05-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (ASSIGNMENT_PATTERN): Forbid : and + in variable names.
+
+2001-05-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.texi (Macros): Explain the ``AC_PROG_LEX invoked
+	multiple times'' warning.
+
+2001-05-20  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Updated to 1.4g.
+
+	* configure.in: Updated to 1.4f.
+
+	* Makefile.am (EXTRA_DIST): Added ChangeLog.2000.
+
+	* lib/ansi2knr.c: New version.
+
+	* Makefile.am (FETCHFILES): Added ansi2knr.c.
+	(fetch): Likewise.
+
+2001-05-19  Tom Tromey  <tromey@redhat.com>
+
+	* config.guess, config.sub: New versions from FSF.
+
+	* Makefile.am (fetch): Compare against files in srcdir.
+
+	For for ansi2knr report from Harlan Stenn:
+	* automake.in (generate_makefile): Run handle_compile before
+	handle_languages.
+
+2001-05-18  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in: Reverted erroneous checkin.
+
+2001-05-18  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/texinfos.am (install-info-am, uninstall-info-am): Be robust
+	to missing `install-info'.
+
+2001-05-17  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (lang_c_finish): Use `rm -f'.
+
+	* automake.in (lang_c_finish): Remove _.c file if ansi2knr fails.
+	* tests/Makefile.am (TESTS): Added new file.
+	* tests/ansi5.test: New file.
+
+2001-05-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/install.am (install-strip): Set INSTALL_PROGRAM_ENV if
+	STRIP is not empty.
+	* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM
+	to install-sh unconditionally.  Don't set INSTALL_STRIP_PROGRAM_ENV.
+	* automake.texi (Requirements): Document the use of the STRIP
+	variable in cross-compilation environments.
+
+2001-05-17  Tom Tromey  <tromey@redhat.com>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): If depcomp doesn't exist, revert
+	to no dependency tracking.
+	* tests/Makefile.am (TESTS): Added depcomp2.test.
+	* tests/depcomp2.test: New file.  From Pavel Roskin.
+
+	* lib/depcomp (aix): Bug fix and simplification from Larry Jones.
+
+	* lib/depcomp (tru64): New dependency tracking mode.
+
+	Fix for PR automake/159:
+	* lib/depcomp (aix): Rewrote.
+	(sgi): Likewise.
+
+	Fix for PR automake/174:
+	* tests/Makefile.am (XFAIL_TESTS): Removed comment3.test.
+	* automake.in (read_am_file): Warn if `#' is at start of rule.
+
+2001-05-16  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/174:
+	* tests/Makefile.am (TESTS): Added comment3.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/comment3.test: New file.
+
+	Fix for PR automake/175:
+	* tests/Makefile.am (XFAIL_TESTS): Removed make.test.
+	* m4/make.m4 (AM_MAKE_INCLUDE): Omit `Entering directory' and
+	`Leaving directory' messages.
+
+	For PR automake/175:
+	* tests/Makefile.am (XFAIL_TESTS): Added make.test.
+	* tests/make.test: Run test with `make -w'.
+
+	* tests/Makefile.am (TESTS): Removed maintclean.test.
+	* lib/am/clean.am (maintainer-clean-generic): Don't remove
+	Makefile.in.
+	* lib/am/configure.am (maintainer-clean-am): Removed.
+	(maintainer-clean-conf): Removed.
+	* tests/maintclean.test: Removed.
+
+2001-05-15  Tom Tromey  <tromey@redhat.com>
+
+	Fix for PR automake/177:
+	* Makefile.am (maintainer-clean): Set perllibdir before invoking
+	automake or aclocal.
+
+	Fix for maintclean.test:
+	* tests/Makefile.am (XFAIL_TESTS): Removed maintclean.test.
+	* lib/am/clean.am (distclean-generic): Don't remove config.cache
+	or config.log.
+	(distclean, maintainer-clean): Moved to...
+	* lib/am/configure.am: ... here.
+	(distclean): Remove config.cache and config.log.
+	(maintainer-clean): Removed.
+	(maintainer-clean-conf): New target.
+	(maintainer-clean-am): New target.
+
+	* tests/Makefile.am (TESTS): Added maintclean.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/maintclean.test: New file.
+
+	Fixes PR automake/175:
+	* tests/target-cflags.test: Use $needs_gnu_make.
+	* tests/exsource.test: Use $needs_gnu_make.
+	* tests/make.test: Require GNU make.
+	* tests/defs (needs_gnu_make): Compute.
+
+2001-05-14  Tom Tromey  <tromey@redhat.com>
+
+	* lib/ylwrap: Fixed quoting on regular expression.  Fixes
+	yacc4.test.
+
+	Fix for texinfo10.test.
+	* tests/Makefile.am (XFAIL_TESTS): Remove texinfo10.test.
+	* lib/am/texinfos.am: Use LOCAL-TEXIS liberally.
+	* automake.in (handle_texinfo_helper): New sub.
+	(handle_texinfo): Rewrote.  Now defines LOCAL-TEXIS.
+	* tests/texinfo10.test: Added more cases.
+
+	Fix for yaccvpath.test:
+	* tests/Makefile.am (XFAIL_TESTS): Removed yaccvpath.test.
+	* lib/am/distdir.am (distdir): Always look for file in build
+	directory first.
+	* lib/ylwrap: Quote the `#line' regular expression.
+	* lib/am/yacc.am (%YACC_SUFFIX%%C_SUFFIX%): Reverted earlier
+	change; don't run sed on the generated file.
+	* tests/yaccvpath.test: Create new parser in srcdir.  Added test
+	to make sure parser will be rebuilt at dist time.
+
+2001-05-13  Pavel Roskin  <proski@gnu.org>
+
+	* automake.in ($IGNORE_PATTERN): Allow spaces before comments
+	beginning with `##'.
+	* automake.texi (General Operation): Document it.
+
+2001-05-13  Tom Tromey  <tromey@redhat.com>
+
+	Reported by Rainer Orth:
+	* lib/am/distdir.am (?DISTDIR?distdir): Define conditional on
+	TOPDIR_P.
+	* tests/Makefile.am (TESTS): Added distname.test.
+	* tests/distname.test: New file.
+
+	* Makefile.am (dist_pkgdata_DATA): Removed.
+
+	* tests/defs: Find files to copy in lib/.
+	* automake.in (perllibdir): Set to Automake directory.
+	* ansi2knr.c, ansi2knr.1: Removed.
+	* Makefile.am (dist_am_DATA): Removed.
+	(amdir): Removed.
+	(maintainer-check): Look for lib/am/*.am.  Expect 28 lines of
+	diffs.
+	(scriptdir): Removed.
+	(dist_script_DATA): Likewise.
+	(install-data-hook): Likewise.
+	(installcheck-local): Likewise.
+	(TAGS_FILES): Removed amfiles.
+	(dist_pkgdata_DATA): Removed ansi2knr.c and ansi2knr.1.
+	* tests/installsh.test (AUTOMAKE): Use --libdir, not --amdir, and
+	point it to the right directory.
+	* ansi2knr.am, check.am, clean-hdr.am, clean.am, comp-vars.am,
+	compile.am, configure.am, data.am, dejagnu.am, depend.am,
+	depend2.am, distdir.am, footer.am, header-vars.am, header.am,
+	install.am, java.am, lang-compile.am, lex.am, library.am, libs.am,
+	libtool.am, lisp.am, ltlib.am, ltlibrary.am, mans-vars.am,
+	mans.am, multilib.am, program.am, progs.am, python.am,
+	remake-hdr.am, scripts.am, subdirs.am, tags.am, texi-vers.am,
+	texibuild.am, texinfos.am, yacc.am: Moved to lib/am/.
+	* configure.in (AC_OUTPUT): Added lib/am/Makefile.
+	(AUTOMAKE): Use --libdir, not --amdir.
+	Ues AC_CONFIG_AUX_DIR.
+	* lib/Makefile.am (SUBDIRS): Added `am'.
+	(scriptdir): New macro.
+	(dist_script_DATA): Likewise.
+	(dist_pkgdata_DATA): Likewise.
+	(install-data-hook): New target.
+	(installcheck-local): Likewise.
+	* lib/am/Makefile.in: New file.
+	* lib/am/Makefile.am: Removed everything except amdir and
+	dist_am_DATA.
+
+2001-05-13  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($pkgdata_dir): Rename as...
+	($libdir): this.
+	($am_dir): Remove, replace its uses with $libdir.
+	(&parse_arguments): Replace --amdir with --libdir.
+	* automake.texi (Invoking Automake): Document --libdir, not
+	--amdir.
+	* tests/defs (AUTOMAKE): Use --libdir, not --amdir.
+
+2001-05-13  Tom Tromey  <tromey@redhat.com>
+
+	* m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Use AMDEP_TRUE,
+	not AMDEP.
+	* m4/depend.m4 (AM_DEPENDENCIES): Require AM_DEP_TRACK.
+	Correctly look at AMDEP_TRUE, not AMDEP.
+
+	Report from Robert Boehne:
+	* tests/Makefile.am (TESTS): Added depend2.test.
+	* tests/depend2.test: New file.
+
+2001-05-13  James Henstridge  <james@daa.com.au>
+
+	* m4/python.m4 (AM_PATH_PYTHON): Added more names for python.
+	Point pythondir at site-packages directory.  Rename
+	PYTHON_SITE_PACKAGE to pkgpythondir.  Rename PYTHON_SITE_EXEC to
+	pyexecdir.  Removed package/module argument.  Removed
+	PYTHON_SITE_INSTALL.  Added version checking.
+
+2001-05-14  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (macro_define): Change one remaining use of
+	`variable_dump' to `macro_dump'.
+
+2001-05-13  Tom Tromey  <tromey@redhat.com>
+
+	* m4/depend.m4 (AM_DEPENDENCIES): Prefer gcc3 over gcc for objc
+	and gcj.
+
+2001-05-13  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_texinfo_file, &handle_dist, &handle_gettext)
+	(&handle_footer, &handle_factored_dependencies, &handle_emacs_lisp)
+	(&am_primary_prefixes): Use `map' rather than `grep'.
+
+2001-05-13  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Set config_vars for yacc, yaccxx, lex,
+	lexxx, asm.
+	(&lang_c_finish, &lang_yacc_finish, &lang_lex_finish): Simplify.
+	(&lang_asm_finish): Remove, set asm's finisher to C's one.
+
+2001-05-13  Akim Demaille  <akim@epita.fr>
+
+	* lang-compile.am: New file, loaded once per language.
+	* depend2.am: Move definitions loaded once per language in the
+	aforementioned file.
+	* automake.in (&handle_languages): Load it.
+	(&lang_ppf77_finish, &lang_ratfor_finish): Remove as it's now
+	handled by lang-compile.am.
+
+2001-05-13  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (TESTS): Added python.test.
+	* tests/python.test: New file.
+	* automake.in (handle_languages): Use
+	config_aux_dir_set_in_configure_in.
+	(handle_python): Correctly mention AM_PATH_PYTHON.  Use
+	py-compile, not py_comp.  Define py_compile macro.
+
+2001-05-13  Derek Price  <dprice@openavenue.com>
+
+	* automake.in (require_file_with_conf_line,
+	require_file_with_line, require_file): Pass a @require_file_path
+	of $relative_dir instead of '.' to require_file_internal so that
+	all the special casing of '.' can be removed elsewhere.
+	(require_config_file, require_conf_file_with_line,
+	require_conf_file_with_conf_line): Remove special casing for '.'
+	and make sure $config_aux_dir is maintained properly.
+	(require_file_internal): Remove special casing of '.' and set
+	@require_file_path when missing files are added.
+	(maybe_push_required_file): Remove special casing of '.'
+	(handle_dependencies): Remove a workaround for a bug now fixed
+	and remove $config_aux_dir special casing.
+	(handle_configure): Remove special casing for $config_aux_dir
+	(handle_python): Ditto.
+	(yacc_lex_finish_helper): Change $config_aux_dir switch to
+	switch on the value of $config_aux_dir_set_in_configure_in.
+	(handle_texinfo): Ditto.
+	(scan_one_configure_file): Set $config_aux_dir and
+	$config_aux_dir_set_in_configure_in properly so special casing
+	on the value of $config_aux_dir can be removed elsewhere.
+	* tests/depcomp.test: New file.
+	* tests/confsub.test: Look for depcomp in $(top_srcdir) instead of the
+	first subdir containing a C file.
+	* tests/libobj2.test: Ditto.
+	* tests/Makefile.am (TESTS): Added 'depcomp.test'.
+
+2001-05-12  Tom Tromey  <tromey@redhat.com>
+
+	* tests/gcj.test: Updated for gcj dependency tracking.
+	* tests/gcj2.test: Likewise.
+
+	Fixes PR automake/169.
+	* m4/depend.m4 (AM_DEPENDENCIES): Handle GCJ.  Don't assume gcc
+	style for OBJC.
+	* automake.in (java): Added autodep entry.
+	* tests/Makefile.am (TESTS): Added gcj3.test.
+	* tests/gcj3.test: New file.
+
+2001-05-12  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* automake.in (ASSIGNMENT_PATTERN): Make variable-name pattern
+	stop at the first '='.
+	* tests/Makefile.am (TESTS): Added vars.test.
+	* tests/vars.test: New file.
+
+2001-05-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_single_transform_list): Simplify
+	computation of $object and $this_obj_ext.
+	* tests/lex3.test: Merge into...
+	* tests/lex.test: here.
+	* tests/pr19.test: Improve and rename as...
+	* tests/lex3.test: this.
+
+2001-05-09  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (read_am_file): Correctly compute $saw_bk.
+	(scan_autoconf_files): Ensure configure_dist_common is always
+	set.
+	* tests/defs (AUTOMAKE): Added --Werror.
+
+2001-05-09  Pavel Roskin  <proski@gnu.org>
+
+	* automake.in (define_compiler_variable): Escape $(LIBTOOL) in
+	double quotes.
+
+2001-05-09  Tom Tromey  <tromey@redhat.com>
+
+	* tests/werror.test: Use `rm -f'.
+
+2001-05-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_line_warning): Invoke `am_line_error', not itself.
+
+2001-05-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Remove some code left from bad patches.
+	(&handle_dependency): Remove, for the same reason.
+
+2001-05-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&make_paragraphs): Transform BUILD, HOST and TARGET.
+	(&handle_tests_dejagnu, &define_standard_variables): Don't.
+	(&define_standard_variables): Don't transform %top_builddir% since...
+	* header-vars.am: Use %TOPDIR% instead.
+
+2001-05-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@objects): Remove, unused.
+	Remove all the code related to it, and to former `$(OBJECTS)'.
+
+2001-05-08  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/29:
+	* ylwrap: Handle arguments to program.  Remove old code that tried
+	to avoid absolute paths and add new code to do it in all cases.
+	Removed ancient logic that tried to deal with relative path.
+	* tests/Makefile.am (TESTS): Added yacc4.test.
+	* tests/yacc4.test: New file.
+
+	Fix for PR automake/149 and werror.test:
+	* automake.in (require_file_internal): Use am_line_warning or
+	am_conf_line_warning when suppressing error.
+	(am_line_warning): New sub.
+	(am_conf_line_warning): Save and restore warning signal.
+	* tests/Makefile.am (XFAIL_TESTS): Removed werror.test.
+
+	Fix for PR automake/36:
+	* tests/Makefile.am (TESTS): Added asm.test.
+	* tests/asm.test: New file.
+	* automake.in (asm): Use ASFLAGS and AS.
+	(lang_asm_finish): New sub.
+
+	* automake.in (read_am_file): Removed debugging code.
+
+	For PR automake/149:
+	* tests/Makefile.am (TESTS): Added werror.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/werror.test: New file.
+
+	* automake.in (conditional_true_when): Don't return if we see
+	`TRUE'.
+
+	* tests/objc.test: Removed.
+	* tests/Makefile.am (XFAIL_TESTS): Removed objc.test.
+	(TESTS): Likewise.
+
+	* automake.in (subst): New sub.
+	(handle_languages): Use it.
+	(output_lex_build_rule): Likewise; also use _am_quote.
+	(check_libobjs_sources): Likewise.
+	(make_paragraphs): Use subst.
+
+	* automake.in (check_libobjs_sources): Re-fixed AMDEP_TRUE
+	problem.
+
+	* automake.in (file_contents_internal): Prototype now `$$%'.
+	(register_language): Prototype now `%'.
+
+	Fixes test subobj6.test and PR automake/160:
+	* tests/Makefile.am (XFAIL_TESTS): Removed subobj6.test.
+	* compile.am (mostlyclean-compile): Added MOSTLYRMS.
+	(distclean-compile): Added DISTRMS.
+	* tests/subobj6.test (wish_SOURCES): Updated to reflect
+	`mostlyclean' use; added test for non-subdir case.
+	* automake.in (compile_clean_files): New global.
+	(MOSTLY_CLEAN, DIST_CLEAN): New constants.
+	(initialize_per_input): Initialize compile_clean_files.
+	(handle_single_transform_list): Set compile_clean_files entries.
+	(handle_compile): Handle compilation cleanups.
+
+2001-05-08  Lars J. Aas  <larsa@sim.no>
+
+	* automake.texi (Canonicalizing Automake macros): Document not
+	canonicalizing strudels (@) anymore.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am (dist-all): Build all the flavors using a single
+	distdir.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents_internal): Apply the @cond_stack to
+	the rules and assignments.
+	Don't rely on `$.' as it's biased by &make_paragraphs.
+	Don't remove backslashes in variable values.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($IGNORE_PATTERN): Improve for multi-line matches.
+	($RULE_PATTERN): Use that from `&make_paragraphs'.
+	($MACRO_PATTERN): Just catch the name of a macro.
+	($BOGUS_MACRO_PATTERN): Remove.
+	($ASSIGNMENT_PATTERN): New.
+	(&file_contents_internal, &make_paragraphs): Adjust.
+	(&macro_define): Catch bad macro names.
+	(&cond_stack_endif): Better error message.
+	(&file_contents_internal): Don't remove backslashes in variable
+	values.
+	(&macro_define): Do it for `+=' user variables.
+	(&define_standard_variables): Use `undef' instead of a dummy
+	variable.
+	(&make_paragraph): Be sure not to chop the trail of hash only
+	lines: adjust the `##' regexp.
+	(&rule_define): Fix a bug: don't read $1 but $target.
+	* tests/condincl.test: Strengthen.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attributes `Name' and `config_vars'.
+	(&finish): Work properly if there is no _finish.
+	(Automake): Register language Names and AC_SUBST dependencies.
+	Register Fortran 77 variables upon which ratfor and ppf77 depend.
+	(&handle_languages): Once per language, invoke
+	`define_linker_variables', and check its config_vars.
+	(&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish)
+	(&lang_java_finish): Remove.
+	(&lang_ppf77_finish, &lang_ratfor_finish): Adjust.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents_internal): Accept $IS_AM.
+	(&handle_compile, &define_standard_variables, &file_contents): Adjust.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (am_install_var): Use `next' instead of `if' on the
+	body of $X loop.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attributes `lder' and `ld'.
+	(&register_language): Specify for cxx, objc, f77, gcj.
+	(&define_linker_variable): New.
+	(&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish)
+	(&lang_java_finish): Adjust.
+	(&libtool_compiler): Remove.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_lib_objects_cond): Don't take $LEX_SEEN as
+	argument, as you don't use it.
+	Hence...
+	(&handle_lib_objects): Don't take $LEX_SEEN as argument, as you
+	don't use it.
+	Hence...
+	(&handle_programs): Don't mess with %lex_sources, as you don't use
+	it.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attribute `link'.
+	(&register_language): Specify for cxx, objc, f77, gcj.
+	(&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish)
+	(&lang_java_finish): Adjust.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&define_compiler_variables): Use only $LANG as
+	argument.
+	(&handle_languages): Adjust.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&define_program_variable): Remove.
+	(&scan_one_autoconf_file): Skip MAKEINFO when found in an
+	AM_MISSING_PROG.
+	(&handle_texinfo): Don't define MAKEINFO and TEXI2DVI.
+	* texinfos.am: Do it.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_tests_dejagnu): Don't define EXPECT and
+	RUNTEST.
+	* dejagnu.am: Do it.
+	(site.exp): Use `if'.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Formatting changes.
+	(variable_dump, variables_dump): Rename as...
+	(macro_dump, macros_dump): these.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	Support `if !COND', `else COND', `end COND'.
+
+	* automake.texi (Conditionals): Document it.
+	* automake.in ($WHITE_PATTERN, $MACRO_PATTERN, $BOGUS_MACRO_PATTERN)
+	($GNITS_VERSION_PATTERN, $INCLUDE_PATTERN): Use `\d' and `\s'.
+	($IF_PATTERN, $ELSE_PATTERN, $ENDIF_PATTERN): Likewise, and accept
+	a leading `!' before the condition.
+	(&handle_options): Use `\d'.
+	(&cond_stack_if, &cond_stack_else, &&cond_stack_endif): New.
+	(&read_am_file, &file_contents_internal): Use them.
+	(&transform): No longer substitute `%!COND%', forcing the use of
+	`! %?COND%'.
+	* ansi2knr.am, lex.am, tags.am, texinfos.am, yacc.am: Adjust.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	Uniform handling of per-object compilation rules.
+	Note: Automake is repaired.
+
+	* automake.in (&handle_languages): Output per object rules for all
+	the objects, not only for those which language supports dependency
+	tracking.
+	Fix Automake: when outputting per-object rules, use `-o' if the
+	language has no `output_flag', as it's really needed.
+	(&handle_single_transform_list): Instead of special casing files
+	which need per object rules but which language don't support
+	dependency tracking, keep them in the queue for processing by
+	`&handle_languages'.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): `ext-compile.am' and
+	`depend2.am' are now equivalent for generic rules: output only the
+	latter.
+	* ext-compile.am: Remove.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	Note: This patch breaks Automake.  Repaired within two patches.
+
+	* automake.in (Language): Replace the attribute `output_arg' with
+	`compile_flag' and `output_flag'.
+	(Automake): Adjust language registrations.
+	(&handle_languages): Transform `-c' and `-o' for both suffix and
+	per object rules, instead of `OUTARG' and `LTOUTARG' only for
+	generic rules.
+	(&handle_single_transform_list): Adjust to `compile_flag' and
+	`output_flag'.
+	* depend2.am, ext-compile.am: Use `%-c%' and `%-o%'.
+
+2001-05-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): Don't transform %COMPILER%.
+	Use `$lang->compiler' instead of `$pfx' to transform generic
+	%COMPILE% and %LTCOMPILE%.
+	* ext-compile.am: Use %COMPILE%, %LTCOMPILE% and %SOURCE% instead
+	of %COMPILER% and $<.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): Use the same `%transform' for
+	both `depend2.am' and `ext-compile.am'.
+	Delay the definition of `$flag' so it is right before the first use,
+	and rename as `$flags'.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): Compute `$ltoutarg' and
+	`$outarg' independently of dependency code.
+	There is no use looping on a language's possible extensions since
+	we loop over used extensions.
+	Therefore, there is no use for a local `%transform'.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): Don't use $comp.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): Merge the two loops over
+	%extension_seen/%languages into one and group code to be run once
+	per language together.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_languages): Move the `if
+	($use_dependencies)' block so that loops over extensions and
+	languages are next to each other.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&depend2): Remove, merged into...
+	(&handle_languages): here.
+
+2001-05-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&finish_languages): Rename as...
+	(&handle_languages): this.
+	Include the body of...
+	(&handle_dependency): this.
+	Remove.
+
+2001-05-06  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/46:
+	* tests/Makefile.am (TESTS): Add subdir5.test.
+	(XFAIL_TESTS): Likewise.
+	* tests/subdir5.test: New file.
+
+	* tests/subobj6.test (wish_SOURCES): Use $MAKE.
+	* tests/subobj5.test (wish_SOURCES): Use $MAKE.
+
+	* automake.in (GNITS_VERSION_PATTERN): Document.  Add `fork
+	identifier'.
+	(handle_options): Handle fork identifier in version number.
+
+	* automake.texi (Dist): Document distcheck-hook.
+
+	* tests/confh4.test: Update to reflect DEFS change.
+	For PR automake/132.
+
+	Fix for PR automake/132:
+	* automake.in (c, c++, objc, asm, ppf77): Add DEFAULT_INCLUDES to
+	compilation.
+	(java): Remove INCLUDES and DEFS from compilation.
+	(lang_c_finish): Add DEFAULT_INCLUDES to compilation.
+	* compile.am (DEFS): Don't include %DEFAULT_INCLUDES%.
+	(DEFAULT_INCLUDES): New macro.
+
+	* automake.in (usage): Re-align explanatory text.
+	Fixes PR automake/148.
+
+	* automake.texi (Uniform): Don't use @PROGRAMS@.
+	Fixes PR automake/154.
+
+	For PR automake/160:
+	* tests/Makefile.am (TESTS): Add subobj5.test and subobj6.test.
+	(XFAIL_TESTS): Add subobj6.test.
+	* tests/subobj6.test: New file.
+
+	* automake.texi (Uniform): Mention dist_, nodist_, and nobase_.
+	(Top level): Don't mention `flat'.
+	(Extending): Likewise.
+	(User Variables): New node.
+
+	* distdir.am (distdir): Make subdirectory for each file.
+	Fixes test subobj5.test.
+
+	* tests/Makefile.am (TESTS): Add new file.
+	(XFAIL_TESTS): Likewise.
+	* tests/texinfo10.test: New file.
+
+2001-05-05  Pavel Roskin <proski@gnu.org>
+
+	* automake.in (scan_texinfo_file): Treat @defindex and @synindex
+	in the same way as @defcodeindex and @syncodeindex respectively.
+
+2001-05-05  Tom Tromey  <tromey@redhat.com>
+
+	* mans.am (install-man%SECTION%): Minor cleanup.
+	(uninstall-man%SECTION%): Likewise.
+
+	* tests/Makefile.am (XFAIL_TESTS): Removed man.test.
+	* mans.am (install-man%SECTION%): Handle dist_ and nodist_
+	prefixes.
+	(uninstall-man%SECTION%): Likewise.
+	* automake.in (handle_man_pages): Handle dist_ and nodist_
+	prefixes.
+
+	* automake.texi (Future): Removed.
+	(Depth): Removed.
+	(Hello): Don't mention `deep'.
+	(Top level): Likewise.
+
+	* automake.in (conditional_true_when): Use a hash, not index().
+	Also, a TRUE component always results in a true return.
+	Fixes test cond10.test.  For PR automake/164.
+	* tests/Makefile.am (XFAIL_TESTS): Removed cond10.test.
+
+2001-05-05  Raja R Harinath  <harinath@cs.umn.edu>
+
+	For PR automake/164:
+	* tests/Makefile.am (TESTS): Added new file.
+	(XFAIL_TESTS): Likewise.
+	* tests/cond10.test: New file.
+
+2001-05-05  Tom Tromey  <tromey@redhat.com>
+
+	* texinfos.am (uninstall-info-am): Debian install-info v1.8.3
+	prints to stderr.
+	(install-info-am): Likewise.
+
+2001-05-05  Pavel Roskin <proski@gnu.org>
+
+	* automake.in (scan_texinfo_file): Don't push undefined values
+	to @clean_suffixes.
+
+2001-05-05  Richard Boulton  <richard@tartarus.org>
+
+	* automake.in (handle_dist): Check for existence of DIST_SUBDIRS
+	first.
+
+2001-05-05  Robert Collins  <robert.collins@itdomain.com.au>
+
+	* automake.in (required_targets): Added uninstall-am.
+
+2001-05-05  Tom Tromey  <tromey@redhat.com>
+
+	Fix bug reported by Robert Boehne:
+	* automake.in (output_lex_build_rule): Don't let AMDEP_TRUE be
+	substituted.
+	(handle_dependencies): Likewise.
+	* Makefile.am (maintainer-check): Look for AMDEP_TRUE
+	substitution.  Correct diff now has 30 lines.  Look for space
+	after losing `undef'.
+
+2001-05-04  Peter Eisentraut  <peter_e@gmx.net>
+
+	* m4/sanity.m4: Remove the temp file before possible error exits.
+
+2001-05-04  Akim Demaille  <akim@epita.fr>
+
+	* configure.in: Set perllibdir.
+	From Dave Morrison.
+
+2001-05-04  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+
+	* automake.in ($pkgdata_dir): New.
+	(&require_file_internal): Use it.
+
+2001-05-03  Akim Demaille  <akim@epita.fr>
+
+	Case insensitive FS choke on Automake/ vs automake.
+	Reported by Tim Van Holder.
+
+	* Automake/: Move into...
+	* lib/: this new directory.
+
+2001-05-03  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* data.am (install-%DIR%%PRIMARY%): Execute the same command as
+	echoed.
+
+2001-04-30  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in: Remove `/lib' from include directory.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	AM_INIT_AUTOMAKE is no longer optional.
+
+	* automake.in ($seen_make_set, $seen_prog_install)
+	($seen_arg_prog): Remove.
+	(&handle_programs, &handle_scripts, &scan_one_autoconf_file):
+	Remove related code.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* tests/specflags4.test, tests/specflags5.test: Remove, merged
+	into...
+	* tests/specflags3.test: here.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($seen_path_xtra): Remove.
+	(&handle_compile): Don't handle `AC_PATH_XTRA' AC_SUBST variables.
+	(&scan_one_autoconf_file): Do it, instead of setting $seen_path_xtra.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents_internal): Declare it.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_am_file, &file_contents_internal): Don't
+	define macros when `FALSE', to avoid errors on doubly defined
+	variables but under condition `FALSE'.  In order to allow...
+	(&am_install_var): When reading the associated file for the first
+	time, enable `%?FIRST%'.
+	(&handle_libraries): Let libs.am define $(AR) and $(RANLIB).
+	* libs.am: Do it when `%?FIRST%'.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_compile): Let ansi2knr.am define $(ANSI2KNR).
+	* ansi2knr.am: Do it.
+	Prefer `if %?FOO%' to `if %!FOO%'.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&register_language, &finish_languages): Use `pure'
+	as a Boolean.
+	(&register_language): Use %done properly with objects, not names.
+	(&finish_languages): Replace `$non_c' with `$needs_c'.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	Unify LISP, PYTHON and JAVA primaries.
+
+	* automake.in (&handle_emacs_lisp): Be like &handle_python, i.e.,
+	return if there are no files, hook elisp-comp on the Autoconf
+	macro, rely on lisp.am to define variables.
+	(&handle_python, &handle_java): Likewise.
+	(&scan_one_autoconf_file): Pseudo AC_SUBST of `pythondir' and
+	`PYTHON' must be handled here, not in `&handle_python'.
+	* java.am: Define needed variables and rules.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_install_var): Transform `ONE_PRIMARY'.
+	* data.am: Use it.
+	* header.am: Include data.am.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_install_var): Transform `PRIMARY'.
+	* data.am: Equip with %PRIMARY%.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@conditional_stack): Rename as...
+	(@cond_stack): this.
+	(&file_contents_internal): Support inclusion of files.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&lang_extensions): Remove.
+	(&add_depend2, &saw_sources_p): Adjust.
+	* depend2.am: `%EXT%' no longer includes the dot.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&finish_languages, &handle_single_transform_list)
+	(&add_depend2, &handle_dependencies): No longer use the language
+	name in `$lang'.  Rename `$lang_obj' as `$lang'.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&register_language): Use `new Language' with a hash.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&register_language): Rename `output-arg' and
+	`derived-autodep' as `output_arg' and `derived_autodep' to match
+	the Language attribute.
+	Set the defaults in %option instead of $lang.
+
+2001-04-27  Akim Demaille  <akim@epita.fr>
+
+	* Automake/: New directory.
+	* Automake/Struct.pm: New file, based on Perl 5.6's Class::Struct.
+	* automake.in (Language): Use Automake::Struct.
+	* tests/defs: Adjust to find Struct.
+
+2001-04-23  Pavel Roskin <proski@gnu.org>
+
+	* automake.in: Add forward declaration for register_language().
+	* tests/Makefile.am (XFAIL_TESTS): Remove installsh.test - it
+	passes now.
+
+2001-04-20  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%required_targets): Add `uninstall'.
+	From Robert Collins.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attribute `name'.
+	(&register_language): The name of the language is now given in the
+	hash.
+	No longer use `$lang' as the name of the language.
+	Rename `$lang_obj' as `$lang'.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attribute `_finish'.
+	(&finish): New.
+	(Automake): Adjust.
+	(&lang_header_finish, &lang_yaccxx_finish, &lang_lexxx_finish)
+	(&lang_asm_finish): Remove.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attribute `extensions'.
+	(Automake): Pass a hash to `&register_language' instead of a
+	list of pseudo assignments.
+	(&register_language): Adjust.
+	(&finish_languages): Initialize `$ltoutarg'.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attribute `output_arg'.
+	(%language_map): Remove.
+	(&register_language): Build only the object, and store in
+	%languages only.
+	(&finish_languages, &handle_single_transform_list): Adjust.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): Add attributes `flags', `compile' and
+	`compiler'.
+	(&finish_languages, &handle_single_transform_list, &handle_dist)
+	(&add_depend2, &register_language): Use them and the `linker' and
+	`pure' attributes.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_single_transform_list, &finish_languages)
+	(&handle_dist, &handle_dependencies): Use the language object for
+	autodep and derived-autodep too.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define): Ignore Automake definition for
+	($var, $cond) if there is already a user definition for ($var, $cond).
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_texinfo_file): Catch @cindex and the like,
+	but also @deffn and so on which push data in indexes.
+	Reported by Derek R. Price.
+
+2001-04-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (Language): New package, temporarily in this file.
+	Use Class::Struct.
+	(Automake): New package.
+	(%languages): New.
+	(&handle_single_transform_list): Use the language object's `ansi'
+	attribute instead of `$language_map{"$lang-ansi-p"}'.
+	(&register_language): Build and register the language too.
+
+2001-04-11  Tom Tromey  <tromey@redhat.com>
+
+	Fixes report from Larry Jones:
+	* automake.in (handle_dependencies): Add `@_am_quote@' where
+	appropriate.
+	* m4/make.m4 (AM_MAKE_INCLUDE): Handle BSD-style make.
+
+2001-04-11  Akim Demaille  <akim@epita.fr>
+
+	* depend2.am: Fix the `if' condition for Libtool.
+	Reported by Robert Boehne.
+
+2001-04-10  Robert Collins  <robert.collins@itdomain.com.au>
+
+	* tests/subobj5.test: New file.
+
+2001-04-10  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+
+	* m4/make.m4 (AM_MAKE_INCLUDE): Pass `-s' to make.
+	* tests/Makefile.am (TESTS): Added make.test.
+	* tests/make.test: New file.
+
+2001-04-10  Tom Tromey  <tromey@redhat.com>
+
+	* tests/defs: Changed how ACLOCAL and AUTOMAKE are set.
+
+2001-04-10  Derek R. Price  <dprice@collab.net>
+
+	* tests/defs: Allow user to override AUTOMAKE and ACLOCAL.
+
+2001-04-10  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am: Add a missing backslash.
+
+2001-04-10  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_aclocal_m4): Handle $relative_dir and special
+	variables.
+	Specify to the caller whether $regen_aclocal_m4.
+	(&handle_configure): Adjust.
+	Transform `REGEN-ACLOCAL-M4'.
+	Reported by Tom.
+	* configure.am: Use it.
+	* tests/defs (me): New.
+	* tests/confdeps.test: New.
+
+2001-04-09  Tom Tromey  <tromey@redhat.com>
+
+	* m4/missing.m4 (AM_MISSING_HAS_RUN): Use `true', not `:'.
+	Fixes report from Jim Meyering.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_configure): Don't bother with optimizing
+	macro uses.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* tests/cond3.test (expected): Adjust.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_single_transform_list): Remove $xbase,
+	unused.
+	(&handle_source_transform): All the variables have conditions now,
+	simplify.
+	(&variable_delete): Admit an argument @conds.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($source_suffix_pattern): Remove, unused.
+	%extension_map seems to have replaced it.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* ext-compile.am: New file.
+	* automake.in (&finish_languages): Output it.
+	Require a C linker if there are several registered source suffixes.
+	(&handle_compile): No longer push the `.c', `.o', `.obj', `.lo'
+	extensions, which are discovered in ext-compile.am.
+	With the help from Robert Boehne.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_compile): Extract from...
+	(&get_object_extension): here.
+	(&read_am_file): Call it.
+	($included_generic_compile, $included_knr_compile)
+	($included_libtool_compile): Remove.
+	($get_object_extension_was_run): New.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	Use AM_CONDITIONAL and if/endif for AMDEP.
+
+	* m4/depend.m4 (AM_DEP_TRACK): Use AM_CONDITIONAL to define AMDEP.
+	* automake.in (&add_depend2): Transform %AMDEP% into `AMDEP' (leading
+	to a configure time if/endif), or to `FALSE' (static removal of
+	the code).
+	(&handle_dependencies): Adjust to use `AMDEP_TRUE'.
+	* depend2.am: Use if/endif.
+
+	Adjust the 101 tests that use dependencies so that they
+	properly invoke aclocal before automake.  They need to `see'
+	`AM_CONDITIONAL([AMDEP], ...)'.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* tags.am: Fix missing leading tabs.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Use simple quotes to define the _PATTERN variables
+	to unobfuscate the regexps.
+	($AM_CONDITIONAL_PATTERN): Let the user quote the variable.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&rule_define): When you discover a suffix rules,
+	register the extensions for .SUFFIXES.
+	(&handle_texinfo): Don't register the suffixes.
+	(&get_object_extension): Don't register suffixes, let them be
+	discovered in depend2.am.
+	(&handle_emacs_lisp): Depend on your lisp.am.
+	* lisp.am: Include the rule &handle_emacs_lisp used to output.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* subdirs.am: Don't define info related recursive targets.
+	* texinfos.am: Do.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* subdirs.am (RECURSIVE_TARGETS): New variable.
+	Use it.
+	* automake.in (&handle_subdirs): Output it.
+	(&file_contents_internal): Support value spread on several lines.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_man_pages): Rely on mans.am to define
+	man%SECTION%dir and MANS.
+	* mans.am: Do it.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_dump): Use %var_type properly.
+	(&macro_define): Enforce better overriding rules.
+	Handle the special case that used to handle...
+	(&define_pretty_variable): this.
+	Hence, don't.
+	The variables you define are owned by Automake.
+	(&generate_makefile): PRE_INSTALL and co must not be defined *by
+	the user*.
+	(&variable_defined): Now independent of the owner.
+	(&variable_output, &variable_pretty_output): Adjust to %var_type.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%var_was_plus_eq): Rename as...
+	(%var_type): this.
+	(%def_type): Remove.
+	(&macro_define): %var_type may now hold `', `+', or `:'.
+	(%conditional, %am_vars, %content_lines): Rename as...
+	(%var_value, %var_comment, %var_line): these.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_output): Admit a list of @CONDS.
+	(&variable_pretty_output): New.
+	(&define_pretty_variable): Use it.
+	(&read_am_file, &file_contents_internal): Prepend a separator to
+	$am_vars only if there is none yet.
+	(&file_contents_internal): Rename $separator as $spacing to
+	harmonize with &read_am_file.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_install_var): Transform DIST, and let the *.am
+	files handle DIST_COMMON.
+	* data.am, header.am, java.am, list.am, python.am, script.am: Set
+	DIST_COMMON.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%dist_common): Remove.
+	(%configure_dist_common): Replace with...
+	($configure_dist_common): this.
+	(&generate_makefile): Read the user file before using
+	push_dist_common, as it sets DIST_COMMON, and read_am_file checks
+	that no variable is defined before it is run.
+	(&handle_texinfo): Don't handle DIST_COMMON, let your file do it.
+	(&dist_cmp): Rename as...
+	(&for_dist_common): this.
+	(&handle_dist): Don't handle DIST_COMMON, let `configure.am' do
+	it.
+	Adjust to $configure_dist_common.
+	* configure.am, texi-vers.am: Set DIST_COMMON.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_aclocal_m4): Rename as...
+	(&scan_aclocal_m4): this.
+	Return the list of aclocal.m4 dependencies.
+	(&handle_configure): Invoke it, and use it when loading...
+	* configure.am: Template the rules to recreate aclocal.m4.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&get_object_extension): Use ansi2knr.am.
+	* clean-kr.am, kr-extra.am: Remove, merged into...
+	* ansi2knr.am: this new file.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&transform): Fix an incredible bug which was
+	breaking the if/endif system.
+	($ELSE_PATTERN): Admit an optional argument.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* comp-vars.am: Remove, merged into...
+	* compile.am: here.
+	* automake.in (&get_object_extension): Adjust.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* remake.am: Merge into...
+	* configure.am: ... here.
+	* automake.in (&handle_configure): Adjust.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&output_lex_build_rule): Output this...
+	* lex.am: New file.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&condition_negate): New.
+	(&variable_conditions_permutations): Use it.
+	(&read_am_file, &file_contents): Use it on `else' clauses to
+	support `if FALSE'.
+	(&output_yacc_build_rule): Output this...
+	* yacc.am: New file.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&make_paragraphs): Transform TOPDIR_P and TOPDIR.
+	(&handle_dist): Don't.
+	(&handle_clean): Don't handle config.status here, let...
+	* clean.am: ... do it.
+	* distdir.am: Adjust.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Use strict vars and subs.
+	Declare `%require_file_found'.
+	(&handle_source_transform, &make_paragraphs): Declare my variables.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* data.am, header.am, java.am, libs.am, lisp.am, ltlib.am,
+	* progs.am, python.am: Use if/endif instead of ?INSTALL?.
+	* java.am (_am_installdirs): Be sure to set it.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&make_condition): Return '#' when FALSE.
+	(&conditional_string): Return FALSE, not '#' in the corresponding
+	cases.
+	(&file_contents_internal): Adjust.
+	(&check_variable_defined_unconditional): Dump the guilty variable.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am: Use and abuse of if/endif.
+	* scripts.am: Using if/endif with variables is fine.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&make_paragraphs):  Extract from &file_contents.
+	Make it more robust than the previous RE based scheme.
+	(&file_contents): Use it.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&make_paragraphs):  Extract from &file_contents.
+	Make it more robust than the previous RE based scheme.
+	(&file_contents): Use it.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* tests/yacc2.test: Don't define several times a variable, as
+	automake complains.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_source_transform): Fix pr72: don't define
+	$linker if there are no @files.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	Avoid reading twice header-vars.am as now macro_define
+	complains.
+
+	* automake.in (&define_standard_variables): Don't output the
+	variables.
+	(&read_main_am_file): Output first user variables, then Automake
+	variables.
+	Don't call twice &define_standard_variables.
+	Save variable comments in $am_vars.
+	(&variable_output): New.
+	(&file_contents_internal): New.
+	Save variable comments in $am_vars.
+	(&file_contents): Use it.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define): The user is allowed to override
+	a value if it was set by Automake, or if it was found in AC_SUBST.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_source_transform): Better locality of the
+	variables.
+	Use `next' to skip nonexistent variables.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_dump): If a variable is undefined, say
+	it.
+	(&check_ambiguous_conditional): Give finer error messages.
+	(&macro_define): Check that a `+=' variable is not set with `='.
+	Check for ambiguous definitions each time you _set_ (even with `+=')
+	a variable.
+	(&read_main_am_file): Perform a deep copy of %conditional.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_defined): Some callers, e.g.,
+	&am_primary_prefixes, really want to know if the variable is
+	defined for any condition, not `TRUE' by default.
+	(&am_primary_prefixes): Give a more precise error message.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	(&variable_conditions): Don't include `FALSE' in the result.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_conditions_reduce): FALSE is absorbent.
+	(&variable_conditions): Don't include `FALSE' in the result.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* tests/defs, tests/depend3.test: Remove useless code.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_source_transform):  Use
+	&variable_conditions, don't read $conditional{$var}.
+	(&variable_conditions_sub): When the call is the top level call,
+	generate all the permutations of the conditions.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* depend2.am (@AMDEP@%FPFX%DEPMODE): Define it when GENERIC so
+	that it does not get noticed twice by automake, which now
+	complains for multiple definitions.
+	* tests/vartar.test: s/INSTALL/install/g, automake now complains
+	because we defined INSTALL.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&generate_makefile) Use macro_define to define
+	SOURCES and OBJECTS.
+	(&variable_defined): Don't check for $conditional{VAR}{COND} as
+	this would make perl create $condition{VAR}, which we don't want.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_defined, &define_pretty_variable):
+	Simplify code which used to handle the cases where not all
+	variables were in %conditional.
+	(&define_variable): Use &define_pretty_variable.
+	(&variable_conditions_sub, &variable_value_as_list_worker)
+	(&variable_value_as_list, &rule_define): Simplify syntax.
+	(&read_main_am_file): Dump the guilty predefined variables.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_conditions_sub)
+	(&variable_value_as_list_worker): Remove dead code which used to
+	handle the cases where not all variables were in %conditional.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_source_transform, &read_main_am_file):
+	Simplify loops which were split in two parts, conditional vs
+	unconditional variables.
+
+2001-04-09  Akim Demaille  <akim@epita.fr>
+
+	Handle unconditional values of variables as conditioned by
+	`TRUE'.
+
+	* automake.in (%contents): Remove.
+	(&generate_makefile, &handle_ltlibraries, &macro_define)
+	(&read_am_file, &variable_defined, &variable_conditions_sub)
+	(&variable_value, &variable_value_as_list_worker)
+	(&variable_value_as_list, &define_pretty_variable)
+	(&read_main_am_file): Use
+	$conditional, not %contents.
+	(&variable_conditions_permutations): Don't return TRUE and FALSE.
+	(&variable_conditionally_defined): New.
+	(&handle_dist): Use it.
+	(&check_ambiguous_conditional): When multiply defined, specify
+	under which condition.
+	(&macro_define): Use it.
+	(&variable_delete): New.
+	(&read_am_file): Use it.
+	(&am_install_var): Simplify, as all the variables are in
+	%conditional now.
+
+2001-04-07  Tom Tromey  <tromey@redhat.com>
+
+	* tests/Makefile.am (XFAIL_TESTS): Added man.test.
+	(TESTS): Likewise.
+	* tests/man.test: New file.
+
+2001-04-07  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* depcomp (gcc3): Invert test condition.
+
+2001-04-07  Tom Tromey  <tromey@redhat.com>
+
+	* depcomp (gcc3, gcc): Don't assume $? will be set in `if'
+	statement.  Report from Larry Jones.
+
+2001-04-07  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* depcomp (sgi): Fix sed expression.  Report from Robert Boehne.
+
+2001-04-01  Tom Tromey  <tromey@redhat.com>
+
+	* java.am (.PHONY clean-am): Removed trailing ":".
+	From Per Bothner.  Fixes PR automake/139.
+
+2001-03-28  Akim Demaille  <akim@epita.fr>
+
+	* program.am: Fix a stupid typo: now *all* (not none) the programs
+	use `$(EXEEXT)'.
+	Reported by Robert Boehne.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_am_file, &file_contents): Avoid name clashes
+	on $cond.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_conditionally_defined): Rename as...
+	(&check_variable_unconditionally_defined): this.
+	(&variable_dump): Fix the output.
+	(&variable_defined, &macro_define): Since conditions are
+	canonicalized, don't use a loop to look for a condition: read the
+	hash.
+	(&macro_define, &rule_define, &read_am_file, &file_contents):
+	Rename $cond_string as $cond.
+	* distdir.am (PACKAGE, VERSION): Remove; since they are already
+	discovered via AC_SUBST, they now trigger a `defined twice' error.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_footer, &handle_installdirs)
+	(&read_main_am_file): Don't read %contents directly, use
+	&variable_value.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_am_file): Define the variables in a single
+	shot.
+	Factor the $saw_bk code.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_am_file): Keep $cond_string up to date.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&define_variable): Use &macro_define.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define): Don't lose the location if we
+	redefine a variable.
+	Don't push all the variables in @var_list, let...
+	(&read_am_file, &file_contents): ... do it.
+	(&define_pretty_variable): Use macro_define.
+	(&am_install_var): Delete the value of variables being redefined
+	to pacify &macro_define which checks that variables are not
+	doubly defined.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&conditional_dump): Rename as...
+	(&variables_dump): this.  Use...
+	(&variable_dump): this new sub.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Maintain $cond_string sync with
+	@cond_stack.
+	Output rules only if not under `FALSE'.
+	Define variables under $cond_string.
+	* scripts.am: For the time being if/endif does not work properly
+	with macros.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (IF_PATTERN): Unobfuscate the parens.
+	(ENDIF_PATTERN): Allow a condition to be specified.
+	(&file_contents): Use a @cond_stack.
+	(&transform): At least for an easy transition, also transform
+	%?FOO% and %!FOO%, as suggested by Lars.
+	* scripts.am: First test bed for static if/endif use.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Use rule_define.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define): Don't rely on $1.
+	Initialize the variable.
+	Set its Automakism only if not defined or if given to the user.
+	When concatenating values, insert a separator only if the value
+	was not empty.
+	(&read_am_file): When dumping the @var_list, skip Automake
+	variables.
+	(&file_contents): Use macro_define.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&rule_define): Extract from...
+	(&read_am_file): here.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define, &read_am_file): More work for the
+	former from the latter.  Reorganize the latter.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&macro_define): Extract from...
+	(&read_am_file): here.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%am_var_defs): Replace with...
+	(%var_is_am): this.
+	(&handle_installdirs, &variable_value_as_list_worker, &read_am_file)
+	(&file_contents, am_primary_&prefixes): Adjust.
+	(&variable_defined, &define_variable): The actual semantics is
+	`user defined'.
+	(&read_main_am_file): Assert the var is user defined when
+	outputting @var_list.
+
+2001-03-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (read_am_file): TRUE and FALSE are predefined
+	conditionals.
+	(&by_condition): Adjust.
+	(&conditional_string): Recognize `TRUE' and `FALSE'.
+	(&make_condition): Use it.
+	* m4/cond.m4: Reject TRUE and FALSE as conditionals.
+	* automake.texi (Conditionals): Adjust.
+	* tests/cond9.test: s/FALSE/WRONG/.
+
+2001-03-12  Pavel Roskin  <proski@gnu.org>
+
+	* tests/Makefile.am (XFAIL_TESTS): Remove cond3.test, it passes
+	now.
+
+2001-03-12  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_conditions_permutations): Separate the
+	conditions.
+	* tests/cond3.test: Improve the sed expression.
+
+2001-03-09  Pavel Roskin  <proski@gnu.org>
+
+	* Makefile.am (maintainer-check): Scan all *.am files and tests
+	for invocations of `rm' without `-f'.
+	* tests/mclean.test: Adjusted to prevent triggering the above
+	test.
+
+2001-03-09  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (scan_one_autoconf_file): Fixed comment to avoid
+	maintainer-check failure.
+
+2001-03-09  Akim Demaille  <akim@epita.fr>
+
+	* tests/cond3.test: Strengthen.
+
+2001-03-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&conditional_string): Produce a unique string
+	characterizing a condition stack.
+	(&conditional_same): Remove, comparing two strings is now enough.
+	(&variable_defined): Adjust.
+	(&read_am_file): Use conditional_string.
+
+2001-03-08  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Use -w.
+	Normalize all use of `$lang . '-foo'' into `"$lang-foo"'.
+	(&parse_arguments): Support --Werror and --Wno-error as a
+	temporary hack until --warning/-W is properly implemented.
+	(&handle_single_transform_list): Prototype.
+	Be sure to define $directory.
+	Use `exists' instead of testing the value of a maybe undefined
+	hash value.
+	(&add_depend2, &handle_configure, &handle_footer, &file_contents)
+	(&handle_factored_dependencies): Use defined values.
+	(&scan_one_autoconf_file): Save $_.
+	* tests/lex2.test, tests/sinclude.test, tests/suffix3.test:
+	Run automake with --Wno-error.
+
+2001-03-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_all): Use an array instead of a scalar for
+	local_headers.
+	Get rid of all-redirect: let `all' be that target.
+
+2001-03-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_merge_targets): Ventilate its non `all'
+	related content into...
+	(&generate_makefile): here.
+	(&handle_merge_targets): Rename as...
+	(&handle_all): this.
+	Remove a useless `if': `@all' is obviously not empty, since it
+	contains at least the `basename ($makefile)' which has just been
+	unshifted.
+
+2001-03-07  Akim Demaille  <akim@epita.fr>
+
+	* automake.in, aclocal.in: Backquote is inert in double quotes.
+
+2001-03-06  Akim Demaille  <akim@epita.fr>
+
+	* Makefile.am (maintainer-check): Simplify `grep -v ... | grep .'
+	into `grep -v ...'.
+
+2001-03-06  Pavel Roskin  <proski@gnu.org>
+
+	* java.am: Use `rm -f' instead of `rm'.
+
+2001-03-06  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&push_dist_common): Simplify.
+
+2001-03-06  Jens Krüger <jens_krueger@physik.tu-muenchen.de>
+
+	* ltlib.am: Replaced spaces with tab.
+
+2001-03-06  Pavel Roskin  <proski@gnu.org>
+
+	* tests/Makefile.am (XFAIL_TESTS): noinstdir.test removed, it's
+	fixed now.
+
+2001-03-05  Pavel Roskin  <proski@gnu.org>
+
+	* header.am, scripts.am: Use ?INSTALL? in the install and
+	uninstall rules.
+
+2001-03-05  Pavel Roskin  <proski@gnu.org>
+
+	* tests/copy.test: Never use `rm' without `-f' - it may ask
+	questions, notably for read-only files during `make distcheck'.
+	* tests/insh.test: Likewise.
+	* tests/installsh.test: Likewise.
+	* tests/symlink.test: Likewise.
+	* tests/symlink2.test: Likewise.
+	* tests/symlink3.test: Likewise.
+
+2001-03-05  Pavel Roskin  <proski@gnu.org>
+
+	* noinstdir.test: New test.
+	* tests/Makefile.am (TESTS): Add noinstdir.test.
+	(XFAIL_TESTS): Likewise.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_options): Change the RE so that the third
+	part of the versions always exist.
+	(&file_contents): Don't pass uninitialized values to &transform.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Require a hash as second argument.
+	Adjust callers.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	Always use hashes with &file_contents.
+
+	* automake.in (&handle_texinfo): texibuild.am does not need
+	TEXINFODIR.
+	texinfos.am wants only TEXICLEANS.
+	(&handle_dist, &add_depend2, &handle_clean): Replace $xform with
+	%transform.
+	* texinfos.am: Adjust.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_programs, &handle_libraries, &handle_tags)
+	(&handle_ltlibraries, &handle_emacs_lisp, &handle_python): Adjust.
+	(&am_install_var): Forget about `-clean'.
+	Transform ?INSTALL?.
+	Always output the *.am file.
+	* data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am,
+	* ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am:
+	Remove, merged into the corresponding *.am file.
+	* data.am, libs.am, ltlib.am, progs.am, python.am: Equip with
+	?INSTALL?.
+
+2001-03-05  Pavel Roskin  <proski@gnu.org>
+
+	* Makefile.am (amfiles): Add configure.am. Sort alphabetically.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	If OBJEXT and EXEEXT are not set, provide a default value, and use
+	them unconditionally.
+
+	* automake.in (&generate_makefile): Provide default values for
+	EXEEXT and OBJEXT.
+	(&get_object_extension, &finish_languages)
+	(&handle_single_transform_list, &handle_programs, &add_depend2)
+	(&check_cygnus, &lang_c_finish, am_install_var): Don't bother with
+	them, they are defined.
+	* compile.am, depend2.am, program.am, progs.am: Likewise.
+	* remake-hdr.am: Fix a typo.
+	* tests/cxxo.test, tests/fo.test, tests/implicit.test,
+	* tests/interp.test, tests/subobj.test, tests/subobj2.test,
+	* tests/suffix2.test: Adjust.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Map MAINTAINER-MODE to
+	@MAINTAINER_MODE_TRUE@ or nothing.
+	* configure.am, remake-hdr.am, remake.am, texi-vers.am: Adjust.
+	Suggested by Tom.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&do_one_merge_target): Remove, was only called from...
+	(&handle_merge_targets): here for `all'.
+	Adjust.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	Make the installation/uninstallation of Info pages follow the
+	regular am/recursive scheme.
+
+	* automake.in (%required_targets, %dependencies): Add
+	install-info.
+	(%dependencies): Add install-info, install-info-am, and
+	unstall-info.
+	(&handle_subdirs): Don't transform INSTALLINFO, which mapping was
+	reversed BTW.  Does anybody use the option `no-installinfo'?
+	(&handle_merge_targets): Let the handling of info related targets
+	to...
+	(&handle_factored_dependencies): this.
+	* subdirs.am: Use ?INSTALL-INFO?.
+	* texinfos.am: Define the install-info, uninstall-info and
+	uninstall-info-am targets.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%required_targets, %dependencies): Add dvi, info,
+	dvi-am, info-am.
+	(@info, @dvi): Remove.
+	(&handle_texinfo, &handle_merge_targets): Adjust.
+	(&handle_factored_dependencies): Required targets are phony.
+	* texinfos.am: Build info, dvi, and the corresponding -am or
+	-recursive targets.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_install_var): Remove $cygxform, unused.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Transform LIBTOOL.
+	(&am_install_var): Remove $ltxform.
+	* ltlib.am, progs.am: Adjust.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Require AC_PROG_INSTALL in...
+	(&scan_autoconf_files): here.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* configure.am: New file.
+	* automake.in (&file_contents): Transform CONFIGURE-AC.
+	(&handle_texinfo, &handle_configure): Don't transform
+	CONFIGURE_AM.
+	(&handle_configure): Use `configure.am'.
+	* remake-hdr.am, remake.am, texi-vers.am: Adjust to
+	MAINTAINER-MODE and CONFIGURE-AC.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&pretty_print_internal): Don't output useless
+	spaces.
+	(define_pretty_variable): Don't issue the space after the `=' sign
+	to avoid trailing spaces in Makefile.ins.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&generate_makefile): Invoke &initialize_per_input
+	*before* setting $am_file_name and $in_file_name.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($in_file_name, $am_file_name, $relative_dirs):
+	Globals, initialized...
+	(&initialize_per_input): here.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($am_relative_dir): Global.
+	(&initialize_per_input): Init it.
+	(%make_list, @make_input_list): My them from
+	(&scan_autoconf_files): here.
+	(&require_file_internal): Mying changes.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%am_vars, @var_list, %def_type): Globals.
+	(&initialize_per_input): Initialize them.
+	(&read_main_am_file): Don't local them.
+	(&get_object_extension): $objext is private.
+	(&handle_single_transform_list): $lang is.
+	(&handle_ltlibraries): $libname_rx is.
+	(&scan_autoconf_config_files): How about actually paying attention
+	to your arguments, instead of working on $_? (this is no Perl
+	variable, it's a Perl variable followed by a question mark).
+	(&file_contents): $contents and $separator are private.
+	(&am_install_var): Declare @condvals, not $condvals.
+	(%make_dirs): My.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&initialize_per_input): Move to the top.
+	Precede with the `my' list of its variables.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($am_file): Use vars.
+	($am_file_name, $in_file_name): Private to &generate_makefile.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Preparation for `use strict': Move the
+	initialization of the constants to the top, from...
+	(&initialize_global_constants): here.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_single_transform_list, &add_depend2): Let
+	$lang_specific_files{$lang} be a list instead of a string.
+
+2001-03-05  Akim Demaille  <akim@epita.fr>
+
+	Let's make it run ten times faster...
+
+	* automake.in (&transform): Be sure to remove the `\n' with ?FOO?
+	transformations.
+	(&file_contents): Let `$command' remove the Automake commands, and
+	normalize the series of `\n'.
+	Slurp the file and apply $command in a single step.
+	No longer apply the `@MAINTAINER_MODE_TRUE@' transformation which
+	is already normalized to be handled by &transform.
+
+2001-03-05  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (register_language): Add entry for `-pure'.
+	Added `pure=yes' entries for cxx, objc, f77, ppf77, ratfor, java.
+	(finish_languages): Use `-pure' field of language map.
+
+2001-03-03  Tom Tromey  <tromey@redhat.com>
+
+	* tests/yaccvpath.test: No need to remove dummy files.
+	* tests/subobj3.test: No need to remove dummy files.
+	* tests/pr9.test: No need to remove dummy files.
+	* tests/pr87.test: No need to remove dummy files.
+	* tests/pr19.test: No need to remove dummy files.
+	* tests/install2.test: No need to remove dummy files.
+	* tests/defs: Actually copy in install-sh, mkinstalldirs, missing,
+	and depcomp.
+
+2001-02-27  Pavel Roskin  <proski@gnu.org>
+
+	* tests/yaccvpath.test: Add a delay to make parse.c really out
+	of date. Detect the problem earlier, after `make distdir'. Drop
+	dependency on flex. Always use the `-y' flag for bison. Comment
+	changes.
+	* tests/Makefile.am: Add yaccvpath.test to XFAIL_TESTS.
+
+2001-03-02  Jens Krüger <jens_krueger@physik.tu-muenchen.de>
+
+	* depend2.am (?!GENERIC??LIBTOOL?%LTOBJ%): Add `%' to fix typo.
+
+2001-02-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&add_depend2): Transform `GENERIC'.
+	Get rid of the ad hoc transformation of `@EXT@.o:' which in
+	addition was broken by the `@ -> %' patch.
+	* depend2.am: Adjust to use ?GENERIC?.
+
+2001-02-28  Akim Demaille  <akim@epita.fr>
+
+	* Makefile.am (maintainer-check): `undef $/' is OK.
+
+2001-02-28  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_configure): Fortunately, $top_reldir,
+	the definition of which was highly suspicious, was unused.
+
+2001-02-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%exec_dir_p): Move to the top so that it is visible
+	to all routines.
+
+2001-02-27  Pavel Roskin  <proski@gnu.org>
+
+	* tests/yaccvpath.test: Prevent automake from looking into ..
+	and ../.. by using AC_CONFIG_AUX_DIR in configure.in.
+
+2001-02-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%exec_dir_p): Pulled out from...
+	(&am_primary_prefixes): here.
+
+2001-02-27  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&usage): Display $0, not $me.
+
+2001-02-27  Akim Demaille  <akim@epita.fr>
+
+	* mans.am: s/INSTALL_MAN/INSTALL-MAN/.
+	* automake.in (&handle_clean): Don't escape what's given to
+	&transform.
+
+2001-02-27  Akim Demaille  <akim@epita.fr>
+
+	Distinguish automake substitutions from config.status
+	substitutions.
+
+	* automake.in (&add_depend2): Transform AMDEP.
+	(&handle_clean): Transform MCFILES and MFILES.
+	(&file_contents): Transform MAINTAINER_MODE.
+	(&transform, &am_install_var): Use `%', not `@'.
+	Adjust all the *.am files.
+	* clean.am: Use ?MFILES? instead of ad hoc MAINTAINERCLEAN.
+	* depend2.am: Display the double dependency on both ?AMDEP? and
+	@AMDEP@.
+
+2001-02-27  Tom Tromey  <tromey@redhat.com>
+
+	* distdir.am (distcheck): Fixed new code.
+
+	* tests/yaccvpath.test: Fail gracefully if bison/flex not found.
+	Only configure once.
+
+	* distdir.am (distcheck): Print error message if distclean failed
+	to fully clean.
+
+2001-02-27  Pavel Roskin  <proski@gnu.org>
+
+	* tests/Makefile.am (TESTS): s/yaccpvath/yaccvpath/.
+
+2001-02-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/Makefile.am (TESTS): Added yaccvpath.test.
+	* tests/yaccvpath.test: New file.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_install_var): Recognize whether predefined
+	directories are `data' or `exec'.
+	* libs.am, ltlib.am, progs.am, python.am, scripts.am: Install
+	?EXEC?.
+	* tests/instdata2.test: Update.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* texinfos.am: No ?EXEC? hook as currently installing TEXINFOS is
+	necessarily in infodir.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($am_file): Be `local', as my'd variables used in
+	`foreach' loops are always private to the loop.
+
+2001-02-26  Pavel Roskin  <proski@gnu.org>
+
+	* Makefile.am: Add install.am.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&target_cmp, &dist_cmp): Do not prototype comparing
+	routines, otherwise the elements to compare are passed in @_
+	instead of $a and $b.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%required_targets): `installcheck-am' is needed.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&transform_cond): Merge into...
+	(&transform): this.
+	Adjust all uses.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_dist): Use &transform instead of dedicated
+	magic for DISTDIRS.
+	But be sure to always do it.
+	* distdir.am: Adjust.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Use File::Basename.
+	(&dirname, &basename): Remove.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($me): New.
+	Use it.
+	(&usage): Display your full name.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.texi (Invoking Automake): Remove dead options.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&scan_texinfo_file): Also compute the list of files
+	to clean.
+	Handle local errors.
+	(&handle_texinfo): Use it.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Don't pass arguments to...
+	(&parse_arguments): Work on @ARGV.
+	Use Getopt.
+	Add support for `-f'.
+	(&version): New.
+	(&usage): Update.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_merge_targets, &do_one_merge_target): Don't
+	handle installcheck and installcheck-am.
+	* install.am: Do it.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_merge_targets, &do_one_merge_target): Don't
+	handle install and install-am.
+	* install.am: Do it.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_merge_targets, &do_one_merge_target): Don't
+	work on targets handled by %dependencies.
+	(&handle_factored_dependencies): Do it.
+	* install.am: Install install-exec, install-data and uninstall's
+	suites.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_merge_targets): Move `install-strip' from
+	here...
+	* install.am: to here.
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@installdirs): Remove.
+	(&file_contents): Be able to grow Automake macros with `+='.
+	(&handle_texinfo, &handle_man_pages, &am_install_var): Let your
+	files define _am_installdirs.
+	(&handle_installdirs): Remove the code, just output `install.am'.
+	* install.am: New.
+	* data.am, header.am, libs.am, lisp.am, ltlib.am, mans.am, progs.am,
+	* python.am, scripts.am, texinfos.am: Extend $(_am_installdirs).
+
+2001-02-26  Akim Demaille  <akim@epita.fr>
+
+	* tests/instdata2.test (libexec_DATA): Exercise more
+	possibilities.
+
+2001-02-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* header-vars.am (INSTALL_STRIP_FLAG): Remove (obsolete).
+
+2001-02-25  Tom Tromey  <tromey@redhat.com>
+
+	* tests/instdata2.test: Added `sbin_DATA' check.
+
+	* tests/Makefile.am (TESTS): Added subdircond.test.
+	* tests/subdircond.test: New file.
+	* automake.in (handle_gettext): Don't fail if SUBDIRS
+	conditionally defined.
+
+	* automake.in: Use IO::File.
+	(generate_makefile): Use IO::File.
+	(scan_texinfo_file): Likewise.
+	(handle_aclocal_m4): Likewise.
+	(scan_autoconf_traces): Likewise.
+	(scan_one_autoconf_file): Likewise.
+	(read_am_file): Likewise.
+	(file_contents): Likewise.
+	(create): Likewise.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_texinfo): Remove code handled by texinfos.am.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&transform): Also call &transform_cond on your
+	arguments.
+	(&handle_dist): Adjust.
+	(&handle_factored_dependencies): Uniq dependencies.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_gettext): Simplify redundant `if'.
+	Used &variable_value, don't read %contents directly.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($install_recursive): Remove, replaced with calls to
+	`&variable_defined ('SUBDIRS')'.
+	(&handle_dist, &handle_clean): Don't transform_cond SUBDIRS since...
+	(&file_contents): now does.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_man_pages): $found is dead.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	Internally just store the conditionals as space separated lists of
+	CONDITIONS (instead of @CONDITIONS@).
+
+	* automake.in (&conditional_true_when, &variable_conditions_sub):
+	Split conditions at spaces.
+	(&handle_dependencies, &variable_conditions_permutations): Don't
+	put @ around conditions.
+	(&variable_conditions_cmp): There are no @ to strip.
+	(&make_condition): New.
+	(&define_pretty_variable, &read_main_am_file, &read_am_file): Use
+	it.
+	(&read_main_am_file, &read_am_file): Stop playing with @ by hand.
+	Join @conditional_stack with spaces.
+	(&read_main_am_file): Adjust the output of variables.
+	Output `TRUE = true' under the condition `TEST' as `@TEST@TRUE =
+	true' and no longer `@TEST@TRUE = @TEST@true'.
+	(&variable_conditions_cmp): Rename as...
+	(&by_condition): this.
+	Sort in a human pleasant order.
+	Use it everywhere a human can see conditions.
+	(&variable_conditions_reduce): Don't sort conditions, that's
+	pointless.
+	* tests/cond.test, ctarget1.test, pluseq3.test: Strengthen.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: `my' the globals.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&initialize_per_input): %targets_conditionals is
+	new.
+	(&read_am_file): When slurping a rule, set the target related
+	variable, and no variable related variable.
+	(&file_contents): Likewise.
+	* tests/vartar.test, tests/ctarget1.test: New.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&variable_defined, &variable_value_as_list_worker):
+	If $VAR is effectively a variable, don't die if it's also a
+	target.
+	Plus some formatting changes.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Mying changes.
+	* Makefile.am (maintainer-check): Check the stability of the
+	number of uses of `local'.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Mying changes.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Mying changes.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Mying changes.
+	(&handle_tags): Fix a bug uncovered by the previous mying changes:
+	transform CONFIG into $config, not $xform.
+
+2001-02-25  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_texinfo, &handle_man_pages, &am_install_var):
+	Don't deal with install-data-am, install-exec-am and unstall-am.
+	(&initialize_per_input): Add them to %dependencies.
+	Remove %exec_dir_p since the *.am files are now in charge of it.
+	Remove @uninstall, @install_data, @install_exec.
+	(&handle_merge_targets): Adjust to these removals.
+	(&file_contents): Also &transform_cond for --no-installman and
+	--no-installinfo.
+	(&do_one_merge_target): Add some magic to install hooks on
+	%dependencies' targets.
+	(%required_targets): New.
+	(&handle_factored_dependencies): Output required targets.
+	* data.am, header.am, java.am, libs.am, lisp.am, ltlib.am,
+	* mans-vars.am, mans.am, progs.am, python.am, scripts.am,
+	* texinfos.am: Declare your dependencies on install-data-am,
+	install-exec-am and uninstall-am.
+	* tests/instdata2.test (incldata_HEADERS): New test.
+
+2001-02-24  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.am (amfiles): Added texibuild.am.
+	* texibuild.am: New file.
+	* tests/Makefile.am (TESTS): Added texinfo9.test.
+	* tests/texinfo9.test: New file.
+	* automake.in (handle_texinfo): Keep track of suffixes used.  Give
+	error if suffix unrecognized.  Removed extraneous newline.
+
+2001-02-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&am_install_var): Don't hook on the clean targets
+	and .PHONY.
+	* data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am,
+	* ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am:
+	Do it.
+
+2001-02-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Promote local `my' over `local'.
+
+2001-02-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Formatting and mying changes.
+
+2001-02-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Formatting and mying changes.
+
+2001-02-23  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_man_pages): Let install-man and
+	uninstall-man be handled by the dependency tracker.
+	(&initialize_per_input): Let %dependencies track them.
+	* mans.am: Add the needed hooks with the proper dependencies.
+
+2001-02-22  Pavel Roskin  <proski@gnu.org>
+
+	* tests/target-cflags.test: Don't use subshell to configure in
+	subdirectory. Typo fix - run `./foo', not `/foo'.
+
+2001-02-22  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Formatting and mying changes.
+
+2001-02-21  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_dist): Introduce new variable to avoid extra
+	keys in %dist_dirs.  Fixes distdir.test.
+
+	* automake.in (handle_texinfo): Only remove suffixes we can
+	handle.
+
+	* tests/distdir.test: Check to make sure directory isn't made in
+	build directory.
+
+	* automake.in (handle_dist): Do nothing in Cygnus mode.
+
+2001-02-21  Pavel Roskin  <proski@gnu.org>
+
+	* header-vars.am: Remove tabs before variable definitions.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* tests/distdir.test (EXTRA_DIST): Use a finer pattern to avoid
+	false diagnostics.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&dist_cmp, &target_cmp): Be sure to return a
+	numeric value as required by Perl 5.6.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* dist-vars.am: Remove, merge into...
+	* distdir.am: this.
+	* automake.in (dirname, basename, backname): Move to the top of
+	the file so that prototypes are checked,
+	Use them without `&'.
+	(&handle_dist): Adjust.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&check_ambiguous_conditional, &read_main_am_file):
+	Use a uniform naming scheme.
+	(&quote_cond_val, &unquote_cond_val): Delete, dead code.
+	(&read_am_file): Fix conditional definition of backslash continued
+	items.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	Change the handling of conditionals: instead of using an ad-hoc
+	encoding to store a hash in a string, use hashes.
+
+	* automake.in (&conditional_dump): New.
+	(&check_ambiguous_conditional, &variable_defined)
+	(&variable_conditions_sub, &variable_value_as_list_worker)
+	(&define_variable, read_am_file, &read_main_am_file): Be sure to
+	handle `$conditional{$vars}' as a hash instead of a plain string.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&conditional_true_when): Modernize, simplify.
+	Warning: `$comp' is now private (my), while it used to be
+	`inherited' from a `local' elsewhere in the code.  AFAICT it was
+	wrong, but some dirty side effect might show up.
+	(&conditionals_true_when): New.
+	(&variable_conditions_sub, &variable_conditions_reduce): Use it.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in ($top_builddir): Remove, used in one place.
+	(&define_standard_variables): Adjust.
+	Move the definition of triplet variables into...
+	* header-vars.am: here.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&initialize_global_constants): Don't define $USAGE.
+	(&usage): Handle the former content of $USAGE.
+	Don't pretend autoconf cares about Makefile.in.
+	Classify the options.
+	(&handle_tests): Formatting and mying changes.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&handle_tests_dejagnu): Move the definition of a
+	default `site.exp' into...
+	* dejagnu.am (site.exp): here.
+	Use DOS compliant file names.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&dist_cmp): New.
+	(&handle_dist): Use it.
+	Promote `my' over `local'.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* dist.am: Remove, merge into...
+	* distdir.am: here.  Use the neat sed snippet for banners.
+	BTW, distcheck is phony.
+	* automake.in (&handle_dist_worker): Remove, merge into...
+	(&handle_dist): this.
+	(&file_contents): Strip leading new lines.
+	Be sure to end comments with new lines.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am (GZIP_ENV): Define.
+	* automake.in (&handle_dist): Don't.
+	(&uniq): New.
+	(&handle_dist_worker, &am_install_var): Use it.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am (distdir): Handle the DIST-TARGETS.
+	* automake.in (&handle_dist_worker): Don't.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Transform the global options (such
+	as CYGNUS).
+	(&handle_texinfo, &handle_dist_worker, &handle_tests_dejagnu): Don't.
+
+2001-02-21  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am (distdir): Be sure to have permissive rights on its
+	contents.
+	(dist-all, dist-bzip2, dist-zip, dist-tarZ): New conditional
+	targets.
+	And BTW, all these guys are phony.
+	* automake.in (&handle_dist_worker): As its name doesn't indicate,
+	output distributions.
+	(&handle_dist): As its name doesn't indicate, don't.
+	(&initialize_global_constants): Don't define variables which
+	content is now handled by distdir.am.
+	But register `dist-all' as a factored target.
+	(&handle_factored_dependencies): Don't output empty targets.
+
+2001-02-20  Tom Tromey  <tromey@redhat.com>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Simplify m4_pattern_allow
+	invocation.
+
+2001-02-18  Tom Tromey  <tromey@redhat.com>
+
+	* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Don't call AM_PROG_STRIP.
+	Set INSTALL_STRIP_PROGRAM_ENV to `$(STRIP)', not `$STRIP'.
+	(AM_PROG_STRIP): Commented out.
+
+2001-02-17  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* depcomp (gcc3): Protect against the compiler deleting
+	the dependency output file.
+
+2001-02-17  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (handle_merge_targets): Use double quotes around
+	setting of INSTALL_STRIP_PROGRAM.
+	* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM
+	to absolute path at runtime.
+	(AM_PROG_STRIP): Don't explicitly test $STRIP.
+
+2001-01-28  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/strip.m4: New file.
+	* m4/Makefile.am (m4data_DATA): Add strip.m4.
+	* m4/init.m4: Call AM_PROG_INSTALL_STRIP.
+	* m4/missing.m4 (AM_AUX_DIR_EXPAND): New function.
+	* automake.in (handle_merge_targets): In the install-strip rule,
+	set INSTALL_PROGRAM to INSTALL_STRIP_PROGRAM, and INSTALL_PROGRAM_ENV
+	to INSTALL_STRIP_PROGRAM_ENV; don't use INSTALL_STRIP_FLAG.
+	* progs.am (install-@DIR@PROGRAMS): Adapt to use INSTALL_PROGRAM_ENV,
+	don't use INSTALL_STRIP_FLAG any longer.
+
+2001-02-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_one_configure_file): Unquote AC_CONFIG_AUX_DIR's
+	argument.
+
+2001-02-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (unquote_m4_arg): New function.
+	(scan_one_configure_file): Call unquote_m4_arg on
+	AM_CONFIG_HEADER argument, so that AM_CONFIG_HEADER([foobar.h])
+	works.
+
+2001-02-15  Tom Tromey  <tromey@redhat.com>
+
+	* config.guess, config.sub: New versions from FSF.
+
+	* Makefile.am (WGET): New macro.
+	(FETCHFILES): New macro.
+	(fetch): New target.
+
+	* tests/subobj3.test: Exit with status 77 if gcc not found.
+	* tests/pr9.test: Exit with status 77 if gzip not found.
+	* tests/pr87.test: Exit with status 77 if gcc not found.
+	* tests/pr19.test: Exit with status 77 if gzip or gcc not found.
+	* tests/install2.test: Exit with status 77 if gzip not found.
+	* tests/exsource.test: Exit with status 77 if GNU make not found.
+	* tests/ansi3.test: Exit with status 77 if gcc not found.
+
+	* tests/target-cflags.test: Require GNU make.  Exit with status 77
+	if gcc or make not found.  Fixes PR automake/121.
+
+	* configure.in: Require Perl 5.005.
+	* automake.in: Require 5.005.
+
+	* automake.texi (Top): Conditionalize on `nottex', not `info'.
+	Fixes PR automake/122.
+
+2001-02-14  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (add_depend2): Only emit a given object rule once.
+	Fixes specflags6.test.
+
+2001-02-14  Richard Boulton  <richard@tartarus.org>
+
+	* tests/specflags6.test: New file.
+
+2001-02-14  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (A Shared Library): Mention -module.
+
+2001-02-13  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (do_one_merge_target): Always register $name and
+	$name-am as phony.
+
+	* automake.in (do_one_merge_target): Register `all' as phony
+	target.
+
+	* configure.in: Updated to 1.4e for cvs.
+
+2001-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Updated to 1.4d and released.
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly allow various AM_*
+	names through autoconf.
+
+	Fix for subdirbuiltsources.test:
+	* automake.in (initialize_per_input): [all_target] Initialize to
+	empty string.
+	(handle_merge_targets): Use all-redirect target to handle built
+	sources.
+	(do_one_merge_target): Don't generate all-redirect rule.
+
+2001-02-11  Peter Muir  <iyhi@yahoo.com>
+
+	* tests/subdirbuiltsources.test: New file.
+	* tests/Makefile.am (TESTS): Added new file.
+
+2001-02-10  Tom Tromey  <tromey@redhat.com>
+
+	* tests/condlib.test: New file.
+	* tests/Makefile.am (TESTS): Added new file.
+
+2001-02-10  Lars J. Aas  <larsa@sim.no>
+
+	* automake.in ($MACRO_PATTERN): Include '@' in name regex.
+	(&canonicalize): New. Includes '@' in canonical range.
+	(&check_canonical_spelling, &handle_programs, &handle_libraries,
+	&handle_ltlibraries, &handle_texinfo): Use &canonicalize.
+
+2001-02-10  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* automake.in (handle_configure): Revert part of
+	'2001-02-04  Kevin Ryde <user42@zip.com.au>'.  Don't
+	set CONFIG_COMMANDS explicitly.
+
+2001-02-09  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* depcomp (gcc3): Propagate exit code.
+
+2001-02-09  Lars J. Aas  <larsa@sim.no>
+
+	* header.am (install-@DIR@HEADERS): s,?!NOBASE?,?!BASE?, (typo)
+
+2001-02-09  Tom Tromey  <tromey@redhat.com>
+
+	Clean up maintainer-check warnings:
+	* Makefile.am (maintainer-check): Ignore comment lines in CDPATH
+	check.
+	* automake.in (handle_dist_worker): Removed redundant `my $xform'.
+
+2001-02-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&file_contents): Remove a dead branch.
+
+2001-02-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&transform): Use `my', not `local'.
+	(&transform_cond): New.
+	(&get_object_extension, &handle_texinfo, &handle_tags)
+	(&handle_dist_worker, &handle_dist, &add_depend2, &handle_clean)
+	(&handle_tests_dejagnu): Use it.
+	* texinfos.am, lisp.am, header.am, dist.am, distdir.am, depend2.am
+	* dejagnu.am, data.am, clean.am: Adjust to the new syntax.
+
+2001-02-09  Akim Demaille  <akim@epita.fr>
+
+	* automake.in: Various formatting changes, and modernization of
+	Perl constructs.
+	(&backname): New.
+	(&handle_configure, define_standard_variables): Use it.
+
+2001-02-08  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (file_contents): Only add $actions if any are
+	found.  Fixes new failure in pr87.test.
+
+2001-02-08  Pavel Roskin  <proski@gnu.org>
+
+	* tests/pr87.test: Check foo/Makfile.in after it is created.
+
+2001-02-08  Tom Tromey  <tromey@redhat.com>
+
+	* tests/pr87.test: Added check for blank line after `.c.o' rule.
+	Report from Lars J. Aas.
+
+2001-02-07  Lars J. Aas  <larsa@sim.no>
+
+	* lisp.am (install-@DIR@LISP): Removed extra space.
+	* header.am (install-@DIR@HEADERS): Removed extra space.
+	* data.am (install-@DIR@DATA): Removed extra space.
+
+2001-02-07  Tom Tromey  <tromey@redhat.com>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use \", not ".
+
+	* automake.in (handle_dependencies): Use _am_include, not
+	AMINCLUDE.
+	* tests/exsource.test: Use _am_include, not AMINCLUDE.
+	* m4/make.m4 (AM_MAKE_INCLUDE): Use _am_include, not AMINCLUDE.
+
+	* tests/Makefile.am (XFAIL_TESTS): Removed distcommon.test.
+
+	* tests/Makefile.am (EXTRA_DIST): Added ChangeLog-old.
+
+	* automake.in (handle_configure): Handle case where output file is
+	in subdir with no Makefile of its own.  Fixes remake3.test,
+	distcommon.test.
+
+2001-02-06  Pavel Roskin  <proski@gnu.org>
+
+	* automake.in (handle_dependencies): Rename AM_INCLUDE to
+	AMINCLUDE.
+	* m4/make.m4 (AM_MAKE_INCLUDE): Likewise.
+	* tests/exsource.test: Likewise.
+
+2001-02-06  Derek Price  <derek.price@openavenue.com>
+
+	* automake.in (handle_configure): Fix syntax error.
+
+2001-02-06  Akim Demaille  <akim@epita.fr>
+
+	* subdirs.am: This file is the exception: clean recursive targets
+	are called by the clean targets, not the clean-am targets.
+	Otherwise we have a circular dependency: clean -> clean-am ->
+	clean-recursive -> clean.
+	* automake.in (handle_clean): Bind `-local' targets to `-am'
+	targets, not top targets.
+	Don't declare -recursive dependencies of the clean targets:
+	`subdirs.am' did it.  Less hard coded knowledge, transfered
+	into...
+	* clean.am: here.
+
+2001-02-06  Akim Demaille  <akim@epita.fr>
+
+	Monstro unsplitable patch.
+
+	The aim is to remove hard coded knowledge about clean targets from
+	automake.in, leaving them in the *.am files.
+	In addition to the mechanic needed to factor some dependencies, it
+	appears some rules (most notably distclean and maintainer-clean)
+	need factored actions.  So first, be ready to catch factored
+	rules.
+
+	* automake.in (&file_contents): For the time being, use an extended
+	$RULE_PATTERN which is able to match any kind of rules, with or
+	without dependency, with or without actions.
+	Handle all the rules uniformly, storing in %actions the factored
+	actions.
+	(&flatten, &target_cmp): New.
+	(&handle_factored_dependencies): Output the %actions.
+	No longer special case `clean'.
+	Output the rules in alphabetical order, but keeping `.PHONY' last.
+
+	Now we must not use &push_phony_cleaners, which is doing all sort
+	of magic to push a bit of everything in all the clean targets.
+	The biggest problem being that, making a Cartesian product, it
+	requires many useless targets.  The `*.am' file know better.
+	But first, register the new factored rules.
+
+	* automake.in (&initialize_per_input): Include clean, mostlyclean,
+	maintainer-clean, distclean and their `*-am' counterpart in
+	%dependencies.
+	Initialize %actions.
+	(get_object_extension, handle_texinfo, handle_tags, handle_multilib)
+	handle_dependencies, handle_subdirs, handle_configure, handle_clean)
+	(handle_emacs_lisp, handle_python): Don't play with
+	&push_phony_cleaners nor &depend and `clean'.
+	* texinfos.am, texi-vers.am, tags-clean.am:
+	* subdirs.am,python-clean.am, multilib.am, lisp-clean.am:
+	* libtool.am, kr-extra.am, depend.am, compile.am, clean.am:
+	* clean-kr.am, clean-hdr.am: Do it.
+	Whenever a target is empty, just remove it, it will no longer be
+	called.
+
+	There is still some magic about clean to hard code.  But really,
+	that's the end of &do_one_clean_target.
+
+	* automake.in (&do_one_clean_target): Kaboom out.
+	(&handle_clean): Rewrite the magic code.
+	(&am_install_var): No longer use &push_phony_cleaners, nor depend
+	on `clean'.
+	(&push_phony_cleaners): Kaboom too.
+
+2001-02-06  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (do_one_clean_target): Don't hard code knowledge
+	about libtool, and maintainer-clean.
+	* clean.am, libtool.am: Handle these.
+
+2001-02-05  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (handle_texinfo): No longer hard code the clean
+	targets.
+	(texinfos.am): Include them.
+
+2001-02-05  Akim Demaille  <akim@epita.fr>
+
+	* Makefile.am (perl4-check): Remove, we now require Perl 5.
+	(maintainer-check): Don't be silent when you find a problem, and
+	actually, even specify the locations.
+	Also check that @_ is assigned to arrays.
+
+2001-02-05  Akim Demaille  <akim@epita.fr>
+
+	* m4/regex.m4: Use AC_LIBSOURCES.
+	* automake.in (scan_autoconf_traces): Trace AC_LIBSOURCE, not
+	_AC_LIBOBJ_DECL.
+
+2001-02-04  Tom Tromey  <tromey@redhat.com>
+
+	* m4/Makefile.am (m4data_DATA): Added make.m4.
+	* automake.in (handle_dependencies): Use @AM_INCLUDE@ to include
+	dependency files.
+	* m4/depend.m4 (AM_DEPNDENCIES): Require AM_MAKE_INCLUDE.
+	Copy depcomp to subdir.
+	* m4/make.m4: New file.
+
+2001-02-04  Pavel Roskin  <proski@gnu.org>
+
+	* automake.in (handle_dist_worker): Remove a line that is now
+	in distdir.am.
+
+2001-02-04  Kevin Ryde  <user42@zip.com.au>
+
+	* automake.in (handle_configure): Call config.status with empty
+	CONFIG_LINKS and CONFIG_COMMANDS when regenerating a file.
+
+2001-02-04  Tom Tromey  <tromey@redhat.com>
+
+	* depcomp (ddashmd): Removed case.
+	(sgi): Handle failure exit correctly
+	(aix): Likewise.  Also, add dummy `.h' targets.
+
+2001-02-04  Akim Demaille  <akim@epita.fr>
+
+	* distdir.am (distdir): New file, extracted from...
+	* automake.in (handle_dist_worker): here.
+	Adjust.
+
+2001-02-04  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (@clean): Remove, replaced by...
+	($dependencies{'clean'}): this.
+	Use `&depend' instead of push'ing into @clean.
+	(handle_factored_dependencies): For the time being, skip 'clean'.
+	(do_one_clean_target): Don't ask for argument 1 and 4 as they are
+	always `clean', and `@clean'.
+
+2001-02-04  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (%dependencies): Don't be initialize globally for
+	all the files, but in...
+	(&initialize_per_input): here.
+	(&depend): New.
+	(@phony): Replace all occurrences with the corresponding &depend
+	invocation.
+
+2001-02-03  Tom Tromey  <tromey@redhat.com>
+
+	* header.am (install-@DIR@HEADERS): Use INSTALL_HEADER.
+	* header-vars.am (INSTALL_HEADER): New macro.
+
+	* automake.texi (Rebuilding): New node.
+
+-----
+
+Copyright (C) 2001, 2003  Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/ChangeLog.02
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/ChangeLog.02	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/ChangeLog.02	(revision 3089)
@@ -0,0 +1,3239 @@
+2002-12-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/ChannelDefs.pm: New file.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add ChannelDefs.pm.
+	* automake.in: Move all "register_channel" calls to ChannelDefs.pm.
+	(prog_error, error, fatal, verb, switch_warning, parse_WARNINGS,
+	parse_warnings): Move to ChannelDefs.pm.
+	(usage): Move the warning list to Automake::ChannelDefs::usage
+	and call it.
+	(set_strictness): Move channel setings to
+	Automake::ChannelDefs::set_strictness and call it.
+
+	* automake.in (err): Rename as ...
+	(error): ... this.  Adjust all callers.
+	Suggested by H.Merijn Brand.
+
+2002-12-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/version7.test: Require GNU make.
+	Reported by Patrick Welche.
+
+2002-12-11  Brian Ford  <ford@vss.fsi.com>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Properly quote AC_PACKAGE_TARNAME
+	and AC_PACKAGE_VERSION.
+
+2002-12-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (ANSI): Since Autoconf 2.54, LIBOBJ and LTLIBOBJ
+	no longer have to be rewritten in order to support deansification.
+	(Tests): Link to the DejaGnu manual.
+	(Optional): Comment out FIXME.
+	(Complete, A Library, LIBOBJS): Use $(LIBOBJ) and $(ALLOCA)
+	instead of @LIBOBJ@ and @ALLOCA@.
+	(Sources): Typo.
+
+2002-12-05  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/am/texinfos.am (install-info-am, uninstall-info-am): Strip
+	directories from info filenames.
+	* tests/texinfo13.test: Make sure main.info gets installed
+	as $(infodir)/main.info.
+
+	* automake.in (handle_dist): Do not define %GETTEXT% if the user
+	is using $seen_gettext_external, this distcheck won't run
+	`./configure' with a meaningless `--with-included-gettext'.
+	* tests/gettext.test: Make sure distcheck uses --with-included-gettext.
+	* tests/gettext2.test: Make sure distcheck does not use
+	--with-included-gettext.
+
+	* m4/ccstdc.m4: Define am_cv_prog_cc_stdc for backward
+	compatibility and diagnose the use of AM_PROG_CC_STDC.
+	* automake.texi (Public macros) <AM_PROG_CC_STDC>: Remove
+	documentation, this macro is no longer supported.
+	Reported by Kevin Ryde.
+
+2002-12-04  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_languages): Test $objdir, not $srcdir, to
+	decide whether a _.c file is in a subdirectory and has to be
+	cleaned separately.
+	Reported by Kevin Ryde.
+
+	* tests/ansi10.test (liblib_a_LIBADD): Set ac_cv_prog_cc_stdc
+	not am_cv_prog_cc_stdc.
+
+	* automake.texi (Options): Some English nits from Eric Siegerman.
+	(Sources): Rewrite the introduction and move the example to ...
+	(Built sources example): ... this separate node.
+
+	* automake.in (variable_pretty_output): Strip trailing
+	backslashes in $val after $val is defined...
+	Reported by Kevin Ryde.
+
+	* tests/depcomp2.test: Pass CC='gcc' as an argument to ./configure
+	not in the environment.  Otherwise the test will fail when
+	run with ksh and VERBOSE=x.
+	Reported by Paul Jarc.
+
+	* tests/man2.test: Exercize `make uninstall', to test
+	the previous change.
+
+2002-12-03  Nicolas Joly  <njoly@pasteur.fr>
+
+	* lib/am/mans.am (uninstall-man%SECTION%): Change the extension of
+	the man pages being uninstalled, if needed.
+
+2002-12-03  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (macro_define): Do not strip escaped new lines
+	in Automake's +='ed variables.  We don't know whether it will
+	be pretty printed or not at this point.
+	(variable_pretty_output): Do this here.
+	* tests/pluseq10.test: New file.
+	* tests/Makefile.am (TESTS): Add pluseq10.test.
+	Reported by Ralf Corsepius.
+
+2002-12-02  Charles Wilson  <cwilson@ece.gatech.edu>
+
+	* tests/gnits3.test (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT):
+	Append $(EXEEXT) again.
+
+2002-12-02  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Sources): Illustrate $(BUILT_SOURCES) with an
+	example.
+
+	* automake.texi (Options): Programs listed in
+	AM_INSTALLCHECK_STD_OPTIONS_EXEMPT should have $(EXEEXT) appended.
+	* tests/gnits3.test (AM_INSTALLCHECK_STD_OPTIONS_EXEMPT):
+	Append $(EXEEXT).
+	Reported by Charles Wilson.
+
+2002-12-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (lang_c_finish): Do not fill de_ansi_files with
+	subdirectory informations for %libsources files.  A LIBOBJS source
+	is always in the current directory.  This reverts part of a change
+	from 2002-01-13.
+	* tests/ansi10.test: New file.
+	* tests/Makefile.am (TESTS): Add ansi10.test.
+
+	* automake.in (do_check_merge_target): Add missing space.
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+	* configure.in: Do not use missing while checking for Autoconf's
+	version, otherwise we won't notice that Autoconf isn't installed.
+	Augment the error message with a few questions to help users.
+
+2002-11-30  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/gnits2.test, tests/gnits3.test: Move the greps inside the
+	Makefile, so we can honor $(EXEEXT).  Otherwise these tests
+	fail under Cygwin.
+	Reported by Charles Wilson.
+
+	For PR automake/375 (Debian Bug #168671):
+	* automake.in (scan_texinfo_file): Erase all known index files, no
+	matter whether they are used at the top-level or not, because we
+	can never know if they are used in included files.  The remaining
+	macros we recognize at the top-level of a Texi document are
+	@defindex, @defcodeindex, @synindex, and @syncodeindex.
+	* tests/texinfo18.test: New file.
+	* tests/Makefile.am (TESTS): Add texinfo18.test.
+	Reported by Simon Richter.
+
+	* automake.in (scan_texinfo_file): Honor only the first @setfilename.
+	* tests/texinfo17.test: New file.
+	* tests/Makefile.am (TESTS): Add texinfo17.test.
+	Reported by Karl Berry.
+
+	For PR automake/357:
+	* automake.in (require_file_internal): Don't complain a file is "not
+	found" when it is a target.  Make sure "not found" files are otherwise
+	reported as error (they were reported as 'note').
+	* tests/distcommon3.test: Augment to test the above.
+	* tests/libobj12b.test: Touch ltmain.sh.
+	* tests/required2.test: Make sure Automake fails because ltmain.sh
+	has been removed.
+	Reported by Ronald Landheer.
+
+	* tests/texinfo3.test: Make sure we don't output single suffix
+	inference rules when building `.info'-less Info files (this
+	confuses Solaris make).  Run distcheck to make sure the rules
+	work.
+	* automake.in (output_texinfo_build_rules): Define GENERIC_INFO
+	and SOURCE_INFO.
+	* lib/am/texibuild.am (%SOURCE_SUFFIX%%DEST_SUFFIX%,
+	%DEST_PREFIX%%DEST_SUFFIX%): Honor GENERIC_INFO and SOURCE_INFO.
+
+2002-11-29  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/359:
+	* automake.in (do_check_merge_target): Make `check' dependent on
+	$(BUILT_SOURCES) if the variable is defined.  Run `check-am' or
+	`check-recursive' in a submake in this case.
+	* tests/check2.test, tests/check3.test: New files.
+	* tests/check.test: Make sure `check' depends on `check-am'.
+	* tests/Makefile.am (TESTS): Add check2.test and check3.test.
+
+	For PR automake/371 and PR automake/372:
+	* automake.in (rule_define): Honor inference rules with multiple
+	targets, and warn when they are used.
+	* tests/suffix11.test: New file.
+	* tests/Makefile.am (TESTS): Add suffix11.test.
+	Reported by Duncan Gibson.
+
+2002-11-28  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/370:
+	* automake.in (handle_languages): Don't prepend $U to $myext
+	since handle_single_transform_list now appends it to $obj.
+	Process the rule twice to handle deansified files in subdirectories.
+	Mark _.c files in subdirectories for cleaning.
+	(handle_single_transform_list): Append $U to $obj_sans_ext if
+	needed: before this dependencies were output foo.Po instead
+	of foo$U.Po.  Don't output explicit dependencies for renamed
+	objects or sources in sub-directories: we already output
+	a full compile rule for them.
+	(lang_c_finish): Don't always use the full filename in the
+	.c -> _.c rule.  This reverts part of my change of 2002-11-21.
+	* tests/ansi6.test, tests/ansi7.test: Make sure deansified
+	files are created in the right directory, and cleaned.
+	Reported by Kevin Ryde.
+
+2002-11-25  Jim Meyering  <jim@meyering.net>
+
+	* lib/install-sh: Put `$0:' at the beginning of each diagnostic,
+	not `install:'.
+
+2002-11-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (make_condition_string): New function.
+	(cond_stack_if, cond_stack_else, cond_stack_endif): Use it.
+	Suggested by Raja R Harinath.
+
+	* tests/texinfo13.test: Require texi2dvi-o.
+	* tests/defs.in: Handle required=texi2dvi-o.
+
+	* automake.in (lang_c_finish): Use $@ in the .c -> _.c rule.
+
+	* automake.in (handle_single_transform_list): Don't strip the
+	directory from $full_ansi.  This reverts my patch of 2002-10-16.
+	(lang_c_finish): Use the full filename, including the directory,
+	in the .c -> _.c rule.  These two files must reside in the same
+	directory.
+	* tests/ansi6.test: Also try to compile without ansi2knr.
+	Reported by Andreas Schwab
+
+2002-11-20  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Conditional.pm (strip): New function.
+	* lib/Automake/ConditionalSet.pm (sub_conditions): Use it.
+	Suggested by Raja R Harinath.
+
+	* automake.in (conditional_ambiguous_p, macro_define, rule_define,
+	require_variables): Use ->human instead of ->string.
+	* lib/Automake/Conditional.pm (string): Don't sort conditions, they
+	are already sorted.
+	(_to_human, human): New functions.
+	* lib/Automake/ConditionalSet.pm (human): New function.
+	* tests/cond27.test, tests/library3.test, tests/pluseq5.test,
+	tests/pluseq9.test: Adjust.
+
+	* lib/Automake/Conditional.pm [SYNOPSIS]: Fix not's description.
+	* lib/Automake/ConditionalSet.pm (sub_conditions): New function.
+	(multiply): Also accept an Automake::Conditional as argument.
+	* automake.in (variable_not_always_defined_in_cond): Simplify,
+	using only Automake::ConditionalSet methods.
+	Suggested by Raja R Harinath.
+
+	* lib/Automake/ConditionalSet.pm (conds): Use value() to simplify.
+	(invert): Rewrite as a product-of-sums to sum-of-products converter.
+	(_multiply, multiply): New functions.
+	* lib/Automake/Conditional.pm (not): New function.
+	* lib/Automake/tests/ConditionalSet.pl (test_invert): Update.
+	* automake.in (condition_negate): Move ...
+	* lib/Automake/Conditional.pm (negate_condition): ... here.
+	Suggested by Raja R Harinath.
+
+2002-11-19  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/ConditionalSet.pm (_simplify, simplify): New methods.
+	(true): Cache return value, so _simplify can use it.
+	* lib/Automake/tests/ConditionalSet.pl (test_simplify): New function.
+	* automake.in (variable_not_always_defined_in_cond): Return
+	a simplified ConditionalSet.
+	(macro_define, require_variables): Adjust.
+	* tests/Makefile.am (TEST): Add library3.test.
+	* tests/library3.test: New file.
+	* tests/pluseq9.test: Adjust.
+	Thanks to Raja R Harinath.
+
+2002-11-18  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/tests/Makefile.am, lib/Automake/tests/Conditional.pl,
+	lib/Automake/tests/ConditionalSet.pl: New files.
+	* lib/Automake/Makefile.am (SUBDIRS): New variable.
+	* configure.in: Output lib/Automake/tests/Makefile.
+	* lib/Automake/ConditionalSet.pm (by_conditions): Delete.
+	(conds): Don't use by_conditions, sort alphabetically, and
+	return sorted conds.
+	(string): Call ->string on each Conditional.
+	* tests/Makefile.am (TESTS): Remove cond12.test.
+	* tests/cond12.test: Remove, moved to
+	lib/Automake/tests/ConditionalSet.pl.
+	* tests/cond3.test: Adjust conditional ordering.
+
+2002-11-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/ConditionalSet.pm (_permutations_worker): Ignore TRUE
+	conditions.
+	(permutations): Treat empty permutations as TRUE.
+	(invert): Simplify.
+	Suggested by Raja R Harinath.
+
+2002-11-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (variable_defined): Thinko.
+	* lib/Automake/ConditionalSet.pm (true): Simplify.
+	(permutations): Fix documentation.
+	(new): Don't simplify conditional sets that contain TRUE.
+	Reported by Raja R Harinath.
+
+2002-11-14  Eric Blake  <ebb9@email.byu.edu>
+
+	* lib/am/depend2.am: Add missing fi in c.obj rules.
+
+2002-11-14  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_installdirs): Reindent to workaround a
+	parsing bug in Perl 5.6.0.
+	Reported by Patrick Welche.
+
+	* lib/Automake/Conditional.pm: Add reference to ConditionalSet.pm.
+	* lib/Automake/ConditionalSet.pm: New file.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add ConditionalSet.pm.
+	* automake.in: Use ConditionalSet.
+	(by_condition, invert_conditions, variable_conditions_permutations):
+	Remove, now defined as Automake::ConditionalSet::by_condition,
+	Automake::ConditionalSet::invert, and
+	Automake::ConditionalSet::permutations.
+	(variable_sorted_conditions): Remove.
+	(msg_var, msg_target handle_source_transform, handle_lib_objects,
+	conditional_ambiguous_p, variable_not_always_defined_in_cond,
+	macro_define, macro_dump, variable_defined,
+	variable_conditions_recursive, variable_conditions,
+	target_conditions, variable_conditionally_defined,
+	variable_conditions_recursive_sub,
+	check_variable_defined_unconditionally, variable_value_as_list,
+	variable_value_as_list_recursive_worker, variable_output,
+	variable_pretty_output, rule_define, append_exeext,
+	am_install_var, require_variables_for_macro): Adjust to
+	use ConditionalSet.
+
+2002-11-13  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (variable_conditions): Split into ...
+	(variable_conditions, variable_sorted_conditions): ... these
+	functions, where variable_sorted_conditions has the semantic of
+	the old variable_condition.
+	(target_conditions): New function.
+	(msg_var, handle_lib_objects_cond, check_ambiguous_conditional,
+	variable_not_always_defined_in_cond, macro_define,
+	variable_defined, check_variable_defined_unconditionally,
+	variable_conditions_recursive_sub,
+	variable_conditions_permutations, variable_value_as_list,
+	variable_value_as_list_recursive_worker, append_exeext,
+	am_install_var, require_variables_for_macro): Use variable_conditions.
+	(msg_target, rule_define): Use target_conditions.
+	(define_objects_from_sources, macro_define, macro_dump,
+	variable_pretty_output): Use variable_sorted_conditions.
+
+	* automake.texi (Conditional Sources): Fix the `+=' example.
+	Reported by Mike Castle.
+
+	* automake.in: Don't declare TRUE and FALSE, import them from
+	Automake::Conditional.
+	* lib/Automake/Conditional.pm (TRUE, FALSE): New constants.
+	(new): Simplify using FALSE.
+	(reduce): New function, moved from ...
+	* automake.in (variable_conditions_reduce): ... here.
+	(variable_conditions_recursive_sub, invert_conditions):
+	Adjust calls to Automake::Conditional::reduce.
+	* tests/cond12.test: Adjust to use Automake::Conditional.
+
+2002-11-09  Jim Meyering  <jim@meyering.net>
+
+	Make install-sh work even when names contain spaces or
+	certain (but not all) shell metachars.
+
+	* lib/install-sh: Remove lots of unnecessary quoting.
+	Add double quotes where necessary.
+	Write diagnostics to stderr, not stdout.
+	Normalize spacing in diagnostics: use one space (not two,
+	and not a TAB) after the leading `install:'.
+	Remove trailing white space.
+	Remove unnecessary curly braces.
+	If removing the destination fails, also try to move it aside.
+	Use `trap' more portably.
+	* tests/installsh2.test: New file, to test for the above fix.
+	* tests/Makefile.am (TESTS): Add installsh2.test.
+
+	* automake.texi: Fix some typos and a grammar nit.
+
+2002-11-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (switch_warning): Subject Perl warnings to -Werror.
+
+	* automake.texi (Extending): Complete unterminated sentence.
+	Reported by Mike Castle.
+
+2002-11-06  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&conditional_ambiguous_p): Don't forget to ->string
+	the Conditionals.
+
+2002-10-31  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.texi (Dist): Fix the distcleancheck_listfiles example.
+	Reported by Karl Berry.
+
+2002-10-31  Akim Demaille  <akim@epita.fr>
+
+	* tests/location.test (Makefile.am): Strengthen.
+	* lib/Automake/Channels.pm (_print_message): Be sure to flush
+	$partial when the message is output.
+	Thanks to Alexandre Duret-Lutz.
+
+2002-10-31  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&read_am_file): Use $last_where to register the
+	_first_ line of a variable definition as location instead of the
+	last one.
+	(&conditional_ambiguous_p): Don't forget to ->string the
+	Conditionals.
+	(&rule_define): Likewise.
+	* tests/location.test: Adjust to exercise this.
+
+2002-10-25  Charles Wilson  <cwilson@ece.gatech.edu>
+
+	* tests/defs.in: Add explicit stanza for python -V.
+
+2002-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* tests/ansi6.test, tests/ansi7.test: Set ac_cv_prog_cc_stdc instead
+	of am_cv_prog_cc_stdc.  This follows Akim's patch of 2002-10-09,
+	and reveals a bug in my patch of 2002-10-15.
+	* automake.in (handle_single_transform_list): Strip directory name
+	from $full_ansi if subdir-objects is not set.
+
+	* lib/texinfo.tex: New version from Texinfo 4.2b.
+
+2002-10-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_single_transform_list) <full_ansi>: New variable.
+	Use this to record correct dependencies about deansifiable files which
+	are using per-program flags or are in a subdirectory.
+	* tests/ansi9.test: New file.
+	* tests/Makefile.am (TESTS): Add ansi9.test.
+	Reported by Paul D. Smith
+
+2002-10-12  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* aclocal.in (ac_defun_rx, ac_require_rx): If the macro name is
+	quoted, accept any character but `]'.  This makes it possible
+	to define macros such as `AC_LANG_PREPROC(Fortran 90)'.
+	(scan_m4_files): Quote $key in the regex.  Don't define $expr, it's
+	not used.
+	(add_file, scan_file): Adjust to the new definitions of $ac_defun_rx
+	and $ac_require_rx.
+	* tests/aclocal2.test: New file.
+	* tests/Makefile.am (TESTS): Add aclocal2.test.
+	Reported by Tamara L. Dahlgren and Tom Epperly.
+
+2002-10-11  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For Debian Bug#153697:
+	* lib/am/dejagnu.am (distclean-DEJAGNU): Remove $tool.sum and
+	$tool.log.
+	Suggested by Andrew Suffield.
+
+2002-10-10  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	For PR automake/369:
+	* lib/am/python.am: Lookup python files in build directory or
+	source directory.
+	From Mathias Doreille.
+	* tests/python3.test: New file.
+	* tests/Makefile.am (TESTS): Add python3.test.
+	* tests/defs: Handle `required=python'.
+
+	For PR automake/358:
+	* lib/am/texi-vers.am (%STAMPVTI%): Depend on configure instead of
+	configure.ac.
+	Suggested by Thien-Thi Nguyen.
+	* lib/am/configure.am ($(srcdir)/configure): Depends on
+	%CONFIGURE_DEPS%
+	* automake.in (@configure_deps): New array.
+	(scan_autoconf_traces): Scan for m4_include and m4_sinclude,
+	and fill @configure_deps.
+	(handle_configure): Substitute %CONFIGURE_DEPS%.
+	Distribute @configure_deps.
+	* tests/version7.texi: New file.
+	* tests/vtexi.test: Adjust.
+	* tests/Makefile.am (TESTS): Add version7.test.
+	* automake.texi (Dist): Mention that m4_include'd files
+	are distributed.
+
+2002-10-09  Akim Demaille  <akim@epita.fr>
+
+	* m4/ccstdc.m4 (AM_PROG_CC_STDC): Its definition is now empty:
+	the content of this macro was merged in AC_PROG_CC.
+	* m4/protos.m4 (AM_C_PROTOTYPES): Adjust to AC_C_PROTOTYPES.
+	* tests/depacl.test: Remove, it exercizes aclocal in a way that was
+	exercized by all the other tests since the test suite really uses
+	aclocal.
+	* tests/Makefile.am (TESTS): Remove depacl.test.
+
+2002-10-08  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%,
+	%DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Use "makeinfo -o output
+	input", not "makeinfo input -o output", as the latter fails if
+	POSIXLY_CORRECT=1.
+	* lib/am/texinfos.am (.dvi.ps): Likewise for dvips.
+	* m4/depend.m4 (_AM_DEPENDENCIES): Likewise for $depcc.
+
+2002-10-08  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (file_contents_internal): Fix the relationship
+	regex flags, don't use `m'.
+
+	For Debian Bug#162583:
+	* automake.in (file_contents_internal): Simplify regex to
+	separate relationship from actions in rules.
+	Reported by Sam Hocevar.
+
+	* lib/Automake/Conditional.pm (has): Simplify.
+
+2002-10-07  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* lib/Automake/Conditional.pm: New file.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Conditional.pm.
+	* automake.in: Use Automake::Conditional.
+	(TRUE, FALSE): New constants.
+	(%var_value, %var_location, %var_comment, %var_type, %var_owner,
+	%targets, %target_source, %target_name, %target_owner): Tie to
+	Tie::RefHash::Nestable.
+	(generate_makefile, process_option_list, handle_options,
+	handle_languages, handle_source_transform, handle_compile,
+	handle_libtool, handle_texinfo_helper, handle_dist, handle_subdirs,
+	scan_aclocal_m4, handle_emacs_lisp, handle_python,
+	scan_autoconf_files, variable_assert, define_variable,
+	define_pretty_variable, define_configure_variable, am_install_var,
+	push_dist_common): Use TRUE.
+	(define_objects_from_sources): Fix return value on
+	"recursively-defined" errors.
+	(conditional_string, conditional_true_when, conditional_is_redundant,
+	conditional_implies_any, make_conditions): Remove these functions,
+	obsoleted by Conditional.pm.
+	(cond_stack_if, cond_stack_else, cond_stack_endif): Return
+	an Automake::Conditional instance.
+	(by_condition, conditional_ambiguous_p,
+	variable_not_always_defined_in_cond, macro_define,
+	variable_conditions_recursive, variable_conditions_recursive_sub,
+	variable_conditions_reduce, invert_conditions,
+	variable_conditions_permutations,
+	check_variable_defined_unconditionally, variable_value_as_list,
+	variable_output, variable_pretty_output, rule_define,
+	read_am_file, file_contents_internal, require_variables): Adjust
+	to use Automake::Conditional objects.
+	(handle_footer): Get $(SUFFIXES) in 'all' conditions.
+	* tests/cond12.test: Adjust to use Automake::Conditional objects.
+
+2002-10-01  Alexandre Duret-Lutz  <adl@gnu.org>
+
+	* automake.in (handle_source_transform): If foo_SOURCES is defined
+	conditionally, create and use am__foo_SOURCES_DIST for distribution.
+	* tests/condd.test: Extend to check distributed files.
+	* tests/substref.test: Make sure we don't use such a variable when
+	it's not needed.
+	Reported by Marcus Brinkmann.
+
+2002-09-30  Ezra Peisach  <epeisach@MED-XTAL.BU.EDU>
+
+	* tests/defs.in: Run $MAKE --version -v.
+	* tests/dollar.test: Abort on ./defs failure.
+	* tests/lex5.test: Require GNUmake, not make.
+
+2002-09-30  Kevin Ryde  <user42@zip.com.au>
+
+	* m4/as.m4 (AM_PROG_AS): Let CCAS and CCASFLAGS default to the actual
+	values of $CC and $CFLAGS (as opposed to $(CC) and $(CFLAGS)), so
+	configure tests can use them.  Use AC_ARG_VAR instead of AC_SUBST.
+
+2002-09-30  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (require_variables): The fix introduced in 2002-09-19
+	is imcomplete.  Rewrite the conditional variable definition check
+	using &variable_not_always_defined_in_cond.
+	* tests/cond26.test, tests/cond27.test, tests/cond28.test: New file.
+	* tests/Makefile.am (TESTS): Add cond26.test, cond27.test, and
+	cond28.test.
+	Reported by Juergen Keil.
+
+	* automake.in (INTERNAL): Redefine as an empty location,
+	so that internal locations get displayed as `automake:'.
+
+	* lib/am/distdir.am (distdir): Create $dc_destdir right before
+	its use.
+	Reported by Akim Demaille.
+
+	Fix for PR automake/366:
+	* automake.in (handle_dist): Strip $(srcdir) and replace
+	$(top_srcdir) when computing DIST_COMMON directories.
+	* tests/include2.test: Use an obsolute $(srcdir), and check
+	for spurious directories in $(distdir)/sub.
+	* lib/am/distdir.am: Rewrite $(top_srcdir) as $(top_builddir).
+	Reported by Kevin Ryde.
+
+2002-09-29  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/Automake/Channels.pm (%_default_options): Add 'partial'.
+	(_format_message): Rename as ...
+	(_format_sub_message): ... this.
+	(_format_message): New function, extracted from ...
+	(_print_message): ... here.  Honor the 'partial' option.
+	($partial): New variable.
+	* automake.in (handle_ltlibraries, check_ambiguous_conditional,
+	rule_define): Mark partial messages.
+
+	* automake.in (handle_ltlibraries): Record library locations in
+	%liblocations, and print the previous declaration on error.
+	* tests/libtool6.test: Check that the locations of the two
+	definitions are shown.
+
+	For PR automake/360:  Propagate more locations.
+	* automake.in (handle_programs): Adjust usage of am_install_var's
+	return value.  Pass on locations as context to file_contents.
+	(handle_libraries, handle_ltlibraries): Likewise.  Use locations
+	in the 'not a standard library name' diagnostic.
+	(handle_emacs_lisp, handle_python): Adjust usage of am_install_var's
+	return value.  Pass on locations to require_variables and
+	require_conf_file.
+	(check_ambiguous_conditional): Strip trailing dot in message.
+	(value_to_list): Add the $WHERE and $LOC_WANTED arguments.
+	(variable_value_as_list_recursive_worker): Add the $LOC_WANTED
+	argument.  Adjust calls to value_to_list.
+	(variable_value_as_list_recursive): Call
+	variable_value_as_list_recursive_worker with $LOC_WANTED = 0.
+	(variable_loc_and_value_as_list_recursive): New function,
+	variable_value_as_list_recursive_worker with $LOC_WANTED = 1.
+	(am_install_var): Use variable_loc_and_value_as_list_recursive,
+	and return a list of [$location, $value] pairs.
+	(rule_define): Use better locations in EXEEXT diagnostic.
+	(handle_source_transform, define_objects_from_sources): Add and use
+	a $WHERE argument.  Adjust callers.
+	* tests/stdlib.test: Grep the location in error message.
+	* tests/location.test: New file.
+	* tests/Makefile.am (TESTS): Add location.test.
+
+	* tests/exeext3.test: New file.
+	* tests/Makefile.am (TESTS): Add exeext3.test.
+	* automake.in (%target_name): New hash.
+	(initialize_per_input): Reset %target_name.
+	(rule_define): Fill %target_name, and use it to detect targets
+	which have been registered with key X but really are X$(EXEEXT).
+
+2002-09-28  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/360:
+	* lib/Automake/Location.pm: New file.
+	* lib/Automake/Channels.pm (_print_message): Display contexts
+	when given an Automake::Location.
+	(msg): Clone the location.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Location.pm.
+	* tests/comment5.test: Make sure we display `included from' stacks.
+	* automake.in: Use Automake::Location.
+	(INTERNAL): New constant.
+	(file_contents, file_contents_internal, define_variable,
+	define_pretty_variable, read_am_file): Take $WHERE as argument.
+	Adjust all callers.
+	(scan_autoconf_traces) <$where>: Define as a Location, and use
+	it instead of $here.
+	(macro_define, rule_define): Make sure $WHERE is a location.
+	Clone it before updating $var_location or $targets.
+
+2002-09-27  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/mkinstalldirs: Reindent using `sh-indentation: 2'.
+	Suggested by Bruno Haible.
+
+	* Makefile.am (fetch, FETCHFILES): Don't fetch install-sh from
+	Autoconf.  Automake now has the master copy of install-sh and
+	mkinstalldirs.
+
+2002-09-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Bump version to 1.7a.
+
+	* NEWS, configure.ac: Version 1.7.
+
+2002-09-25  Art Haas  <ahaas@neosoft.com>
+
+	* automake.texi (Optional, Options, Distributing, ANSI,
+	API versioning): Spelling fixes and Texi tweaks.
+
+2002-09-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Check for 'tex'.
+	* tests/defs.in: Handle required=tex using configure's result.
+	Reported by Patrick Welche.
+
+	* Makefile.am (mdate-sh): Remove.
+	* mdate-sh: Delete.
+	Suggested by Akim Demaille.
+
+2002-09-25  Tom Tromey  <tromey@redhat.com>
+
+	* NEWS: Mention distuninstallcheck.
+	* automake.texi (Dist): Document new macro and target.
+	* lib/am/distdir.am (distuninstallcheck_listfiles): New macro.
+	(distuninstallcheck): New target.
+	(distcheck): Use distuninstallcheck.
+
+2002-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	* tests/specflags7.test (true_CFLAGS, false_CFLAGS, false.c): Use
+	AM_TRUE, AM_FALSE to avoid bad interaction with Tru64 UNIX
+	<sys/types.h>.
+	* tests/specflags8.test (true_CPPFLAGS, false_CPPFLAGS, false.c):
+	Likewise.
+
+2002-09-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (output_texinfo_build_rules): Define %SOURCE_REAL%.
+	* lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%,
+	%DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Add %SOURCE_REAL% as dependency.
+
+2002-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	* lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Use $$dir in make
+	command.
+
+2002-09-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_single_transform_list): Revert the change
+	from 2002-09-22.  We need to erase .libs/ in the object directory
+	in addition to the library directory.
+
+	* tests/target-cflags.test: Build in `build/', not `obj/' because
+	`obj/' is special to BSD make.
+
+	* automake.in (read_am_file): Prefix included files with
+	$(top_srcdir) or $(srcdir) in DIST_COMMON.  Fixes
+	subdircond2.test, and subdircond3.test on OSF1.
+
+	* tests/defs.in (SHELL): Set it.
+
+	* lib/am/distdir.am (distcleancheck): Mention `in build directory'
+	in error message.
+
+2002-09-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/350:
+	* automake.in (handle_ltlibraries): Allow a library to be installed
+	many times in the same directory.
+	* tests/libtool5.test, tests/libtool6.test: New files.
+	* tests/Makefile.am (TESTS): Add libtool5.test and libtool6.test.
+
+2002-09-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_ltlibraries): Fill $libtool_clean_directories
+	here, with directories where .la files are built...
+	(handle_single_transform_list): ... not here with directories
+	where .lo files are built.
+	* tests/libtool3.test: Build a library in a subdirectory to
+	check for this.
+	Reported by Peter Gavin.
+
+	* tests/cond5.test: Give more time to automake.
+	Reported by Art Haas.
+
+	* configure.in: Really check for Autoconf 2.54.
+
+	* automake.texi (Yacc and Lex): ylwrap is used only when there is
+	more than one yacc or lex source file in a directory.
+
+	* automake.in (macro_define): Update a variable's location each
+	time its owner is updated.
+	* tests/gnuwarn.test: Append to CFLAGS to check for this.
+	Reported by Harlan Stenn.
+
+2002-09-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Bump version to 1.6g.
+
+	* configure.in, NEWS: Bump version to 1.6f.
+
+	* Makefile.am (INSTALL): New rules.
+
+2002-09-20  Mirko Streckenbach  <strecken@infosun.fmi.uni-passau.de>
+
+	For PR automake/363:
+	* m4/cond.m4: Fix AC_MSG_ERROR quoting.
+
+2002-09-19  Pavel Roskin  <proski@gnu.org>
+
+	* tests/warnopts.test: Fix random failures by removing Autoconf
+	cache directory when configure.in changes.  Use the code and the
+	comment from tests/asm.test.
+
+2002-09-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Program and Library Variables) <maude_LIBADD>:
+	Don't mention _LDADD for Libtool libraries.
+	Reported by Schleicher Ralph.
+
+	For PR automake/361:
+	* tests/suffix8.test: More explicit dependencies.
+	Reported by Paul Eggert.
+
+	* automake.in (rule_define): Don't diagnose duplicate user rules.
+	* tests/phony.test, tests/percent2.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+	Reported by Ralf Corsepius.
+
+	* automake.in (require_variables): Search variable definitions
+	in any condition implied by $cond.
+	* tests/cond25.test: New file.
+	* tests/Makefile.am (TESTS): Add cond25.test.
+	Reported by Pavel Roskin.
+
+	* tests/subobj9.test: Skip this test on configure errors.
+	Reported by Paul Eggert.
+
+2002-09-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Bump version to 1.6e.
+
+	* configure.in, NEWS: Bump version to 1.6d.
+	* tests/libobj12.test, tests/libobj12b.test: Include ./defs,
+	not $srcdir/defs.
+	* tests/suffix8.test: Typo.
+
+	* automake.in (check_ambiguous_conditional, rule_define): Issue
+	syntactic warnings, not errors.
+	(macro_define): Don't adjust the owner of a variable which is being
+	appended in a condition different from its definition.
+	(variable_output, variable_pretty_output): Make sure the
+	requested condition exists.
+
+	For PR automake/353: fill %var_location, %var_comment,
+	%var_type, %var_owner for each condition.
+	* automake.in (msg_cond_var): New function.
+	(msg_var): Use it.
+	(generate_makefile, process_option_list, handle_languages,
+	handle_lib_objects_cond, handle_compile, handle_libtool,
+	handle_ltlibraries, handle_texinfo_helper, handle_tests,
+	handle_emacs_lisp, handle_python, macro_define, macro_delete,
+	macro_dump, variable_assert, variable_output,
+	variable_pretty_output, read_am_file, read_main_am_file,
+	file_contents_internal, am_primary_prefixes,
+	require_variables_for_macro): Adjust accesses to %var_location,
+	%var_comment, %var_type, %var_owner.
+	(append_comments, require_file_with_macro,
+	require_conf_file_with_macro, require_variables): Add the
+	$cond argument.
+	* tests/comment7.test: New file.
+	* tests/Makefile.am (TESTS): Add comment7.test.
+
+2002-09-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/353:
+	* automake.in (check_ambiguous_conditional): Display locations for
+	the two definitions of the ambiguous variable.  Show the macro_dump
+	output in --verbose only.  Accept $where as a third argument,
+	(macro_define): Pass $where.
+
+	* automake.in (handle_programs): Ooops.  Really add LDADD
+	objects into _DEPENDENCIES.
+	* tests/libobj12.test: Check for it.
+
+2002-09-17  Assar Westerlund  <assar@kth.se>
+	    Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_programs, handle_libraries,
+	handle_ltlibraries): Maintain $seen_libobjs on a
+	per-program/per-library basis, instead of globally to each
+	of these functions.
+	* tests/libobj12.test, tests/libobj12b.test: New files.
+	* tests/Makefile.am (TESTS): Add libobj12.test and libobj12b.test.
+
+2002-09-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs.in (configure.in): Don't call AC_PROG_INSTALL and
+	AC_PROG_MAKE_SET.
+
+	* lib/config.guess, lib/config.sub, lib/INSTALL,
+	lib/Automate/Struct.pm: New upstream version.
+	* Makefile.am (mdate-sh): New rule.
+	(FETCHFILES): Add Automate/Struct.pm.
+	(fetch): Get Automate/Struct.pm.
+	(AUTOMAKESOURCES, CLEANFILES): New macros.
+	(EXTRA_DIST, TAGS_FILES): Use them.
+	* install-sh, mkinstalldirs, missing: Delete.
+
+	* automake.in: Rename the 'unused' channel to 'syntax'.
+	(variable_defined): Issue a warning instead of an error
+	for variable-is-a-target conditions.
+	* automake.texi (Invoking Automake): Rename the 'unused'
+	channel to 'syntax'.
+	* tests/warnopts.test: Likewise.
+
+	* tests/suffix8.test: Add explicit dependencies.
+	* tests/texinfo13.test, tests/texinfo16.test: Require tex.
+
+2002-09-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in, m4/init.m4, NEWS: Require Autoconf 2.54.
+
+	* automake.in (variable_defined): Thinko in $cond handling.
+
+2002-09-15  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/Automake/Channels.pm: Don't use 'our', as it isn't portable
+	to Perl 5.00503.
+
+	* Makefile.am (maintainer-check): Don't use egrep.
+
+2002-09-15  Tom Tromey  <tromey@redhat.com>
+
+	* tests/subdircond3.test: Pass flags to make in environment.
+	* tests/subdircond2.test: Pass flags to make in environment.
+	* Makefile.am (maintainer-check): Add a new check for @...@
+	substitutions.  Updated correct number of diffs between source and
+	build trees.
+
+	* configure.in (aclocal, automake): Don't create.
+	* automake.in ($prefix): Don't define.
+	* aclocal.in ($prefix): Don't define.
+	* Makefile.am (do_subst): New macro.
+	(automake): New target.
+	(aclocal): Likewise.
+
+2002-09-15  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in, automake.in: Requote each "@var@" as '@var@'.
+
+2002-09-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/Makefile.am (XFAIL_TESTS): Remove specflags7.test and
+	specflags8.test.
+
+2002-09-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Building ctags and etags): Rename and adjust as ...
+	(Building true and false): ... this.
+	* tests/targetclash.test: New file.
+	* tests/specflags7.test, tests/specflags8.test: Adjust to build
+	true and false.
+	* tests/Makefile.am (TESTS): Add targetclash.test.
+
+	Diagnose target clashes, for PR automake/344:
+	* automake.in (%targets): Record conditionals for definitions.
+	(%target_conditional): Remove (obsoleted by %targets).
+	(%target_source, %target_owner): New hashes.
+	(TARGET_AUTOMAKE, TARGET_USER): New constants.
+	(initialize_per_input): Adjust to reset new variables.
+	(err_cond_target, msg_cond_target): New functions.
+	(msg_target): Adjust usage of %targets.
+	(conditional_ambiguous_p): Take a list of conditional to check
+	as a third parameter, so this can be used for other things that
+	variables.
+	(handle_lib_objects_cond): Adjust conditional_ambiguous_p usage.
+	(variable_defined): Restrict the target-with-same-name check
+	to user targets.
+	(rule_define): Add the $SOURCE argument, and take $OWNER instead
+	of $IS_AM.  Diagnose target clashes (including ambugious
+	conditionals).  Return a list of conditions where the rule should
+	be defined instead of a boolean.  Fill %target_source and
+	%target_owner.
+	(target_define): Use `exists', not `defined'.
+	(read_am_file): Adjust the call to rule_define.
+	(file_contents_internal): Add more FIXMEs.  Simplify my moving
+	and documenting the "define rules in undefined conditions" to
+	rule_define.
+	* tests/Makefile.am (XFAIL_TESTS): Add specflags7.test and
+	specflags8.test.
+
+2002-09-12  Akim Demaille  <akim@epita.fr>
+
+	* aclocal.in: Prototype all the functions.
+	Add `(C)' to Copyrights.
+	(&add_file): Strip the comments before checking for `AC_REQUIRE'.
+	Remove Perl 4 hacks, since anyway we require 5.005 via General.pm.
+
+2002-09-11  Akim Demaille  <akim@epita.fr>
+
+	* lib/am/texinfos.am (TEXI2PDF): Pass --batch to texi2dvi, since
+	it was already supported when --pdf support was added.
+
+2002-09-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/Automake/Channels.pm (_default_options): Add `backtrace'.
+	(msg): Die with backtrace if requested.
+	* automake.in: Enable `backtrace' on the `automake' channel.
+
+	* automake.in (process_option_list): Mention `Automake' in
+	version-mismatch error.
+	Suggested by Akim Demaille.
+
+	* tests/Makefile.am ($(TESTS)): Replace by ...
+	(check_SCRIPTS): ... this.
+	Suggested by Raja R Harinath.
+
+2002-09-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/Makefile.am ($(TESTS)): New, depends on defs.
+	(BUILT_SOURCES): Remove (useless because of PR/359).
+
+	* m4/init.m4: Execute cygpath in a sub-shell.
+
+2002-09-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (macro_define): Warn about `:=' assignments.
+	* tests/colneq.test: Check for this warning.
+
+	* automake.texi (Include): Fragments are always distributed.
+	* NEWS: Likewise.
+
+2002-09-08  Andreas Buening  <andreas.buening@nexgo.de>
+
+	Fix for automake/334:
+	* lib/am/depend2.am: Replaced "cygpath -w" by $(CYGPATH_W).
+	* m4/init.m4: New make variable CYGPATH_W.
+
+2002-09-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Check for EGREP and FGREP.  Create tests/defs.
+	* tests/defs: Rename as ...
+	* tests/defs.in: ... this.  Add copyright notice.  Use configure's
+	values for PERL, EGREP, and FGREP.  Be verbose if $srcdir is unset.
+	* tests/Makefile.am (EXTRA_DIST): Remove defs.
+	(BUILT_SOURCES): New.
+	* tests/acinclude.test, tests/aclibobj.test, tests/aclocal.test,
+	tests/aclocali.test, tests/aclocali1.test, tests/aclocalii.test,
+	tests/acoutnoq.test, tests/acoutput.test, tests/acoutput2.test,
+	tests/acoutqnl.test, tests/acouttbs.test, tests/acouttbs2.test,
+	tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test,
+	tests/all.test, tests/alpha.test, tests/amassign.test,
+	tests/ammissing.test, tests/ansi.test, tests/ansi2.test,
+	tests/ansi3.test, tests/ansi4.test, tests/ansi5.test,
+	tests/ansi6.test, tests/ansi7.test, tests/ansi8.test,
+	tests/ar.test, tests/asm.test, tests/autoheader.test,
+	tests/autoheader2.test, tests/auxdir.test, tests/auxdir2.test,
+	tests/backsl.test, tests/backsl2.test, tests/badline.test,
+	tests/badopt.test, tests/badprog.test, tests/block.test,
+	tests/canon.test, tests/canon2.test, tests/canon3.test,
+	tests/canon4.test, tests/canon5.test, tests/ccnoco.test,
+	tests/check.test, tests/checkall.test, tests/clean.test,
+	tests/colneq.test, tests/colneq2.test, tests/colon.test,
+	tests/colon2.test, tests/colon3.test, tests/colon4.test,
+	tests/colon5.test, tests/colon6.test, tests/colon7.test,
+	tests/comment.test, tests/comment2.test, tests/comment3.test,
+	tests/comment4.test, tests/comment5.test, tests/comment6.test,
+	tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test,
+	tests/cond11.test, tests/cond12.test, tests/cond13.test,
+	tests/cond14.test, tests/cond15.test, tests/cond16.test,
+	tests/cond17.test, tests/cond18.test, tests/cond19.test,
+	tests/cond2.test, tests/cond20.test, tests/cond21.test,
+	tests/cond22.test, tests/cond23.test, tests/cond24.test,
+	tests/cond3.test, tests/cond4.test, tests/cond5.test,
+	tests/cond6.test, tests/cond7.test, tests/cond8.test,
+	tests/cond9.test, tests/condd.test, tests/condincl.test,
+	tests/condincl2.test, tests/condlib.test, tests/condman.test,
+	tests/condman2.test, tests/conf2.test, tests/confdeps.test,
+	tests/confdist.test, tests/confh.test, tests/confh4.test,
+	tests/config.test, tests/confincl.test, tests/confsub.test,
+	tests/confvar.test, tests/confvar2.test, tests/copy.test,
+	tests/ctarget1.test, tests/cxx.test, tests/cxx2.test,
+	tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test,
+	tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test,
+	tests/cygwin32.test, tests/dash.test, tests/defun.test,
+	tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test,
+	tests/depacl.test, tests/depacl2.test, tests/depcomp.test,
+	tests/depcomp2.test, tests/depdist.test, tests/depend.test,
+	tests/depend2.test, tests/depend3.test, tests/depend4.test,
+	tests/destdir.test, tests/dirforbid.test, tests/dirlist.test,
+	tests/discover.test, tests/distcommon.test,
+	tests/distcommon2.test, tests/distcommon3.test,
+	tests/distdir.test, tests/distname.test, tests/dollar.test,
+	tests/double.test, tests/dup2.test, tests/dup3.test,
+	tests/else.test, tests/empty.test, tests/empty2.test,
+	tests/empty3.test, tests/empty4.test, tests/error.test,
+	tests/exdir.test, tests/exdir2.test, tests/exeext.test,
+	tests/exeext2.test, tests/exsource.test, tests/ext.test,
+	tests/ext2.test, tests/extra.test, tests/extra2.test,
+	tests/extra3.test, tests/extra4.test, tests/extra5.test,
+	tests/extra6.test, tests/extra7.test, tests/flibs.test,
+	tests/fnoc.test, tests/fo.test, tests/fonly.test,
+	tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test,
+	tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test,
+	tests/gcj5.test, tests/getopt.test, tests/gettext.test,
+	tests/gettext2.test, tests/gnits.test, tests/gnits2.test,
+	tests/gnits3.test, tests/gnuwarn.test, tests/header.test,
+	tests/implicit.test, tests/include.test, tests/include2.test,
+	tests/info.test, tests/insh.test, tests/insh2.test,
+	tests/install.test, tests/install2.test, tests/installdir.test,
+	tests/installsh.test, tests/instdata.test, tests/instdata2.test,
+	tests/instexec.test, tests/insthook.test, tests/instman.test,
+	tests/instman2.test, tests/interp.test, tests/interp2.test,
+	tests/java.test, tests/java2.test, tests/javaprim.test,
+	tests/javasubst.test, tests/ldadd.test, tests/ldflags.test,
+	tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test,
+	tests/lex5.test, tests/libobj10.test, tests/libobj11.test,
+	tests/libobj2.test, tests/libobj3.test, tests/libobj4.test,
+	tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
+	tests/library.test, tests/library2.test, tests/libtool.test,
+	tests/libtool2.test, tests/libtool3.test, tests/libtool4.test,
+	tests/link_c_cxx.test, tests/link_dist.test, tests/link_f_c.test,
+	tests/link_f_c_cxx.test, tests/link_f_cxx.test,
+	tests/link_f_only.test, tests/lisp.test, tests/lisp2.test,
+	tests/listval.test, tests/ltdeps.test, tests/ltlibobjs.test,
+	tests/maintclean.test, tests/make.test, tests/makevars.test,
+	tests/man.test, tests/man2.test, tests/mclean.test,
+	tests/mdate.test, tests/mdate2.test, tests/mdate3.test,
+	tests/mdate4.test, tests/mkinst2.test, tests/mkinstall.test,
+	tests/nobase.test, tests/nodefine.test, tests/nodefine2.test,
+	tests/nodep.test, tests/nodepcomp.test, tests/nodist.test,
+	tests/nodist2.test, tests/noinst.test, tests/noinstdir.test,
+	tests/nolink.test, tests/nostdinc.test, tests/number.test,
+	tests/obsolete.test, tests/order.test, tests/outdir.test,
+	tests/output.test, tests/output2.test, tests/output3.test,
+	tests/output4.test, tests/output5.test, tests/package.test,
+	tests/parse.test, tests/percent.test, tests/pluseq.test,
+	tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test,
+	tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test,
+	tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test,
+	tests/ppf77.test, tests/pr2.test, tests/pr204.test,
+	tests/pr211.test, tests/pr220.test, tests/pr224.test,
+	tests/pr229.test, tests/pr243.test, tests/pr266.test,
+	tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
+	tests/pr300-lib.test, tests/pr300-ltlib.test,
+	tests/pr300-prog.test, tests/pr307.test, tests/pr72.test,
+	tests/pr87.test, tests/pr9.test, tests/prefix.test,
+	tests/primary.test, tests/primary2.test, tests/proginst.test,
+	tests/python.test, tests/python2.test, tests/ranlib.test,
+	tests/recurs.test, tests/recurs2.test, tests/remake.test,
+	tests/remake2.test, tests/remake3.test, tests/req.test,
+	tests/required.test, tests/required2.test, tests/rulepat.test,
+	tests/scripts.test, tests/seenc.test, tests/sinclude.test,
+	tests/sourcesub.test, tests/sourcesub2.test, tests/space.test,
+	tests/specflags.test, tests/specflags2.test,
+	tests/specflags3.test, tests/specflags6.test,
+	tests/specflags7.test, tests/specflags8.test,
+	tests/specflags9.test, tests/spell.test, tests/spell2.test,
+	tests/spell3.test, tests/spelling.test, tests/stamph.test,
+	tests/stamph2.test, tests/stdlib.test, tests/strip.test,
+	tests/subdir.test, tests/subdir2.test, tests/subdir3.test,
+	tests/subdir4.test, tests/subdir5.test, tests/subdir6.test,
+	tests/subdir7.test, tests/subdirbuiltsources.test,
+	tests/subdircond.test, tests/subdircond2.test,
+	tests/subdircond3.test, tests/subobj.test, tests/subobj2.test,
+	tests/subobj3.test, tests/subobj4.test, tests/subobj5.test,
+	tests/subobj6.test, tests/subobj7.test, tests/subobj8.test,
+	tests/subobj9.test, tests/subobjname.test, tests/subpkg.test,
+	tests/subst.test, tests/substref.test, tests/substtarg.test,
+	tests/suffix.test, tests/suffix10.test, tests/suffix2.test,
+	tests/suffix3.test, tests/suffix4.test, tests/suffix5.test,
+	tests/suffix6.test, tests/suffix7.test, tests/suffix8.test,
+	tests/suffix9.test, tests/symlink.test, tests/symlink2.test,
+	tests/symlink3.test, tests/syntax.test, tests/tags.test,
+	tests/tagsub.test, tests/target-cflags.test, tests/target.test,
+	tests/texinfo.test, tests/texinfo10.test, tests/texinfo13.test,
+	tests/texinfo16.test, tests/texinfo2.test, tests/texinfo3.test,
+	tests/texinfo4.test, tests/texinfo5.test, tests/texinfo6.test,
+	tests/texinfo7.test, tests/texinfo8.test, tests/texinfo9.test,
+	tests/transform.test, tests/unused.test, tests/vars.test,
+	tests/vars2.test, tests/vars3.test, tests/vartar.test,
+	tests/version.test, tests/version2.test, tests/version3.test,
+	tests/version4.test, tests/version5.test, tests/version6.test,
+	tests/vpath.test, tests/vtexi.test, tests/vtexi2.test,
+	tests/warnopts.test, tests/werror.test, tests/whoami.test,
+	tests/xsource.test, tests/yacc.test, tests/yacc2.test,
+	tests/yacc3.test, tests/yacc4.test, tests/yacc5.test,
+	tests/yacc6.test, tests/yacc7.test, tests/yacc8.test,
+	tests/yaccpp.test, tests/yaccvpath.test: Add copyright notice.
+	Source ./defs instead of $srcdir/defs.
+
+2002-09-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/distdir.am (distcheck): Strip $(srcdir) prefix on
+	distributed files, to workaround Sun make VPATH munging.
+	This fixes subdircond2.test, subdircond3.test, and subpkg.test
+	on Solaris.
+	* tests/extra6.test, tests/lex3.test, tests/pr87.test,
+	tests/pr9.test, tests/target-cflags.test, tests/texinfo13.test,
+	tests/texinfo16.test, tests/yacc7.test, tests/yaccvpath.test:
+	Don't require GNU make.
+
+	* lib/am/distdir.am (distcheck): Add missing `;'.
+
+	* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Account for
+	Sun make rewriting rules in VPATH builds.  (Fixes gnits3.test.)
+	* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Likewise.
+
+2002-09-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For automake/354:
+	* lib/am/texibuild.am (%SOURCE_SUFFIX%.dvi, %SOURCE_SUFFIX%.pdf):
+	Don't use `-o' unless necessary.
+
+2002-08-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/343:
+	* automake.in (scan_texinfo_file) <clean_suffixes>: Remove dvi, ps,
+	and pdf.
+	(output_texinfo_build_rules): Define %DIRSTAMP% when processing
+	texibuild.am.  Return $dirstamp and a list of files to clean.
+	(handle_texinfo_helper): Process texi-vers.am after the call to
+	output_texinfo_build_rules and use $dirstamp to define %DIRSTAMP%.
+	* lib/am/texi-vers.am (%STAMPVTI%): Build %DIRSTAMP% if needed.
+	* lib/am/texibuild.am (%DEST_PREFIX%%DEST_SUFFIX%): Likewise.
+	(%DEST_PREFIX%.dvi, %DEST_PREFIX%.pdf): Depend on %DIRSTAMP%.
+	* tests/texinfo13.test: New file.
+	* tests/Makefile.am (TESTS): Add texinfo13.test.
+	* lib/am/texinfos.am (install-info-am, dist-info): Looks for
+	info files in build or source directory.
+	This completes the change from 2002-07-30 (for PR automake/168).
+
+2002-08-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (CLEAN, MAINTAINER_CLEAN): New constants.
+	(maintainer_clean_files): Replace by ...
+	(clean_files): ... this new variable.
+	(initialize_per_input, lang_yacc_target_hook,
+	lang_lex_target_hook): Use %clean_files instead of
+	@maintainer_clean_files.
+	(handle_clean): Rewrite, using %clean_files.
+	(require_build_directory_maybe): Use %clean_files instead
+	of %compile_clean_files.  This allows using
+	&require_build_directory_maybe for non-compiling targets.
+	* lib/am/clean.am (mostlyclean-generic, clean-generic,
+	distclean-generic, maintainer-clean-generic): Rewrite using
+	%MOSTLYCLEAN_RMS%, %CLEAN_RMS%, %DISTCLEAN_RMS%, and
+	%MAINTAINER_CLEAN_RMS%.
+
+	For Debian Bug#157778:
+	* m4/python.m4: Fix output of `python' in checking messages
+	when no version of Python is required.
+
+2002-08-23  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* lib/am/depend2.am (%EXT%.lo): Fix typo.  Rename the file that
+	was generated by gcc -MF.
+
+2002-08-23  Pavel Roskin  <proski@gnu.org>
+
+	* lib/am/progs.am: Exit in case of install failure, otherwise
+	it is ignored on Cygwin because of the surrounding "for" loop.
+
+2002-08-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Top level): More words about conditional
+	subdirectories.  Don't mention AC_PROG_MAKE_SET.
+	* tests/subdircond2.test, tests/subdircond3.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+	For PR automake/347:
+	* automake.in (MACRO_PATTERN): Allow `.' in variable names.
+	(scan_variable_expansions, check_variable_expansions): New functions.
+	(macro_define): Call check_variable_expansions.
+	(read_am_file): Likewise, when outputing rules.
+	(variable_conditions_recursive_sub): Simplify using
+	scan_variable_expansions.
+	* tests/vars3.test: New file.
+	* tests/Makefile.am (TESTS): Add vars3.test.
+	* tests/colneq.test: Use -Wno-portability.
+
+	* lib/Automake/Channels.pm (buffering, backlog): New variables.
+	(buffer_messages, flush_messages): New functions.
+	(@EXPORT): Add buffer_messages and flush_messages.
+	* automake.in (generate_makefile): Call buffer_messages and
+	flush_messages to buffer warnings until AUTOMAKE_OPTIONS has
+	been read.
+
+	* automake.in (read_am_file): Fix computation of path to
+	included file when $(top_srcdir) is not used.
+	* tests/include2.test: Augment.
+
+2002-08-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (set_strictness): Never enable 'portability'
+	warnings for now.
+	(usage): Adjust `-Wportability' doc.
+	* automake.texi (Invoking Automake): Likewise.
+	Suggested by Ralf Corsepius.
+
+2002-08-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Fix cleanup of
+	so_location files in current directory.
+
+	Fix for PR automake/346:
+	* automake.texi (Optional): Supress the documentation for
+	AC_PATH_XTRA, AC_FUNC_ALLOCA, AC_FUNC_ERROR_AT_LINE, AC_FUNC_FNMATCH,
+	AC_FUNC_GETLOADAVG, AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_OBSTACK,
+	AC_FUNC_STRTOD, AC_REPLACE_FUNCS, AC_REPLACE_GNU_GETOPT,
+	AC_STRUCT_ST_BLOCKS, AM_WITH_REGEX, AC_CHECK_TOOL, AC_CHECK_PROG,
+	AC_CHECK_PROGS, AC_PATH_PROG, and AC_PATH_PROGS.  Augment the
+	documentation of AC_LIBSOURCE and AC_SUBST to explain this
+	applies to any macro that calls them.
+
+2002-08-19  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/348:
+	* tests/Makefile.am (TESTS): Added include2.test.
+	* tests/include2.test: New file.
+	* tests/include.test: Check to make sure include file is
+	distributed.
+	* automake.in (read_am_file): Distribute included files.
+
+2002-08-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/345:
+	* tests/defs: Add support for required=non-root, stolen
+	from fileutils'	test suite.
+	* tests/destdir.test: Use required=non-root.
+
+	* tests/vtexi.test: Fix spurious failure introduced on 2002-07-30.
+
+2002-08-17  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/347:
+	* automake.in (rule_define): Given portability warning if "%" seen
+	in target name.
+	(TARGET_PATTERN): Added `%'.
+	* tests/Makefile.am (TESTS): Added percent.test.
+	* tests/percent.test: New file.
+
+2002-08-15  Art Haas  <ahaas@neosoft.com>
+
+	* lib/am/depend2.am: Use correct name for dependency file in
+	libtool fastdep case.
+
+2002-08-14  Art Haas  <ahaas@neosoft.com>
+
+	* lib/am/depend2.am: Added missing `;'.
+
+2002-08-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Python): Fix wording.
+
+	* tests/ext2.test: New file.  This bug is present in Automake 1.6.3
+	and was fixed by the change on variable_conditions_permutations
+	and invert_conditions on 2002-05-16.
+	* tests/Makefile.am (TESTS): Add ext2.test.
+	Reported by Ladislav Strojil.
+
+2002-08-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in (parse_arguments): Add `dirlist' paths add the
+	very end of the search path, after aclocal-APIVERSION/ and
+	aclocal/.
+	* automake.texi (Macro search path): Adjust to reflect the
+	new ordering.
+	* tests/dirlist.test: Check for this.
+
+2002-07-31  Charles Wilson  <cwilson@ece.gatech.edu>
+
+	* aclocal.in (parse_arguments): Add support for extending
+	default macro search path, using a `dirlist' file within
+	the aclocal directory.
+	* automake.texi (Invoking aclocal): Move option descriptions into ...
+	(aclocal options): ... this new node.
+	(Macro search path): New node.
+	* tests/dirlist.test: New file.
+	* tests/Makefile.am (TESTS): Add dirlist.test.
+	* m4/dirlist: New file.
+	* m4/Makefile.am (EXTRA_DIST): Add dirlist.
+	* tests/defs: Honor any installed dirlist when searching for
+	libtool.m4 and gettext.m4.
+
+2002-07-30  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Build info files in builddir instead of srcdir (for PR automake/168),
+	and prepare support for info files in subdirecties.
+	* automake.in (output_texinfo_build_rules): New function.
+	(handle_texinfo_helper): Use output_texinfo_build_rules, and
+	prepare to support subdir texinfos.  Define am__TEXINFO_TEX_DIR.
+	* lib/am/texi-vers.am: Build version.texi and stamp-vti in the
+	current directory, not $(srcdir).  Use %STAMPVTI% to name the stamp
+	file.
+	* lib/am/texibuild.am: Rewrite to output files in the current
+	directory, not $(srcdir).  Also, support both generic and
+	non-generic output.  Pass `-o $@' to makeinfo, texinfo, and
+	texi2dvi (for PR automake/339).
+	* tests/texinfo3.test: Make sure the `.texi:' rule is output.
+	* tests/texinfo10.test: Use set -e, so the checks are not ignored.
+	* tests/texinfo16.test: New file.
+	* tests/Makefile.am (TESTS): Add texinfo16.test.
+
+2002-07-29  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in (write_aclocal): Don't write the filename ($output_file)
+	in the aclocal.m4 header.
+
+	* configure.in: Require Autoconf 2.53b.
+
+2002-07-28  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Bump version to 1.6c.
+
+	* configure.in: Bump version to 1.6b.
+	* lib/config.guess, lib/config.sub, lib/Automake/XFile.pm: New
+	upstream versions.
+	* automake.in: Don't write @ALLOCA@ and @LIBOBJS@ in clear text,
+	since this file is processed by config.status.
+
+2002-07-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (read_am_file): Escaped newlines in comments are not
+	portable.  If a comment line doesn't start with a `#', add it.
+	* tests/comment6.test: Ensure this is done.
+
+2002-07-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix failures reported by Patrick Welche on NetBSD.
+	* tests/gnits2.test, tests/gnits3.test: Don't trust the exit
+	status of `make -k'.
+	* tests/obsolete.test: Source obs.1 and obs.2 from current
+	directory.
+
+2002-07-23  Patrick Welche  <prlw1@newn.cam.ac.uk>
+
+	* lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): Add
+	configure.lineno.
+
+2002-07-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/required2.test: New file.
+	* tests/Makefile.am (TESTS): Add required2.test.
+	* automake.in (initialize_per_input): Remove %require_file_found
+	setting.  This reverts my change of 2002-04-19.
+	(require_file_internal): Use the full name of a file as a
+	key in %require_file_found, not only the basename.
+	Reported by Andrew Suffield.
+
+2002-07-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_subdirs): Warn if `obj' appears in SUBDIRS.
+	* tests/subdir7.test: New file.
+	* tests/Makefile.am (TESTS): Add subdir7.test.
+
+	* lib/mkinstalldirs: Remove Id keyword.
+
+	* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Honor
+	AM_INSTALLCHECK_STD_OPTIONS_EXEMPT.
+	* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise.
+	* automake.texi (Options) <std-options>: Document
+	AM_INSTALLCHECK_STD_OPTIONS_EXEMPT.
+	(Gnits): Reference std-options.
+	* tests/gnits3.test: New file.
+	* tests/Makefile.am (TESTS): Add gnits3.test.
+	Suggested by Jim Meyering.
+
+2002-07-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/gnits2.test: Use --program-prefix.  Test for scripts too.
+	Replace the sed script by calls to grep, easier to debug.
+	* lib/am/progs.am (installcheck-%DIR%PROGRAMS): Honor nobase
+	and $(transform).
+	* lib/am/scripts.am (installcheck-%DIR%SCRIPTS): Likewise.
+
+	* lib/am/progs.am (install-%DIR%PROGRAMS, uninstall-%DIR%PROGRAMS):
+	Always strip the directory part before applying $(transform),
+	even for nobase_ targets.
+	* lib/am/scripts.am (install-%DIR%SCRIPTS, uninstall-%DIR%SCRIPTS):
+	Likewise.
+	* tests/nobase.test: Use --program-prefix while testing nobase
+	support.
+
+2002-07-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dirname.test: Delete.  We don't define _AM_DIRNAME anymore.
+	* tests/Makefile.am (TESTS): Remove dirname.test.
+
+	* m4/init.m4: Require Autoconf 2.53b.
+	* m4/header.m4 (AM_CONFIG_HEADER): Redefine using AU_DEFUN.
+	* m4/ccstdc.m4 (fp_PROG_CC_STDC): New AU_DEFUN.
+	* m4/dmalloc.m4 (fp_WITH_DMALLOC): Likewise.
+	* m4/lispdir.m4 (ud_PATH_LISPDIR): Likewise.
+	* m4/maintainer.m4 (jm_MAINTAINER_MODE): Likewise.
+	* m4/protos.m4 (fp_C_PROTOTYPES): Likewise.
+	* m4/regex.m4 (fp_WITH_REGEX): Likewise.
+	* m4/termios.m4: Delete.  AM_SYS_POSIX_TERMIOS is now AU_DEFUNed
+	in m4/obsolete.m4.
+	* m4/winsz.m4: Delete. AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL is now
+	AU_DEFUNed in m4/obsolete.m4.
+	* m4/obsol-gt.m4, m4/obsol-lt.m4, m4/obsolete.m4 : New files.
+	* m4/Makefile.am (dist_m4data_DATA): Add obsol-gt.m4, obsol-lt.m4,
+	and obsolete.m4. Remove termios.m4 and winsz.m4.
+	* aclocal.in (obsolete, obsolete_rx): Remove.
+	(scan_configure): Don't grep for obsolete macros.
+	* tests/defs (AUTOUPDATE): Define.
+	* Makefile.am (maintainer-check): Check for misuses of autoupdate.
+	* tests/obsolete.test: Rewrite.  Exercize the AU_DEFUN macros from
+	m4/obsolete.m4.
+
+	Fix for PR automake/338:
+	* automake.in (seen_gettext_external): New variable.
+	(handle_gettext): Conditionalize the intl/ check on
+	$seen_gettext_external.  Fix grep usage.
+	(scan_autoconf_traces): Set $seen_gettext_external if
+	`external' is passed to AM_GNU_GETTEXT.
+	* tests/gettext.test, tests/gettext2.test: New files.
+	* tests/Makefile.am (TESTS): Add gettext.test and gettext2.test.
+
+2002-07-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+	    Akim Demaille  <akim@epita.fr>
+
+	* m4/header.m4 (_AM_DIRNAME, _AM_STAMP, _AM_CONFIG_HEADER,
+	_AM_CONFIG_HEADER_INSINUATE): Remove them all.  Leave just ...
+	(AM_CONFIG_HEADER): ... this new definition for compatibility.
+	* m4/init.m4: Don't call _AM_CONFIG_HEADER_INSINUATE.
+	(_AC_AM_CONFIG_HEADER_HOOK): New macro.
+	* tests/confh5.tests: Delete.
+	* tests/Makefile.am (TESTS): Remove confh5.tests.
+
+2002-07-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_single_transform_list): Typo.
+
+	* lib/Automake/Channels.pm (dup_channel_setup,
+	drop_channel_setup): New functions.
+	(@EXPORT): Add them.
+	* automake.in (generate_makefile): Call dup_channel_setup and
+	drop_channel_setup.
+	(process_option_list): Recognize --warnings and -W options.
+	* automake.texi (Options): Document them.
+	* tests/pluseq5.test: Check that -Wno-obsolete will disable the
+	warning.
+	* tests/warnopts.test: New file.
+	* tests/Makefile.am (TESTS): Add warnopts.test.
+
+2002-07-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in: Register warning channel `gnu'.
+	(set_strictness): Turn on `gnu' in --gnu and --gnits.
+	(usage): Mention the `gnu' category.
+	(%var_is_am): Replace by ...
+	(%var_owner): ... this, which uses ...
+	(VAR_AUTOMAKE, VAR_CONFIGURE, VAR_MAKEFILE): ... these new constants.
+	Adjust all uses of %var_is_am.
+	(handle_languages): Warn about user variables being overriden.
+	(require_variables): Also check %configure_vars for the existence
+	of a required variable.
+	* automake.texi (Invoking Automake): Document -Wgnu.
+	* tests/yacc2.test, tests/yacc3.test: Use -Wno-gnu when
+	we test YFLAGS.
+	* tests/gnuwarn.test: New file.
+	* tests/Makefile.am (TESTS): Add gnuwarn.test.
+
+2002-07-11  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/337:
+	* automake.in: Redefine the `flags' attribute of each language
+	as a list.  List CPPFLAGS in `flags' when it is used.
+	(register_language): Set the default value of 'flags'.
+	(handle_single_transform_list): Adjust to treat `flags' as a list.
+	(handle_languages): Likewise.  Don't bother defining the
+	configure variable for `c', this is always done since we trace
+	configure.ac.
+	* automake.texi (etags): Use per-executable _CPPFLAGS.
+	(Program and Library Variables): Mention maude_CPPFLAGS.
+	(Program variables): Likewise.
+	* tests/specflags8.test: Use _CPPFLAGS instead of _CFLAGS.
+	* tests/specflags9.test: New file.
+	* tests/Makefile.am (TESTS): Add specflag9.test.
+
+2002-07-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi: Use `variable' instead of `macro' everywhere it
+	designates a Makefile variable.
+	(Texinfo): `VERSION', `UPDATED', `EDITION', and `UPDATED-MONTH' are
+	`flags', not `macros'.  `Macro' means something else in Texinfo.
+	Also show how to use these flags.
+	* automake.in (file_contents_internal): s/macro/variable/ in
+	error message.
+
+	* automake.in (parse_arguments): Call Getopt twice: once to catch
+	--help or --verbose, and once to process the other arguments.
+	(usage, verbose): Always exit 0, ignoring $exit_code (which anyway
+	should always be 0 because of the change to parse_arguments).
+	* tests/Makefile.am (TESTS): Add getopt.test.
+	* tests/getopt.test: New file.
+
+2002-07-09  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/286:
+	* automake.texi (Tags): Document ctags.
+	* automake.in (handle_tags): Handle ctags.
+	* lib/am/tags.am (CTAGS): New macro.
+	(CTAGSFLAGS): Likewise.
+	(ctags): New target.
+	(distclean-tags): Remove `tags'.
+
+	* lib/am/depend2.am: Reworked syntax to avoid parsing problem.
+
+	* lib/am/depend2.am: Search in srcdir and builddir for %SOURCE%
+	before passing to cygpath.  Partial fix for PR automake/334.
+
+2002-07-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (generate_makefile): Suggest using AM_CPPFLAGS
+	instead of INCLUDES.
+	* tests/pluseq5.test: Check that AM_CPPFLAGS is suggested.
+
+2002-07-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (usage, version): Honor $exit_code.
+	(parse_arguments): Use fatal.
+
+2002-07-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Invoking Automake): Document WARNINGS.
+	* automake.in (switch_warning, parse_WARNINGS): New function.
+	(setup_warnings): Rename to ...
+	(parse_warnings): ... this.  Move most of the code to switch_warning.
+	Accept a comma separated list of categories.
+	* tests/vars2.test: Use a comma separated list of warning categories.
+
+2002-07-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* NEWS (New in 1.6): Mention that libtoolize is no longer run
+	by automake.
+
+2002-07-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/291:
+	* automake.in (macro_define): Catch variable names starting
+	with `_'.
+	(handle_installdirs): Rename _am_installdirs to	am__installdirs.
+	* lib/am/data.am, lib/am/install.am, lib/am/libs.am,
+	lib/am/lisp.am, lib/am/ltlibs.am, lib/am/mans.am,
+	lib/am/progs.am, lib/am/python.am, lib/am/scripts.am,
+	lib/am/texinfos.am: Likewise.
+	* tests/canon5.test: Use -Wno-portability.
+	* tests/vars2.test: New file.
+	* tests/Makefile.am (TESTS): Add vars2.test.
+
+2002-07-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (AUTOMAKE): Add -Wall.
+	* tests/outdir.test: Use -Wno-obsolete.
+
+2002-07-07  Tom Tromey  <tromey@redhat.com>
+
+	* m4/depend.m4 (_AM_DEPENDENCIES): Compute am__fastdep<compiler>
+	conditional.
+	* automake.in (handle_languages): Compute FASTDEP.
+	* lib/am/depend2.am: Added %FASTDEP% mode.
+
+2002-07-07  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Optional): AM_MAINTAINER_MODE is ok in Gnits mode
+	now.  Fixes PR automake/332.
+
+2002-07-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/nobase.test (test-install-exec): Move all the `test -f'
+	tests in the Makefile so we can use $(EXEEXT) on programs.
+	Reported by Charles Wilson.
+
+2002-07-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/header.m4 (AM_CONFIG_HEADER): New macro.
+	* tests/confh5.test: Make sure that Autoconf complains if
+	AM_CONFIG_HEADER or AC_CONFIG_HEADERS is called before
+	AM_INIT_AUTOMAKE.
+
+2002-07-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/Automake/Channels.pm: New file.
+	* lib/Automake/Makefile.am (dist_perllib_DATA): Add Channels.pm.
+	* automake.in: Use Automake::Channels and register some channels
+	for errors and warnings.
+	($exit_status): Remove, replaced by Channels::$exit_code.
+	(%required_variables): Remove, Channels will filter-out duplicates
+	itself.
+	(initialize_per_input): Call reset_local_duplicates.
+	(prog_error): Adjust to all `msg'.
+	(setup_warnings): New functions.
+	(parse_arguments): Accept -W CATEGORY and --warnings=CATEGORY,
+	call setup_warnings.
+	(usage): Update usage text accordingly.
+	(macro_dump, macros_dump): Return the dump as a string instead
+	of printing it.
+	(am_install_var) <$warned_about_extra>: Remove, Channels will
+	filter-out duplicates itself.
+	(set_strictness): Turn on/off channels for each stricness.
+	(err, fatal, err_var, err_target, err_am, err_ac, msg_var,
+	msg_target, msg_am, msg_ac, reject_var, reject_target, verb):
+	New functions, to replace ...
+	(print_error, am_error, file_error, macro_error, target_error,
+	conf_error, file_warning): ... these functions.  Remove them.
+	Update all the code to use the new functions.  The rough
+	correspondance is
+	   am_error                -> err_am
+	   file_error              -> err
+	   macro_error             -> err_var
+	   target_error            -> err_target
+	   conf_error              -> err_ac
+	   die                     -> fatal
+	   macro_error if defined  -> reject_var
+	   target_error if defined -> reject_target
+	   verbose                 -> verb
+	* automake.texi	(Invoking Automake): Document -W and --warnings.
+	Remove the documentation for --Werror and --Wno-error.
+	* tests/defs: Use -Werror, not --Werror.
+	* tests/exeext2.test: Test that the error message
+	is enabled with -Wobsolete.
+	* tests/output5.test: Rewrite to test that Automake complains
+	when there is no Makefile specified. (The original test was
+	succeeding for the wrong reason.)
+	* tests/seenc.test: Don't use --Wno-error, there is no reason now
+	that -Werror doesn't stop after the first error.
+	* tests/subobj.test: Use --add-missing, and check that
+	`compile' is installed and that Automake says so.
+	* tests/subobj2.test: Don't create `compile'.
+
+2002-07-05  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Java Support): Mention --main and _LDFLAGS.
+	For PR automake/324.
+
+2002-07-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/asm.test: Erase Autom4te's cache between each test.
+
+2002-07-03  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (am_macro_for_var): Add LIBTOOL.
+	(ac_macro_for_var): Add RANLIB.
+	(seen_libtool): Remove.
+	(handle_libtool, lang_c_finish,	define_compiler_variable,
+	make_paragraphs): Use
+	variable_defined ('LIBTOOL') instead of $seen_libtool.
+	(handle_languages) <%transform>: Don't set 'LIBTOOL', it is
+	already done in make_paragraphs.
+	(handle_libraries): Simplify by requiring RANLIB with
+	&require_variables_for_macro.
+	(handle_ltlibraries): Simplify by requiring LIBTOOL with
+	&require_variables_for_macro.
+	(scan_autoconf_traces): Don't trace for AC_PROG_LIBTOOL and
+	AM_PROG_LIBTOOL.
+	* tests/libtool4.test, tests/library2.test: New files.
+	* tests/Makefile.in (TESTS): Add libtool4.test and library2.test.
+
+2002-07-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (create, keyed_aclocal_warning): Delete, unused.
+
+2002-07-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (ac_macro_for_var): Add YACC.
+
+2002-07-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Handle multiple suffix rules with the same input extension.
+	For PR automake/37.
+
+	* automake.in (suffix_rules_default): New variable.
+	(suffix_rules): Redefine as a hash of hashes of pairs.
+	(initialize_per_input): Setup suffix_rules_default from
+	suffix_rules on first call, an override suffix_rules
+	with suffix_rules_default on following calls.
+	(struct) <output_extensions>: New attribute.
+	(register_language): Set the default for output_extensions.
+	Call register_suffix_rule for each suffix.
+	(derive_suffix, handle_languages): Adjust to the new definition
+	of $suffix.
+	(register_suffix_rule): New function.
+	(rule_define): Call register_suffix_rule.
+	* tests/suffix8.test, tests/suffix9.test, tests/suffix10.test:
+	New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+2002-06-30  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (am_macro_for_var, ac_macro_for_var,
+	required_variables): New variables.
+	(am_c_prototypes, seen_prog_lex, am_lispdir_location,
+	pythondir_location): Remove.
+	(initialize_per_input): Clear %required_variables.
+	(require_variables, require_variables_for_macro): New functions.
+	(handle_languages): Call &require_variables for $lang->config_vars.
+	(handle_compile): Call &require_variables_for_macro for the
+	ANSI2KNR and U variables.
+	(handle_emacs_lisp): Call &require_variables for EMACS and libdir.
+	(handle_python): Call &require_variables for PYTHON.  Don't
+	explicitly allow `python' as a prefix for PYTHON.
+	(scan_autoconf_traces): Don't scan AC_PROG_LEX, AM_C_PROTOTYPES,
+	AM_PATH_LISPDIR, and AM_PATH_PYTHON.
+	(scan_autoconf_traces) <AC_SUBST>: Don't filter out ANSI2KNR and
+	AMDEPBACKSLASH here...
+	(define_configure_variable): ... do this here.
+	(am_primary_prefixes): Probe the existence of ${X}dir using
+	&require_variables_for_macro.  If a standard prefix is not
+	legitimate, say so.  Ignore all configure variables.
+	* tests/ansi8.test, tests/cxx2.test, tests/gcj5.test,
+	tests/lisp2.test, tests/python2.test: New files
+	* tests/Makefile.am (TESTS): Add them.
+	* tests/asm.test: Grep stderr.
+	* tests/lex2.test: Rewrite to test that Automake suggests AM_PROG_LEX.
+	* tests/python.test: Make sure py-compile is installed.
+
+2002-06-27  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (LANG_IGNORE, LANG_PROCESS, LANG_SUBDIR,
+	COMPILE_LIBTOOL, COMPILE_ORDINARY): Redefine as constants.
+	Adjust all occurrences.
+
+2002-06-27  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* aclocal.in: Add local variables so that Emacs setups GNU style
+	for perl-mode and cperl-mode.
+	* automake.in: Likewise.
+	(WHITE_PATTERN, RULE_PATTERN, SUFFIX_RULE_PATTERN, MACRO_PATTERN,
+	ASSIGNMENT_PATTERN, IF_PATTERN, ELSE_PATTERN, ENDIF_PATTERN,
+	INCLUDE_PATTERN, EXEC_DIR_PATTERN): Write $ as "\$" to please
+	perl-mode.
+
+2002-06-27  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (fetch): Fetch install-sh from Autoconf CVS.
+	* lib/config.sub, lib/install-sh: New upstream versions.
+
+2002-06-26  Paul Eggert  <eggert@twinsun.com>
+
+	* Makefile.am (maintainer-check): Don't assume that egrep exists;
+	this fixes a portability bug introduced in the 2002-06-08 fix for
+	PR automake/317.
+
+2002-06-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (required_targets): Add ps and ps-am.
+	(initialize_per_input): Reset them.
+	(handle_texinfo_helper): Fill @pss_list, and define the
+	PSS make variable.
+	* lib/am/texinfos.am (RECURSIVE_TARGETS): Add ps-recursive.
+	(ps, ps-am): New targets.
+	* automake.texi (Auxiliary Programs) <texinfo.tex>: Mention
+	`make ps' and `make pdf'.
+	(Texinfo): Document `make ps', `make pdf', and `make dvi'.
+	(Extending): The `ps' and `pdf' targets support a `-local' version.
+
+2002-06-26  Art Haas  <ahaas@neosoft.com>
+
+	* automake.texi: s/.../@dots{}/.
+
+2002-06-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Check that ln works, fall back to `cp -p'.
+	* Makefile.am (install-exec-hook): Use $(LN) instead of ln.
+	Reported by Andreas Buening.
+
+2002-06-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in: Register &lang_lex_target_hook for lex and lexxx.
+	(lang_lex_target_hook): New function.
+	* tests/lex3.c: Complete to check that maintainer-clean erases
+	Lex's output.
+	Reported by Flavien Astraud.  This was lost on 2001-06-23 too.
+
+2002-06-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (lang_yacc_target_hook): Add $output to
+	@maintainer_clean_files.  This was lost on 2001-06-23.
+	* tests/yacc7.test, tests/yacc4.test: Complete to check
+	that maintainer-clean erases YACC's output files,
+	respectively with and without `-d'.
+	Reported by Flavien Astraud.
+
+2002-06-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/lang-compile.am (%FPFX%DEPMODE): Delete.  This is now
+	traced from configure.ac.
+
+	* automake.in (macro_define): Don't accept to override an AC_SUBST
+	or Automake variable in a new condition.
+	* tests/cond23.test, tests/cond24.test: New file.
+	* tests/Makefile.am (TESTS): Add cond23.test and cond24.test.
+	Reported by Patrik Weiskirchre.
+
+2002-06-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/nobase.test, tests/pr204.test, tests/pr300-lib.test,
+	tests/pr300-ltlib.test, tests/pr300-prog.test,
+	tests/specflags7.test, tests/specflags8.test, tests/subdir5.test,
+	tests/subobj6.test, tests/subpkg.test, tests/transform.test:
+	Require gcc.
+
+2002-06-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/libtool2.test: Use required=libtoolize.
+	* tests/install2.test: Use required=gzip.
+
+2002-06-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (required): Handle bison; set YACC automatically.
+	* tests/pr204.test, tests/yacc4.test, tests/yacc8.test,
+	tests/yaccvpath.test: Require bison.  Don't set YACC.
+
+2002-06-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (required): Handle `gcc' and `g++'; automatically
+	export CC and CXX when they are required.
+	* tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test,
+	tests/cond4.test, tests/cond16.test, tests/cond18.test,
+	tests/cond19.test, tests/depcomp2.test, tests/depend2.test,
+	tests/lex3.test, tests/pr87.test, tests/pr220.test,
+	tests/substref.test, tests/target-cflags.test, tests/yacc4.test,
+	tests/yaccvpath.test: Require gcc.  Don't pass CC=gcc to
+	configure.
+	* tests/subobj9.test: Require g++.
+
+2002-06-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (required): Handle `GNUmake'.
+	(needs_gnu_make): Don't define anymore.
+	* tests/cond4.test, tests/cond18.test, tests/cond19.test,
+	tests/dollar.test, tests/exsource.test, tests/extra6.test,
+	tests/lex3.test, tests/make.test, tests/pr9.test, tests/pr87.test,
+	tests/subdir5.test, tests/target-cflags.test, tests/yacc7.test,
+	tests/yaccvpath.test: Use `required=GNUmake' instead of
+	`$needs_gnu_make'.
+
+2002-06-17  Paolo Bonzini  <bonzini@gnu.org>
+
+	* automake.in (process_option_list): Recognize std-options.
+	(handle_options): Enable std-options in gnits strictness.
+	(am_install_var): If std-options, enable CK-OPTS section.
+	* lib/am/scripts.am (installcheck-am): New target.
+	* lib/am/progs.am (installcheck-am): New target.
+	* tests/gnits2.test: New file.
+	* tests/Makefile.am (TESTS): Add gnits2.test.
+	* automake.texi (Gnits, Options): Document std-options.
+
+2002-06-17  Kevin Ryde  <user42@zip.com.au>
+
+	* automake.in (scan_texinfo_file): Add tmp to @clean_suffixes,
+	as generated by recent texinfo.tex.
+
+2002-06-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/header.m4 (AM_CONFIG_HEADER): Rename to ...
+	(_AM_CONFIG_HEADERS): ... this.
+	(_AM_CONFIG_HEADER_INSINUATE): Define AC_CONFIG_HEADERS to
+	call _AM_CONFIG_HEADERS; and AM_CONFIG_HEADER to call
+	AC_CONFIG_HEADERS.
+	* automake.in (scan_autoconf_traces): Trace AC_CONFIG_HEADERS
+	instead of AM_CONFIG_HEADER.
+	* tests/autoheader2.test: New file.
+	* tests/Makefile.am (TESTS): Add autoheader2.test.
+	Suggested by Raja R Harinath.
+
+2002-06-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/header.m4 (_AM_CONFIG_HEADER_INSINUATE): Use m4_copy instead
+	of m4_rename so that AC_CONFIG_HEADER is never undefined and
+	therefore still traced after the redefinition.
+	* tests/defs (AUTOHEADER): Define.
+	* tests/autoheader.test: New file.
+	* tests/Makefile.am (TESTS): Add autoheader.test.
+	Reported by Braden McDaniel.
+
+2002-06-13  Paolo Bonzini  <bonzini@gnu.org>
+
+	* automake.in (check_gnu_standards): In --gnu mode, accept
+	one of COPTING, COPYING.LESSER, or COPYING.LIB.
+	(common_files): Add COPYING.LESSER.
+	* automake.texi (Gnits): Document this.
+
+2002-06-13  Paolo Bonzini  <bonzini@gnu.org>
+
+	* automake.in (required_targets): Add the pdf and pdf-am targets.
+	(initialize_per_input): Likewise.
+	(scan_texinfo_file): Add pdf to @clean_suffixes.
+	(handle_texinfo_helper): Output the .pdf dependencies, and define
+	the PDFS variable.
+	* lib/am/texinfos.am (TEXI2PDF): New variable.
+	(pdf, pdf-am): New targets.
+	(.PHONY): Add pdf, pdf-am, and pdf-recursive.
+	* lib/am/texibuild.am (.%SUFFIX%.pdf): New rule.
+
+2002-06-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix pr307.test failure with gcc 3.x.
+	* lib/depcomp (dashmstdout): Strip the call to libtool, and
+	replace `-o $object' by `-o /dev/null' before running "$@"
+	to generate dependencies.
+	(cpp): Strip the call to libtool as well as `-o $object'.
+
+2002-06-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/depcomp (tru64): Expect dependency files in .libs/, maybe as
+	$base.lo.d, when libtool is used.
+	Reported by Nicolas Joly.
+
+2002-06-11  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/java.am (class%DIR%.stamp): Don't run $(JAVAC) when there
+	is no file to compile.
+	* tests/java2.test: New file.
+	* tests/Makefile.am (TESTS): Add java2.test.
+	Reported by Braden N. McDaniel.
+
+2002-06-11  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/maintclean.test: Don't check for autom4te.cache if
+	it's not created by Autoconf.
+	Reported by Bernd Jendrissek.
+
+2002-06-11  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Tests): Document site.exp.  Update DejaGnu's url.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/header-vars.am (transform): Define.
+	Was removed by mistake on 2002-04-13.
+	* tests/transform.test: New file.
+	* tests/Makefile.am (TESTS): Add transform.test.
+	Reported by Nicolas Joly.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dollar.test: Require GNU make.
+	* tests/maintclean.test: Don't use `export YACC=false'.  Pass
+	YACC=false to configure instead.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex, lib/INSTALL,
+	INSTALL: New upstream versions.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/sinclude.test: Check for m4_include too.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/sinclude.test: Rename the package as amsinclude;
+	am__sinclude still trigers the sinclude macro once it has been
+	converted to am--sinclude.
+	Reported by Nicolas Joly.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (API versioning): Typo.
+
+2002-06-10  Nicolas Joly  <njoly@pasteur.fr>
+
+	* THANKS (Nicolas Joly): Remove duplicate.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Fix $MAKE -e detection.
+	* tests/yacc7.test: Use rm -f.
+
+2002-06-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (ACLOCAL, AUTOMAKE): Use absolute paths.
+	* tests/subpkg.test: New file.
+	* tests/Makefile.am (TESTS): Add subpkg.test.
+
+2002-06-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/318:
+	* tests/nobase.test: Rewrite to test _HEADERS, _DATA, _SCRIPTS,
+	_PROGRAMS, _LIBRARIES, and _LTLIBRARIES.
+	* lib/am/scripts.am (install-%DIR%SCRIPTS,
+	uninstall-%DIR%SCRIPTS): Honor nobase_; strip the directory by
+	default.
+	(?%DIR%SCRIPT_INSTALL): New variable.
+	* lib/am/header-vars.am (install_sh_SCRIPT): New variable.
+	Reported by Eric Siegerman.
+
+2002-06-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (lang_yacc_target_hook): Add rule to recover from
+	the removal of $header.
+	* lib/am/yacc.am (%BASE%.h): Remove (duplicate with the one
+	output by lang_yacc_target_hook).
+	* tests/yacc7.test: Try to recreate foo.h after its removal.
+	* tests/yacc8.test: Add `AM_YFLAGS = -d' and try to recreate
+	parse.h too.
+	Reported by Bernd Jendrissek.
+
+2002-06-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/317:
+	* Makefile.am (maintainer-check): Disallow `for f in $(FILES)',
+	suggest `list='$(FILES)'; for f in $$list' instead.
+	* lib/am/distdir.am (distdir): Adjust `for' usage.
+	* lib/am/texinfos.am (maintainer-clean-aminfo): Likewise.
+	* tests/dollar.test: New file.
+	* tests/Makefile.am (TESTS): Add dollar.test.
+	Reported by Eric Siegerman and Philip Fong.
+
+2002-06-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/47 (fixed a long time ago):
+	* tests/yacc7.test: Also check that parser sources are distributed.
+
+2002-06-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/configure.am (am__CONFIG_DISTCLEAN_FILES): New variable.
+	(distclean): Use it.
+	(maintainer-clean): Delete autom4te.cache and
+	$(am__CONFIG_DISTCLEAN_FILES).
+	* tests/maintclean.test: New file.
+	* tests/Makefile.am (TESTS): Add maintclean.test.
+
+2002-06-05  Miloslav Trmac  <trmac@popelka.ms.mff.cuni.cz>
+
+	* lib/am/dejagnu.am (site.exp): Quote build_alias, host_alias, and
+	target_alias.
+
+2002-05-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Check for egrep and fgrep.
+
+	* test/cond22.test: Set SHELL when calling $MAKE -e.
+
+2002-05-31  Richard Boulton <richard@tartarus.org>
+
+	Fix PR automake/326:
+	* automake.in (define_objects_from_sources): Calculate the result in
+	all conditions before passing this to subobjname to pick a name to
+	store the result in.
+	(subobjname): Expect a list of condition/value pairs as input.
+	Combine this list and use it as the key to determine the variable name.
+	* test/cond22.test: New file.
+	* tests/Makefile.am (TESTS): Add cond22.test
+
+2002-05-30  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/am/distdir.am (distdir): Don't assume that 'grep -F' works;
+	instead, use shell pattern matching.
+
+2002-05-29  Paul Eggert  <eggert@twinsun.com>
+
+	Don't assume that egrep and fgrep exist, as POSIX 1003.1-2001 no
+	longer requires them.
+
+	* Makefile.am (maintainer-check): Use grep -E and grep -F instead
+	of egrep and fgrep.  Omit unnecessary -E and -F.
+	Fix quoting typo -- "fgrep '\$${'" should have been "fgrep '$${'".
+	* lib/am/distdir.am (distdir): fgrep -> grep -F.
+	Use $(), not ${}, for Make variables.
+	* lib/am/texinfos.am (install-info-am, uninstall-info-am):
+	fgrep -> grep
+	* m4/make.m4 (AM_MAKE_INCLUDE): Likewise.
+	* tests/defs: Set FGREP and EGREP.
+
+	* tests/aclocali.test, tests/acoutput2.test, tests/all.test,
+	tests/ansi.test, tests/ansi4.test, tests/colon3.test,
+	tests/cond21.test, tests/condlib.test, tests/confh4.test,
+	tests/confsub.test, tests/cxxansi.test, tests/cxxo.test,
+	tests/depend4.test, tests/discover.test, tests/distname.test,
+	tests/dup3.test, tests/empty4.test, tests/fo.test,
+	tests/implicit.test, tests/insh2.test, tests/interp.test,
+	tests/lex.test, tests/lex3.test, tests/lex4.test,
+	tests/libobj5.test, tests/libobj7.test, tests/make.test,
+	tests/makevars.test, tests/nostdinc.test, tests/parse.test,
+	tests/pluseq.test, tests/pluseq4.test, tests/pluseq6.test,
+	tests/pr2.test, tests/pr9.test, tests/seenc.test,
+	tests/specflags.test, tests/specflags3.test,
+	tests/specflags6.test, tests/subobj.test, tests/subobj2.test,
+	tests/suffix3.test, tests/texinfo.test, tests/texinfo6.test,
+	tests/texinfo8.test, tests/vtexi.test, tests/yacc3.test,
+	tests/yacc6.test: fgrep -> $FGREP, egrep -> $EGREP
+
+2002-05-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/323:
+	* m4/depend.m4: Missing comma.
+	* tests/gcj4.test: New file.
+	* tests/Makefile.am (TESTS): Add gcj4.test.
+	Reported by David Pashley.
+
+2002-05-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (configure.in): Don't double-quote $me.
+	* tests/sinclude.test: Overwrite configure.in and use
+	`am__sinclude' instead of `sinclude' as package name.
+	Excercise `m4_sinclude' instead of `sinclude'.
+
+2002-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (conditional_implies_one_of): Rename as ...
+	(conditional_implies_any): ... this.
+	* tests/pluseq9.test: Exercise another case with the new
+	`C' variable.
+	Suggested by Raja R Harinath.
+
+2002-05-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs (configure.in): Quote macro arguments.
+	Reported by Nicolas Joly.
+
+2002-05-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/header-vars.am (build_triplet, host_triplet,
+	target_triplet): Define.  Were removed by mistake on 2002-04-13.
+
+2002-05-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/186:
+	* lib/am/distdir.am (distcheck): Attempt a DESTDIR install.
+	* tests/destdir.test: New file.
+	* tests/Makefile.am (TESTS): Add destdir.test.
+
+2002-05-16  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (conditional_true_when): Return false if $WHEN == FALSE.
+	(conditional_is_redundant): Simplify.
+	(conditional_implies_one_of,
+	variable_not_always_defined_in_cond): New functions
+	(macro_define): Reject appends if the variable is not defined in
+	all conditions where `+=' applies.
+	(invert_conditions): Rewrite.  Before this patch,
+	invert_conditions("A_TRUE B_TRUE", "A_TRUE B_FALSE", "A_FALSE")
+	would return ("A_FALSE B_TRUE", "A_FALSE B_TRUE"), which seems
+	wrong (these conditions implies "A_FALSE").  Now it outputs (),
+	which just means the input conditions cover all cases.
+	(variable_conditions_permutations): Never output FALSE conditions.
+	* tests/pluseq2.test, tests/pluseq3.test: Define data_DATA
+	in the CHECK_FALSE condition to fix the test.
+	* tests/pluseq5.test: Actually check the diagnostic.
+	* tests/pluseq9.test: New file.
+	* tests/Makefile.am (TESTS): Add pluseq9.test.
+
+2002-05-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/322:
+	* automake.in (read_am_file): Rename $was_rule as $prev_state, and
+	set it with IN_RULE_DEF, IN_VAR_DEF, or IN_COMMENT as appropriate.
+	Handle comments continued by backslashes.
+	* tests/comment6.test: New file.
+	* tests/Makefile.am (TESTS): Add comment6.test.
+	Reported by Braden N. McDaniel.
+
+2002-05-08  Charles Wilson  <cwilson@ece.gatech.edu>
+            Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/progs.am (clean-%DIR%PROGRAMS): If Libtool is used, clean
+	both `program$(EXEEXT)' and `program'; needed under Cygwin.
+	* tests/libtool3.test: New file.
+	* tests/Makefile.am (TESTS): Add libtool3.test.
+
+2002-05-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* TODO: Undust.
+
+2002-05-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (FETCHFILES, fetch): Get INSTALL from Autoconf CVS.
+
+2002-05-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Erase stamps from the Makefile that generates them.
+
+	* automake.in (handle_configure): Append each used stamp to
+	@distclean_config.  Don't warn about stamp-h in AC_OUTPUT, this
+	file is not used anymore.
+	* lib/am/clean.am (distclean-generic): Don't erase stamp-h and
+	stamp-h[0-9]*.
+	* tests/subdir6.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+
+2002-05-06  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for condd.test (conditional `+='):
+	* automake.in (%appendvar): New.
+	(initialize_per_input): Clear it.
+	(macro_define): Handle += for variable defined in another condition.
+	* automake.texi (Conditional Sources): Use conditional += in
+	the example.
+	(General Operation, Conditionals): Remove note about broken +=.
+	* tests/cond21.test: New file.
+	* tests/condd.test: Also test conditional append to a _SOURCE
+	variable.  Create missing directories.
+	* tests/Makefile.am (TESTS): Add cond21.test.
+	(XFAILS): Remove condd.test.
+
+2002-05-05  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Program and Library Variables): Mention _LFLAGS.
+
+2002-04-30  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/ltlib.am (clean-%DIR%LTLIBRARIES): Erase so_locations
+	files.  Fix subobj9.test on OSF and IRIX.
+	Reported by Nelson H. F. Beebe.
+
+2002-04-26  Tom Tromey  <tromey@redhat.com>
+
+	* lib/am/dejagnu.am (distclean-DEJAGNU): New target.
+	For Debian bug 144221.
+
+2002-04-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/man2.test: Use `pwd`, not $PWD.  Use $MAKE -e.
+
+2002-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (subobjname): Use the length of %subobjvar
+	instead	of $subobjnamenum.
+	(subobjnamenum): Remove.
+
+2002-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/307:
+	* lib/depcomp: Never compute dependencies in the background, this
+	can cause races with libtool.  Compute the dependencies after
+	the actual compilation.  Don't make libtool silent now that
+	it's run in the foreground.
+	* tests/pr307.test: New file.
+	* tests/Makefile.am (TESTS): Add pr307.test.
+	Reported by Laurent Morichetti.
+
+2002-04-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/check.am: Show skipped tests.  Display the
+	$(PACKAGE_BUGREPORT) address on failure.
+
+2002-04-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix PR automake/315:
+	* automake.in (subobjname): Rewrite to generate variable name
+	unique for each content.
+	(%substnums): Remove.
+	(%subobjvar): New hash.
+	(initialize_per_input): Clear %subobjvar.
+	(define_objects_from_sources): Return the name of the variable
+	defined, in addition to the linker.  Call subobjname only once
+	the content of the variable to define is known.
+	(handle_source_transform): Adjust call to define_objects_from_sources.
+	* tests/specflags8.test: Mention PR 315.
+	* tests/subobjname.test: New file.
+	* tests/Makefile.am (XFAIL_TESTS): Remove specflags8.test.
+	(TESTS): Add subobjname.test.
+
+2002-04-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Grep
+	the whole file for 'generated by automake', not only the
+	first line.  This accounts for post-processed Makefile.in's.
+	* tests/postproc.test: New file.
+	* tests/Makefile.am (TESTS): Add postproc.test.
+
+2002-04-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	For PR automake/151 and PR automake/314:
+	* automake.texi (A Program): Split into
+	(Program Sources, Linking, Conditional Sources, Conditional
+	Programs): ... these subsections; moving the Linking node
+	before the Conditional discussions.
+	(Conditional Sources): More details.  Notably, mention
+	hello_DEPENDENCIES.
+	(Conditionals): Adjust reference to Conditional Programs.
+
+2002-04-19  Paul Eggert  <eggert@twinsun.com>
+
+	Fix some bugs when using "$@" when there might be zero positional
+	arguments in cases where this matters.  Zsh doesn't support
+	the workaround ${1+"$@"} that has been used by Automake since
+	the Mon Dec  4 11:55:36 1995 change.
+
+	* aclocal.in: Use 'case' statement to work around problem.
+	* automake.in: Likewise.
+	* lib/ylwrap: Likewise.
+	* lib/missing: No need for workaround, as the command is never
+	invoked with zero arguments.
+	* tests/ccnoco.test: Likewise.
+	* missing: Update from lib/missing.
+
+2002-04-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (initialize_per_input): Clear %require_file_found.
+	(%require_file_found): Group the declaration with the other
+	variables initialized by initialize_per_input.
+	* tests/required.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	Reported by Marius Vollmer.
+
+2002-04-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/header.m4 (_AM_CONFIG_HEADER_INSINUATE): New function,
+	override AC_CONFIG_HEADERS with AM_CONFIG_HEADER.
+	(_AM_CONFIG_HEADER): Use _AM_AC_CONFIG_HEADERS.
+	* m4/init.m4: Call _AM_CONFIG_HEADER_INSINUATE.
+	* tests/stamph2.test: Use AC_CONFIG_HEADERS for some of the config
+	files.
+	* tests/confh5.test: New file.
+	* tests/Makefile.am (TESTS): Add confh5.test.
+	* automake.texi (Optional, Public macros): Update descriptions
+	of AC_CONFIG_HEADERS and AM_CONFIG_HEADER.
+
+2002-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/man2.test: New file.
+	* tests/Makefile.am (TESTS): Add man2.test.
+	* lib/am/mans.am (install-man%SECTION%): Change the extension
+	of the man pages being installed, as documented.
+
+2002-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Enable traces; wipe out the old configure.in parser.
+
+	* automake.in (scan_autoconf_traces): Use '$ENF{AUTOCONF}' of
+	'autoconf'.  Honnor the $filename argument.
+	(scan_autoconf_files): Don't call scan_one_autoconf_file.
+	Always call scan_autoconf_traces.
+	(scan_one_autoconf_file): Remove, with it associated regexes.
+	(obsolete, obsolete_rx): Remove.
+	(register_language, handle_languages): Remove the 'define_flag'
+	support.  Remove it from the struct and language definitions too.
+	(unquote_m4_arg): Remove.
+	* lib/am/header-vars.am, lib/am/compile.am, lib/am/lisp.am: Remove
+	the `FOO = @FOO@' definitions for all AC_SUBST'ed variables.  They
+	are now generated automatically.
+	* aclocal.in (obsolete_macros): Don't mention obsolete_macros in
+	automake.in.
+	* automake.texi (Invoking Automake): Mention the AUTOCONF envvar.
+
+2002-04-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/version6.test: New file.
+	* tests/Makefile.am (TESTS): Add tests/version6.test.
+	* automake.in (version_check): Return 0 on equality.
+
+2002-04-13  Andreas Schwab  <schwab@suse.de>
+
+	* THANKS: Update my mail address.
+
+2002-04-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/discover.test: Use a full configure.in that calls AC_INIT.
+	Use AC_LIBOBJ.  Grep the error message.
+	* test/ldadd.test: Don't use LIBOBJS.  Use a full configure.in.
+	Grep the error message.  Require libtool.
+	* tests/ldflags.test:  Don't use LIBOBJS.
+	* tests/seenc.test: Use AC_LIBOBJ, --Wno-error, and grep the
+	error messages for CC and CXX.
+
+2002-04-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_autoconf_traces) <AC_SUBST>: Ignore ANSI2KNR
+	and AMDEPBACKSLASH.
+	* tests/distcommon2.test: Use a full configure.in that calls AC_INIT.
+	* tests/ext.test: Enable dependencies for OBJC.
+	* tests/libobj.test, tests/libobj6.test, tests/libobj9.test:
+	Delete.  They tests for different flavors of $LIBOBJS assignments
+	that wont be supported anymore.
+	* tests/libobj2.test, tests/libobj10.test: Use AC_LIBOBJ.
+	* tests/obsolete.test: Don't test Automake.
+	* tests/suffix5.test: Require libtool.
+	* tests/Makefile.am (TESTS): Remove libobj.test, libobj6.test and
+	libobj9.test.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in (APIVERSION): Fix definition.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* NEWS: Catch up with changes since 1.6.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/yacc8.test: Don't assume GNU make, run config.status
+	to regenerate the Makefile.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Make sure `$MAKE -e' is
+	always followed by a SHELL setting.
+	* tests/ansi3.test, tests/ansi5.test, tests/subobj3.test: Set
+	SHELL when calling `$MAKE -e'.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/subobj9.test: Use configure.in, not configure.ac,
+	otherwise this fails with old libtool versions.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex: New upstream
+	versions.
+
+2002-04-10  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* ChangeLog.2001: New file, extracted from ChangeLog.
+	* Makefile.am (EXTRA_DIST): Add it.
+
+2002-04-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Canonicalization): The sources for libmumble++.a
+	go into libmumble___a_SOURCES.
+
+2002-04-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Check for `sleep 1' uses in the
+	test suite.  Suggest `sleep 2' instead.
+	* tests/confsub.test: Use `sleep 2'.
+
+2002-04-04  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/am/subdirs.am:
+	($(RECURSIVE_TARGETS), maintainer-clean-recursive):
+	$(MAKEFLAGS) -> $$MAKEFLAGS, so that we don't run into problems if
+	MAKEFLAGS contains '$(...)'.
+
+2002-04-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/specflags8.test: Typo.
+
+2002-04-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/specflags6.test: Run aclocal.
+	* tests/Makefile.am (TESTS): Add specflags6.test.
+
+2002-04-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/specflags7.test, tests/specflags8.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+	(XFAIL_TESTS): Add specflags8.test.
+
+2002-03-29  Tom Tromey  <tromey@redhat.com>
+
+	* automake.in (check_typos): Examine AM_LDFLAGS.
+	Fixes PR automake/311.
+
+	For PR automake/312:
+	* lib/am/libtool.am (clean-libtool): Use LTRMS.
+	* automake.in (handle_single_transform_list): When processing a
+	libtool object, clean the ordinary object and register the
+	directory.
+	(libtool_clean_directories): New global.
+	(initialize_per_input): Initialize it.
+	(generate_makefile): Call handle_libtool later.
+	(handle_libtool): Handle libtool_clean_directories.
+	* tests/subobj9.test: New file.
+	* tests/Makefile.am (TESTS): Added subobj9.test.
+
+2002-03-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/extra6.test, tests/subdir5.test: Require GNU make.
+
+2002-03-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dup3.test (ACLOCAL): s/srcdir/testsrcdir/.
+
+2002-03-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/extra7.test: New file.
+	* tests/Makefile.am: Add it.
+	* lib/am/distdir.an (distdir): When a distribuable directory
+	exists both in `.' and $(srcdir), merge both directories.  This
+	works around a failure of extra6.test on Tru64 reported by
+	Nicolas Joly.
+
+2002-03-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/pr87.test, tests/yaccvpath.test: Require GNU make.
+
+2002-03-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Catch occurrences of
+	`$MAKE foo=bar' in the testsuite.  Suggest using
+	`foo=bar $MAKE -e' instead.
+	* tests/ansi3.test, tests/ansi5.test, tests/subobj3.test:
+	Use $MAKE -e.  This fixes a ansi5.test failure with Solaris make.
+	* tests/defs: Unset $srcdir, and set $testsrcdir to its old value.
+	* tests/installsh.test (AUTOMAKE, ACLOCAL): Use $testsrcdir.
+
+2002-03-26  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/310:
+	* lib/am/depend2.am, lib/am/lex.am, lib/am/yacc.am: Quote %SOURCE%
+	so it never appears as a plain word.
+
+2002-03-25  Angus Leeming  <a.leeming@ic.ac.uk>
+
+	* lib/depcomp (tru64): Correctly compute `base'.
+
+2002-03-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/pr211.test: s/requires/required/, otherwise the test fails
+	if libtool is not installed.
+
+2002-03-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dirname.test: Don't use $SHELL when calling ./configure.
+
+2002-03-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dirname.test: Use --quiet to fix failure on installations
+	using a site script.
+	Reported by Nicolas Joly.
+
+2002-03-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (maintainer-check): Check for misuses of make,
+	autoconf, automake, aclocal, and perl in the testsuite.  Suggest
+	using $MAKE, $AUTOCONF, $AUTOMAKE, $ACLOCAL, and $PERL instead.
+	* tests/confsub.test: Use $AUTOCONF and $MAKE.
+	* tests/extra5.test, tests/extra6.test, tests/lex5.test,
+	tests/nobase.test, tests/nodist2.test, tests/pr204.test,
+	tests/pr224.test, tests/pr287.test, tests/strip.test,
+	tests/yacc8.test: Use $MAKE.
+
+2002-03-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Add support for two-dot versions.
+
+	* tests/version5.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	* automake.in (version_split, version_compare): New functions.
+	(version_check): Rewrite using version_split and version_compare.
+	(process_option_list): Adjust regex.
+
+2002-03-18  Richard Boulton <richard@tartarus.org>
+
+	Fix for PR automake/306:
+	* automake.texi (Generalities): Document +=.
+	(Conditionals): Document limitations of += with conditionals.
+
+2002-03-17  Tom Tromey  <tromey@redhat.com>
+
+	Fix for PR automake/295:
+	* automake.texi (Invoking Automake): Deprecate --output-dir.
+	* automake.in (usage): Don't document --output-dir.
+	(output_directory): Don't initialize.
+	(parse_arguments): Deprecate --output-dir.
+
+	* m4/init.m4 (AUTOMAKE, ACLOCAL): Removed extra quotes.
+	Fixes PR automake/304.
+
+2002-03-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dirforbid.test: Workaround for NetBSD sh bug.
+	Fixes PR automake/305.
+
+2002-03-11  Richard Boulton <richard@tartarus.org>
+
+	* automake.in (check_typos): Allow variables with reserved
+	suffices (such as _LDFLAGS) and prefixes which aren't
+	recognised if the variable is defined in configure.ac.
+	Fixes acsubst.test.
+
+2002-03-11  Richard Boulton <richard@tartarus.org>
+
+	* tests/acsubst.test: New test, by Alexandre Duret-Lutz
+	* tests/acsubst2.test: New test, by Alexandre Duret-Lutz
+	* tests/Makefile.am (TEST): Added acsubst.test and acsubst2.test
+
+2002-03-11  Peter Breitenlohner  <peb@mppmu.mpg.de>
+
+	* tests/defs: Unset DESTDIR, otherwise `make DESTDIR=/foo check'
+	causes failures.
+
+2002-03-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/303:
+	* automake.in (version_check): Move the error message ...
+	(process_option_list): ... here, so we can distinguish between
+	global and local options.
+
+2002-03-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/pr300-lib.test, tests/pr300-ltlib.test,
+	tests/pr300-prog.test: Use AC_OUTPUT, not AC_OUTPUT(Makefile), so
+	Autoconf doesn't complain about Makefile being output twice.
+
+2002-03-06  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Upped version to 1.6a.
+
+2002-03-05  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Released 1.6.
+
+2002-03-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/300:
+	* tests/pr300-lib.test, tests/pr300-ltlib.test,
+	tests/pr300-prog.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+	* automake.in (handle_ltlibraries): Strip nobase_ prefix to
+	compute	the directory.
+	* lib/am/header-vars.am (install_sh_PROGRAM): New variable.
+	* lib/am/libs.am (%DIR%LIBRARIES_INSTALL): New variable.
+	(install-%DIR%LIBRARIES): Use it.  Honor nobase_.
+	(uninstall-%DIR%LIBRARIES): Honor nobase_.
+	* lib/am/ltlibs.am (%DIR%LTLIBRARIES_INSTALL): New variable.
+	(install-%DIR%LTLIBRARIES): Use it.  Honor nobase_.
+	(uninstall-%DIR%LTLIBRARIES): Honor nobase_.
+	* lib/am/progs.am (%DIR%PROGRAMS_INSTALL): New variable.
+	(install-%DIR%PROGRAMS): Use it.  Honor nobase_.
+	(uninstall-%DIR%PROGRAMS): Honor nobase_.
+	See also the fix for nobase.test on 2001-11-09.
+
+2002-03-05  Tom Tromey  <tromey@redhat.com>
+
+	* lib/config.sub, lib/config.guess, lib/texinfo.tex: Updated.
+
+2002-03-05  Pavel Roskin  <proski@gnu.org>
+
+	* tests/yacc8.test: Add a command between "test" and "cd" to
+	work around a bug in bash-2.05.
+
+2002-03-05  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/294:
+	* tests/dirforbid.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	* automake.in (standard_prefix): New hash.
+	(am_primary_prefixes): Forbid standard_prefixes which are not
+	explicitely allowed.
+	* automake.texi (Uniform): Remove FIXME.
+
+2002-03-05  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (@common_files): Add config.rpath.
+
+2002-03-05  Kevin Ryde  <user42@zip.com.au>
+
+	For PR automake/297:
+	* lex.m4 (AM_PROG_LEX): Don't set LEX=${am_missing_run}flex until
+	after AC_PROG_LEX, since it will try to run it and fail (in autoconf
+	2.52 at least).
+
+2002-02-25  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_one_autoconf_file): Declare
+	LEX_OUTPUT_ROOT and LEXLIB as configure variables when
+	AM_PROG_LEX or AC_PROG_LEX are seen.  This allows to ...
+	* lib/am/lex.am: ... remove the LEX_OUTPUT_ROOT and LEXLIB
+	definitions.  Search %SOURCE% in $(srcdir).  Use s||| instead
+	of s/// in the sed invocation, to support filenames containing
+	slashes.
+	* lib/am/yacc.am: Search %SOURCE% in $(srcdir).  Use s||| too.
+	* tests/lex5.test, tests/yacc8.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+2002-02-23  Per Bothner  <per@bothner.com>
+
+	* m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Set `dirpart' to
+	`.' in else branch.
+
+2002-02-22  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/make.test: Revert the grep logic to work around a bug
+	in NetBSD sh (see NetBSD Problem Report #11542).
+	Reported by Patrick Welche.
+
+2002-02-20  Tim Van Holder  <tim.van.holder@pandora.be>
+
+	* m4/lispdir.m4: Redirect /dev/null to stdin when running $EMACS
+	to try and prevent a non-lisp emacs from starting in interactive
+	mode.
+	* automake.texi: Document this change.
+
+2002-02-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Macros): Split into ...
+	(Public Macros, Private Macros): ... these.
+
+2002-02-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/insthook.test: Use sed instead of "tail +X".
+
+2002-02-18  Paul Eggert  <eggert@twinsun.com>
+
+	* lib/depcomp: Don't use "tail +3"; it's not portable to
+	POSIX 1003.1-2001 hosts.
+
+2002-02-18  Jim Meyering  <meyering@lucent.com>
+
+	* tests/cond12.test: Use sed 1q, not `head -n 1'.
+	The latter is not portable to some old systems.
+	* m4/depout.m4: Don't use `head -1'; it's no longer portable.
+	Use `sed 1q' instead.
+	* tests/insthook.test: Likewise.
+
+2002-02-17  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (handle_lib_objects_cond): Tell the user to put
+	global linker flags in AM_LDFLAGS, not LDFLAGS.
+
+	* automake.texi (General Operation): AC_SUBST'ed variables
+	override Automake's variables.
+	(Uniform): More words and @refs.
+	(Auxiliary Programs) <config.sub, config.guess>: Add URL.
+	(etags): More explanations about the first example.
+	(Invoking Automake): Mention autoreconf.  More @refs.
+	(Requirements): Mention AC_CONFIG_FILES.
+	(Optional): AC_CHECK_TOOL will no longer install config.sub and
+	config.guess.  Mention AC_LIBOBJ, AC_LIBSOURCE, and AC_LIBSOURCES.
+	(Invoking aclocal): aclocal no longer warn about duplicates.
+	(Macros) <AM_INIT_AUTOMAKE>: More explanations.
+	(Extending aclocal): Suggest using the output of
+	`aclocal --print-ac-dir` to install third-party macros.
+	(Alternative): Specify ordering of dist_, nodist_, and nobase_
+	prefixes.
+	(A Program): Mention scripts.  The global LDADD variable is not
+	meant to hold link flags, suggest using AM_LDFLAGS instead.
+	(Program and Library Variables) <maude_LIBADD, maude_LDADD>:
+	_LIBADD and _LDADD are subject to the same restriction wrt to
+	link flags.
+	(Program and Library Variables) <maude_DEPENDECIES>: Is also
+	derived from maude_LIBADD.
+	(Program variables): Define AM_LDFLAGS.
+	(Dependencies): Passing the no-dependencies option to
+	AM_INIT_AUTOMAKE is prefered.
+	(Scripts): Explain why automake is magically cleaned.
+	Mention noinst_SCRIPTS and check_SCRIPTS.
+	(Data): Use dist_ in Automake's example.
+	(Dist): Reference AM_INIT_AUTOMAKE for PACKAGE and VERSION.
+	Mention AC_CONFIG_FILES instead of AC_OUTPUT.
+
+2002-02-14  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* Makefile.am (FETCHFILES): Add Automake/XFile.pm.
+	(fetch): Fetch XFile.pm.  Update the files in $(srcdir) instead
+	of asking the maintainer to do it manually.
+	* lib/config.guess, lib/config.sub, lib/texinfo.tex,
+	Automake/XFile.pm: New upstream versions.
+
+2002-02-02  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Macros): Warn about upgrading.
+
+2002-02-01  Tom Tromey  <tromey@redhat.com>
+
+	Change per GNU coding standards:
+	* aclocal.in (parse_arguments): Only mention most recent year in
+	copyright output.
+	* automake.in (version): Only mention most recent year.
+
+2002-01-30  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (API versioning): New Node.
+	(Extending): Use $(DESTDIR) in examples.
+
+2002-01-28  Akim Demaille  <akim@epita.fr>
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Serial 5.
+	Respect the --help layout.
+
+2002-01-27  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in: Bumped to 1.5e.
+
+	* lib/am/yacc.am: Use `rm -f'.
+
+	* configure.in: Released 1.5d.
+
+	* lib/config.guess: New version from FSF.
+
+	* Makefile.am (uninstall-hook): New target.
+
+2002-01-24  Akim Demaille  <akim@epita.fr>
+
+	* lib/install-sh: Update, from Autoconf.
+
+2002-01-24  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (scan_one_autoconf_file): Don't treat AC_CHECK_TOOL
+	as AC_CANONICAL_HOST (the former does not require the latter since
+	Autoconf 2.50).
+	* m4/strip.m4 (AM_PROG_INSTALL_STRIP): Check for strip.
+	* automake.texi (Requirements): Do not require STRIP to be
+	defined by the user.
+
+2002-01-23  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/depend.am (distclean-depend): Erase %DEPDIRS%, not $(DEPDIRS).
+	* automake.in (handle_languages): Compute and substitute %DEPDIRS%.
+	* tests/pr224.test: Make sure .deps subdirectories are
+	erased by distclean.
+
+2002-01-22  Tom Tromey  <tromey@redhat.com>
+
+	* m4/gcj.m4 (AM_PROG_GCJ): Don't invoke dependency code if
+	no-dependencies option is set.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Don't invoke dependency code if
+	no-dependencies option is set.  Don't call AM_DEP_TRACK or
+	AM_SET_DEPDIR.
+
+2002-01-22  Pavel Roskin  <proski@gnu.org>
+
+	* tests/asm.test: Use CCAS and CCASFLAGS instead of AS and
+	ASFLAGS.
+
+2002-01-22  Akim Demaille  <akim@epita.fr>
+
+	* Makefile.am (FETCHFILES): Remove ansi2knr.c, add texinfo.tex.
+	(fetch): Adjust.
+
+2002-01-21  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.am (fetch): Don't fetch ansi2knr.
+
+	* automake.texi (Macros): Updated for new variable names.
+	(Program and Library Variables): Likewise.
+	(Assembly Support): Likewise.
+	* m4/as.m4: Use CCAS and CCASFLAGS.
+	* automake.in (asm): Use CCAS and CCASFLAGS.
+
+2002-01-21  Akim Demaille  <akim@epita.fr>
+
+	* automake.in (&parse_arguments): Use a more GNUish error message
+	on wrong options.
+
+2002-01-20  Tom Tromey  <tromey@redhat.com>
+
+	Fix for PR automake/231:
+	* m4/gcj.m4 (AM_PROG_GCJ): Use _AM_DEPENDENCIES(GCJ).
+	* m4/depend.m4: Document `GCJ'.
+
+	For PR automake/224:
+	* tests/Makefile.am (TESTS): Added pr224.test.
+	* tests/pr224.test: New file.
+	* lib/depcomp: Fixed computation of depfile.
+	* lib/am/depend2.am: Use %DEPBASE%, not $(DEPDIR).
+	* automake.in (handle_single_transform_list): Only reject `..'
+	component for Java.  Put dependencies in directory near object.
+	(handle_languages): Set DEPBASE.  Handle de-ansi-fication.
+
+2002-01-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/defs: Export AUTOMAKE and ACLOCAL.
+
+2002-01-19  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/204:
+	* tests/pr204.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	* automake.in (handle_single_transform_list): Don't distribute
+	sources derived from non-distributed sources.
+
+2002-01-18  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/229:
+	* tests/pr229.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+	* automake.in (scan_one_autoconf_file): Recognize AC_CYGWIN,
+	AC_EMXOS2, and AC_MINGW32.
+
+2002-01-18  Tom Tromey  <tromey@redhat.com>
+
+	* tests/cond7.test: Fix test bug exposed by copyright update.
+
+	For PR automake/288:
+	* automake.in (lang_c_rewrite): Don't prepend directory to base if
+	directory is `.'.  Also, properly compute de_ansi_files entry in
+	subdir-objects case
+	* tests/Makefile.am (TESTS): Added ansi7.test.
+	* tests/ansi7.test: New file.
+
+	* aclocal.in (parse_arguments): Added 2002.
+	(write_aclocal): Likewise.
+	(parse_arguments): Updated my email address.
+	* automake.in (gen_copyright): Added 2002.
+	(version): Likewise.  Also, changed my email address.
+
+	* configure.in (APIVERSION): Refined definition.
+
+2002-01-18  Tom Tromey  <tromey@redhat.com>
+
+	* missing: Updated.
+	* lib/missing: Accept versioned aclocal.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Look for versioned aclocal.
+
+2002-01-17  Pavel Roskin  <proski@gnu.org>
+
+	* m4/Makefile.am (m4datadir): Use APIVERSION.
+
+2002-01-16  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.am (install-exec-hook): Use APIVERSION.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use am__api_version.
+	* m4/amversion.in (AM_AUTOMAKE_VERSION): Set am__api_version from
+	APIVERSION.
+	* automake.in (perllibdir): Use APIVERSION.
+	(libdir): Likewise.
+	* aclocal.in (perllibdir): Use APIVERSION.
+	(APIVERSION): New global.
+	(parse_arguments): Use APIVERSION.
+	* configure.in (APIVERSION): New subst.
+	(pkgvdatadir): Use APIVERSION.
+
+2002-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* missing: Updated.
+	* lib/missing: Match against `automake*' to pick up versioned
+	automake.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use versioned automake name.
+	* m4/amversion.in (AM_AUTOMAKE_VERSION): Set am__version
+	variable.
+	* lib/am/Makefile.am (amdir): Use pkgvdatadir.
+	* lib/Makefile.am (dist_pkgvdata_DATA): Renamed to use
+	pkgvdatadir.
+	(scriptdir): Use pkgvdatadir.
+	(installcheck-local): Likewise.
+	* lib/Automake/Makefile.am (perllibdir): Use pkgvdatadir.
+	* automake.in (perllibdir): Added VERSION.
+	(libdir): Likewise.
+	* aclocal.in (parse_arguments): Search versioned directory.  Don't
+	push unversioned directory unless it exists.
+	(perllibdir): Added VERSION.
+	(default_acdir): New global.
+	* m4/Makefile.am (m4datadir): Added $(VERSION).
+	* Makefile.am (install-exec-hook): New target.
+	* configure.in (ACLOCAL): Search build directory.
+	(pkgvdatadir): New subst.
+
+2002-01-15  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/config.sub, lib/config.guess: New versions from FSF.
+
+2002-01-13  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/288:
+	* automake.in (lang_c_rewrite): Set value for de_ansi_files entry
+	to directory.
+	(lang_c_finish): Likewise.  Also, use directory information from
+	de_ansi_files.
+
+2002-01-13  Kevin Ryde  <user42@zip.com.au>
+
+	For PR automake/288:
+	* tests/Makefile.am (TESTS): Added ansi6.test.
+	* tests/ansi6.test: New file.
+
+2002-01-13  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/287:
+	* lib/am/distdir.am (distdir): Use `$$list' trick when looping
+	over subdirs.
+	* tests/Makefile.am (TESTS): Added pr287.test.
+	* tests/pr287.test: New file.
+
+2002-01-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/distdir.am (distdir): Handle subdirectories.
+	* tests/extra6.test: New file.
+	* tests/Makefile.am (TESTS): Add it.
+
+2002-01-13  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/extra2.test: Run $ACLOCAL.
+
+2002-01-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Set PACKAGE and VERSION from
+	AM_INIT_AUTOMAKE arguments when using the old-style call.
+	Use AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION in the new form only.
+	Suggested by Pavel Roskin.
+
+2002-01-12  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* test/nodefine.test, test/nodefine2.test: Check that no-define
+	works, not the contrary...
+	* m4/options.m4 (_AM_IF_OPTIONS): Use m4_ifset.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): A third argument implies no-define,
+	not the contrary.
+
+2002-01-12  Jim Meyering  <meyering@lucent.com>
+
+	* automake.in (scan_one_autoconf_file): Unquote AC_LIBOBJ argument.
+	* tests/libobj11.test: New file.
+	* tests/Makefile.am (TESTS): Add libobj11.test.
+
+2002-01-09  Ryan T. Sammartino  <ryants@shaw.ca>
+
+	* lib/depcomp (msvisualcpp): Strip -Gm, -Gi, and -ZI options.
+
+2002-01-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (file_contents_internal): Introduce two variables,
+	$is_rule and $discard_rules to track rules spanning across multiple
+	paragraphs.  This fixes a very nasty bug reported by Dmitry Mikhin
+	where only the first paragraph of such a multi-paragraph rule was
+	discarded; but it leaves many similar latent bugs (see the FIXMEs).
+
+2002-01-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/dup3.test: Remove all -I from $ACLOCAL before using it.
+	* tests/error.test: Use some macro names which are not defined by
+	Automake itself.
+
+2002-01-09  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.texi (Complete, Macros, Options): Document the new style
+	AM_INIT_AUTOMAKE.  Remove AM_AUTOMAKE_OPTIONS documentaion.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Get PACKAGE and VERSION from
+	AC_INIT if they are available there.  Support a	new call form
+	where the only argument is an optional space-separated list of
+	Automake options.
+	* m4/options.m4 (AM_AUTOMAKE_OPTIONS): Remove.
+	(_AM_MANGLE_OPTION, _AM_SET_OPTION, _AM_SET_OPTIONS,
+	_AM_IF_OPTION): New functions.
+	* automake.in (AC_INIT_PATTERN): New variable.
+	(global_options_line): Remove, use $seen_init_automake instead.
+	(scan_one_autoconf_file, scan_autoconf_traces): Set $package_version
+	from AC_INIT if available.  Support the new style AM_INIT_AUTOMAKE.
+	Remove the AM_AUTOMAKE_OPTIONS handling.
+	* configure.in: Modernize.
+	* tests/defs (configure.in): Modernize.  One third of the tests
+	still overwrite the default configure.in and use an old
+	AM_INIT_AUTOMAKE call, 	so that makes testing for both.
+	* tests/nodefine.test, tests/nodefine2.test: New files.
+	* tests/Makefile.am (TESTS): Add them.
+
+2002-01-08  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* automake.in (define_configure_variable): Propagate line numbers.
+
+2002-01-08  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add python2.2.
+
+2002-01-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in: Run the Autoconf test in a subdirectory, then
+	erase this directory.
+
+2002-01-07  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* configure.in (AUTOMAKE): Create m4/amversion.m4.
+	* m4/amversion.in: New file.
+	* m4/Makefile.am (m4data_DATA, EXTRA_DIST): Replace by ...
+	(dist_m4data_DATA): ... this.
+	(nodist_m4data_DATA, DISTCLEANFILES): Add amversion.m4.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Require
+	AM_SET_CURRENT_AUTOMAKE_VERSION.
+	* automake.in (seen_automake_version): New variable.
+	(scan_autoconf_traces, scan_one_autoconf_file,
+	scan_autoconf_files): Scan for AM_AUTOMAKE_VERSION and complain
+	when the version used in aclocal.m4 differs from Automake's.
+	* tests/defs (ACLOCAL): Look in ../m4 too.
+	* tests/installsh.test (ACLOCAL): Likewise.
+	* tests/installdir.test (installdirs-local): Run $ACLOCAL.
+
+2002-01-06  Raja R Harinath  <harinath@cs.umn.edu>
+
+	* automake.in (handle_languages): Emit an automake
+        internal variable 'am__depfiles_maybe'.
+	* lib/am/configure.am (%MAKEFILE%): Use am__depfiles_maybe.
+
+	* lib/am/configure.am (%MAKEFILE%): Pass `depfiles' to
+	config.status.
+
+2002-01-06  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Tags): Document new variables.
+	* lib/am/tags.am (ETAGS): New macro.
+	(ETAGSFLAGS): Likewise.
+	(TAGS): Use them.
+
+2002-01-04  Tom Tromey  <tromey@redhat.com>
+
+	* configure.in (ACLOCAL): Set perllibdir.  From Nicolas Joly.
+
+2002-01-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* automake.in (read_am_file): Thinko in "comment following
+	trailing backslash" detection.
+	* tests/comment5.test: Test for this too.
+
+2002-01-02  Tom Tromey  <tromey@redhat.com>
+
+	* automake.texi (Extending): Added index for uninstall-hook.
+
+2002-01-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/278:
+	* m4/python.m4 (AM_PYTHON_CHECK_VERSION): Use `sys.hexversion' to cope
+	with versions such as '2.2c1'.  Also, use `int' instead of the
+	obsoleted `string.atoi'.
+	Reported by Enrico Scholz.
+
+2002-01-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	Fix for PR automake/280:
+	* automake.in (read_am_file): Warn about trailing backslashes
+	in comments.
+	* tests/comment5.test: New file.
+	* tests/Makefile.am (TESTS): Add comment5.test.
+	Reported by Enrico Scholz.
+
+2002-01-02  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* tests/comment4.test: New file.
+	* tests/Makefile.am (TESTS): Add comment4.test.
+
+	Fix for comment4.test:
+	* automake.in (read_am_file): Output leading comments only when
+	encountering white lines.
+
+2002-01-01  Tom Tromey  <tromey@redhat.com>
+
+	For PR automake/234:
+	* tests/Makefile.am (TESTS): Added strip.test.
+	* tests/strip.test: New file.
+
+	* automake.texi (Extending): Mention uninstall-hook.
+	(Install): Likewise.
+	* automake.in (handle_factored_dependencies): Allow
+	uninstall-hook.
+
+2002-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
+
+	* lib/am/install.am (install-strip): Set INSTALL_STRIP_FLAG=-s,
+	it is needed by install-%DIR%LTLIBRARIES in ltlib.am.
+	This fixes a bug introduced on 2001-01-28.
+	Reported by Jared Davis.
+
+-----
+
+Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/ChangeLog.96
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/ChangeLog.96	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/ChangeLog.96	(revision 3089)
@@ -0,0 +1,3699 @@
+Wed Dec 18 15:27:09 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (read_am_file): Sort configure_vars before adding to
+	output_vars.
+	(handle_yacc_lex_cxx): Sort de_ansi_objects.
+	(handle_man_pages): Sort %section keys.
+
+Tue Dec 10 00:41:17 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (AC_SUBST_PATTERN): Check for alphanumeric variable
+	names only.  Test subst.test.
+	(scan_one_configure_file): Skip AC_DEFUN lines.  Test
+	defun2.test.
+
+Mon Dec  9 08:18:42 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (file_contents_with_transform): Use ne, not !=, to
+	compare strings.  Compare against correct string.  From Jim
+	Meyering.
+	(handle_texinfo): Use rm -f to remove info files.  From Gord
+	Matzigkeit.
+
+	* Released 1.1l.
+
+	* automake.in (handle_texinfo): Put .ps on @suffixes.
+
+Sun Dec  8 12:29:52 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (am_install_var): Directory with 'exec' in its name
+	is installed by install-exec.
+
+	* subdirs.am (maintainer-clean-recursive): Make commands quiet.
+	* texinfos.am: Make commands quiet.
+	* scripts.am: Make commands quiet.
+	* progs.am: Make commands quiet.
+	* ltlibs.am: Make comamnds quiet.
+	* lisp.am: Make commands quiet.
+	* libs.am: Make commands quiet.
+	* header.am: Make commands quiet.
+	* data.am: Make commands quiet.
+
+	* automake.in (variable_value_as_list): Handle := substitution
+	references.
+	(am_conf_line_error): Take file argument.  Changed all callers.
+	(scan_one_configure_file): Skip config header of [$1].
+	(scan_dependency_file): Don't add top_builddir to regex if it is
+	".".  Don't include top_builddir in output if it is ".".
+	(scan_one_configure_file): Skip version of [$2].
+
+Sat Dec  7 11:34:39 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): New sub.
+	(scan_configure): Scan aclocal.m4 as well as configure.in.
+	(handle_configure): Makefile.in now depends on $(ACLOCAL), because
+	automake scans it.
+
+	* automake.in (handle_configure): Put full path to file onto
+	@rewritten_inputs.  Test output4.test.
+
+	* automake.in (handle_configure): Put proper name onto @inputs.
+	Test output3.test.
+
+	* automake.in (handle_configure): Pass correct args to automake
+	invocations.  Test remake2.test.
+
+	* automake.in (handle_configure): Check dirname of $file, not of
+	$local.  Test output2.test.
+
+	* automake.in (handle_dependencies): Added some missing ";"s in
+	transforms.
+	(get_object_extension): Ditto.
+	(handle_tags): Ditto.
+	(handle_tests): Ditto.
+	(read_am_file): Ditto.
+	(am_install_var): Ditto.
+	(file_contents_with_transform): Die if transform missing trailing
+	";".
+
+	* automake.in (am_install_var): Quote $ in regexp substitution.
+	From Ulrich Drepper.
+
+Fri Dec  6 18:54:10 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Require actual input files, not
+	rewritten input files.  From Ulrich Drepper.
+
+Thu Dec  5 02:52:20 1996  Tom Tromey  <tromey@cygnus.com>
+
+	Suggestion from Mark Galassi:
+	* texinfos.am (DVIPS): New macro.
+	(.dvi.ps): New rule.
+
+	* automake.in (handle_dependencies): Check to make sure
+	--build-directory specified before searching for .P files.
+	(handle_configure): Correctly handle ":" syntax when running
+	config.status.
+
+	* remake.am: Removed rules to regenerate Makefile and Makefile.in;
+	now handled by handle_configure.
+
+	* remake-subd.am: Removed.
+
+	* automake.in (scan_configure): Handle multiple ":"s in AC_OUTPUT
+	arg.
+	(parse_arguments): Ditto.
+	(handle_configure): Ditto.
+	(%other_output_files): Removed.
+	(rewrite_inputs_into_dependencies): New sub.
+	(handle_configure): Use it.
+	(handle_configure): Ditto.
+
+	From Gord Matzigkeit:
+	* automake.in (generate_makefile): Handle ":" in AC_OUTPUT arg.
+	(handle_configure): Ditto.
+
+	* automake.in (handle_single_transform_list): .S is assembly
+	source.  From Anthony Green.
+
+	* automake.in (handle_single_transform_list): Correctly rewrite
+	C++ and Fortran source to objects ending in ".o".  Test
+	cxxo.test.
+
+	* automake.in: Better error message if file missing.
+
+	* aclocal.in (@obsolete_macros): ud_GNU_GETTEXT is obsolete.
+	* automake.in (handle_gettext): Use AM_GNU_GETTEXT, not
+	ud_GNU_GETTEXT.
+	(scan_configure): Ditto.  ud_GNU_GETTEXT is now obsolete.
+
+Wed Dec  4 00:41:23 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_configure): Skip empty elements when adding to
+	libsources.  Perl 4 bug reported by Greg A Woods.
+
+	* Makefile.am (perl4-check): New target.
+	(cvs-dist): Run perl4-check.
+
+	Perl 4 fixes.  Reported by Greg A. Woods:
+	* automake.in (file_contents_with_transform): If transform caused
+	all chars to go away, then skip rest of loop.
+	(handle_texinfo): Don't use "next" in arg to
+	file_contents_with_transform.
+	(handle_dependencies): Ditto.
+	(handle_tests): Ditto.
+
+	* m4/regex.m4 (AM_WITH_REGEX): Check for GNU regex in libc.  From
+	Andreas Schwab.
+
+	* automake.in (parse_arguments): Removed --strictness.
+	(handle_dist_worker): Don't use --strictness.
+	(handle_configure): Ditto.
+	(initialize_global_constants): Don't mention --strictness.
+
+	* automake.in (handle_merge_targets): Use all-recursive-am instead
+	of all-recursive-hack.  The latter is ugly, according to Joel
+	Weber.
+
+	* automake.in (handle_emacs_lisp): Push $(ELCFILES) onto @all.
+
+	* automake.in (do_one_clean_target): Allow -local version of clean
+	targets.
+
+Tue Dec  3 18:58:40 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dependencies): Skip C-only lines in
+	depend2.am when appropriate.
+	* depend2.am (.deps/%.P): Omit modification of $o if language is
+	not C.
+
+Tue Dec  3 11:29:01 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* compile-kr.am: Quote arguments to echo.
+
+	* progs.am: Fix up problems when LIBTOOL is not defined (by
+ 	setting shell variable instprog to the installation program).
+
+	* aclocal.in (scan_file): Allow the acinclude.m4 file to override
+	any other macro files (but still prevent multiple definitions
+	within acinclude.m4).
+
+Tue Dec  3 10:40:48 1996  Tom Tromey  <tromey@cygnus.com>
+
+	From Ulrich Drepper:
+	* automake.in (handle_emacs_lisp): Typo fix.
+	(scan_configure): Only recognize VERSION after whitespace.
+
+	* texinfos.am: install-info requires path to info file.
+
+	* progs.am: Use @LIBTOOL@, not $(LIBTOOL).
+
+	* automake.in (am_install_var): If -ltlibs passed, substitute
+	@LIBTOOL@.
+
+Mon Dec  2 13:51:11 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* automake.in (get_object_extension): Unshift ansi2knr onto the
+ 	all target, so that it builds before any other targets.
+	[de_ansi_objects]: Delete, since unshifting ansi2knr is an easier
+	solution.
+
+Mon Dec  2 12:13:27 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.1i.
+
+	From Janos Farkas:
+	* automake.in (handle_texinfo): Must quote $ for make.
+
+Sun Dec  1 15:08:09 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Correctly handle common case of
+	multiple non-Makefiles in AC_OUTPUT.  Require all input files when
+	using ":" syntax.
+
+Sun Nov 24 00:33:50 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_source_transform): Don't define
+	EXTRA_prog_SOURCES unnecessarily.  Test extra2.test.
+
+	* automake.in (initialize_per_input): New variables
+	included_generic_compile, included_knr_compile,
+	included_libtool_compile.
+	(get_object_extension): Use them.
+
+	* automake.in (handle_single_transform_list): Removed
+	Objective-C/C++ support (didn't really work anyway).
+	(handle_single_transform_list): Handle assembly specially.
+
+	* automake.in (handle_yacc_lex_cxx): Set --mode=compile or
+	--mode=link when running libtool.
+
+	* ltlibs.am: Set --mode=install when running libtool.
+	(uninstall-@DIR@PROGRAMS): Set --mode=uninstall when running
+	libtool.
+	* libtool.am (.c.lo): Set --mode=compile when running libtool.
+	* progs.am: Set --mode=install when running libtool.
+
+	Fix for bug reported by François Pinard:
+	* automake.in (do_check_merge_target): New sub.
+	(do_one_merge_target): No longer handle `check'.
+	(handle_merge_targets): Use do_check_merge_target.
+	(initialize_per_input): Set @check_tests.
+	(handle_tests): Push onto @check_tests, not @check.
+
+	* automake.in (am_install_var): Typo fix.
+	(handle_configure): Require $inputs[0].
+
+Fri Nov 22 00:01:45 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_lib_objects): Fixed error message
+	processing.
+
+Thu Nov 21 22:29:30 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_configure): AC_FUNC_FNMATCH doesn't add to
+	LIBOBJS.
+	(handle_configure): Support multi-":" mode for AC_OUTPUT.
+
+	* m4/header.m4: New file.
+
+	* automake.in (scan_configure): Recognize AM_CONFIG_HEADER.
+
+Wed Nov 20 00:23:42 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* acinstall: Allow commentary at end of "serial" line.  From Gord
+	Matzigkeit.
+
+	* automake.in (handle_yacc_lex_cxx): Only replace output header if
+	it has changed.
+
+Tue Nov 19 19:03:30 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (am_primary_prefixes): Allow configure variables to
+	be named after primary.
+	(am_install_var): Ditto.
+
+	* automake.in (initialize_per_input): Initialize output_header.
+	(generate_makefile): Set up output_header; print it before
+	output_rules.
+	(handle_footer): Put .SUFFIXES into output_header, for AIX.
+
+Mon Nov 18 19:11:53 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* automake.in: Added a lot of libtool support.  New variable
+	prog_LDFLAGS to pass linker flags.  Use libtoolize to install
+	libtool support files.
+
+Mon Nov 18 13:29:55 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_lib_objects): Push @LIBOBJS@ and @ALLOCA@
+	onto dependency list.
+
+	* aclocal.in (obsolete_macros): Include AM_SANITY_CHECK_CC; now
+	part of autoconf proper.
+	* m4/ccsanity.m4: Removed.
+
+Sun Nov 17 12:25:17 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (check_typos): Check to make sure EXTRA_ variables
+	don't contain configure subs.
+	(handle_dist_worker): Removed EXTRA_DIST_DIRS; not needed.
+
+Fri Nov 15 18:58:04 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* tags-subd.am: Removed.
+
+	* tags.am (tags-recursive): Removed.
+	(TAGS): Depend on @DIRS@, @CONFIG@.  Use @CONFIG@ in rule.
+	(ID): From tags-subd.am.
+	
+	* aclocal.in (obsolete_macros): Include AM_FUNC_FNMATCH.
+	* automake.in (scan_configure): Recognize AC_FUNC_FNMATCH.
+	* m4/fnmatch.m4: Removed (now in autoconf).
+
+	* automake.in (initialize_per_input): Init de_ansi_objects.
+	(handle_single_transform_list): Error if extension unrecognized.
+	Set elements of de_ansi_objects.
+	(get_object_extension): Don't push ANSI2KNR onto @all.
+	(handle_yacc_lex_cxx): Put ANSI2KNR into dependency of all ._o
+	files.
+	(pretty_print_internal): Initialize $bol depending on the column.
+
+Fri Nov 15 16:22:15 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* library.am: Fixed references to LIBRARY according to new scheme.
+
+	* libs.am, libs-clean.am: Removed references to LIBFILES.
+
+	* automake.texi (A Library): doc fix
+
+	* automake.in (handle_libraries): Deleted references to *LIBFILES,
+	since we now have the full library name in the *LIBRARIES
+	variable.
+	(am_install_var): Removed `-no-all' option, which was only required
+	for the LIBFILES hack.
+
+Fri Nov 15 16:39:29 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in: Applied libtool-related patches from Gord.
+	(scan_configure): Set CC configure var if AM_PROG_LIBTOOL seen.
+	Also indicate that AC_CANONICAL_HOST was run.
+
+	* Makefile.am (pkgdata_DATA): Removed aclocal.m4.
+
+Thu Nov 14 23:11:09 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_yacc_lex_cxx): Don't auto-define YACC, LEX,
+	CXX, CC.
+
+	* dejagnu.am: Print warning if runtest missing.
+
+	From Joerg-Martin Schwarz:
+	* automake.in (handle_aclocal_m4): Find aclocal.m4 in srcdir.
+	(require_file_internal): Unlink file before creating it.
+
+	* depend2.am (.deps/%.P): Don't print commands when running.
+
+Mon Nov 11 10:35:08 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_single_transform_list): Simplified C++
+	matching expression.
+
+Fri Nov  8 09:49:09 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.1g.
+
+	* compile-kr.am ($(OBJECTS)): Removed.
+
+	* automake.in (get_object_extension): Define ANSI2KNR.  Push onto
+	@all if ansi2knr is in this directory.
+
+	* configure.in: Don't run AC_ARG_PROGRAM, AC_PROG_MAKE_SET.
+
+	* m4/init.m4: Run AM_SANITY_CHECK.
+
+	* m4/sanity.m4: New file.
+
+	* automake.in (handle_dist_worker): In Cygnus mode, possibly find
+	files to dist in build dir, not srcdir.
+	(%omit_dependencies): New global.
+	(scan_dependency_file): Handle OMIT_DEPENDENCIES.
+	(scan_configure): Put rx.h, regex.h on %omit_dependencies.  Ditto
+	libintl.h.
+	(handle_tests): Remove CYGNUS strings in Cygnus mode.
+	(handle_texinfo): Ditto.
+
+	* texinfos.am (dist-info): New target.
+
+	* automake.in (handle_dist_worker): Use DISTFILES, not
+	DEP_DISTFILES.
+	(initialize_per_input): Initialize dist_targets.
+	(handle_texinfo): Don't compute @infos_list; don't define or use
+	INFOS.  Put dist-info onto @dist_targets.
+	(handle_dist_worker): Handle @dist_targets.  Don't use the "echo
+	trick" for expanding DISTFILES any more.
+
+	* dist-vars.am (DEP_DISTFILES): Removed.
+	(DISTFILES): Don't include INFOS.
+
+	* automake.in (handle_texinfo): Handle Cygnus mode.
+	* texinfos.am (.texi.info, .texinfo.info): Handle Cygnus mode.
+
+	* automake.in (handle_single_transform_list): New sub.
+	(handle_source_transform): Use it.
+	(handle_built_sources): New sub.
+
+Thu Nov  7 14:49:16 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* remake.am ($(srcdir)/Makefile.in): Pass @ARGS@ to automake.
+	* remake-subd.am ($(srcdir)/Makefile.in): Pass @ARGS@ to
+	automake.
+	* automake.in (handle_configure): Pass --cygnus when running
+	automake again.
+
+	* remake-hdr.am ($(srcdir)/stamp-h.in): Depend on @FILES@, not
+	ACCONFIG, CONFIG_TOP, CONFIG_BOT.
+	* automake.in (handle_aclocal_m4): Always find aclocal.m4 in
+	top_srcdir.
+	(handle_configure): Don't define ACCONFIG, CONFIG_TOP, CONFIG_BOT;
+	instead substitute files directly.
+
+Wed Nov  6 10:22:26 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* remake-hdr.am (stamp-h): Look in top_builddir for
+	config.status.
+	($(srcdir)/stamp-h.in): Look in top_srcdir for configure.in.
+
+Thu Oct 31 10:55:59 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am (.texi.dvi): Set MAKEINFO when running texi2dvi.
+	From Jim Meyering.
+
+	* automake.in (handle_texinfo): Push install-info-am, not
+	install-info.
+	(handle_merge_targets): Handle no-installinfo option.
+
+	* texinfos.am (install-info-am): Renamed from install-info.
+
+	* automake.in (handle_subdirs): Include install-info-recursive if
+	no-installinfo given.
+
+	* subdirs.am: Include INSTALLINFO token.
+
+	* automake.in (handle_texinfo): Explicitly define MAKEINFO,
+	TEXI2DVI.
+	(cygnus_mode): New global.
+	(handle_dist_worker): Pass --cygnus to automake.
+	(initialize_global_constants): Document --cygnus.
+	(check_cygnus): New sub.
+	(handle_texinfo): Don't require texinfo.tex in Cygnus mode.
+
+	* texi-vars.am: Removed.
+
+	* dejagnu.am (check-DEJAGNU): Don't define rootme.
+
+	* automake.in (handle_tests): Define EXPECT, RUNTEST.
+
+	* dejagnu.am (EXPECT): Removed.
+	(RUNTEST): Removed.
+
+	* automake.in (define_program_variable): New sub.
+
+Mon Oct 28 10:43:48 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dependencies): Use -M, not -MM, for C++
+	dependencies.
+
+Thu Oct 24 20:21:50 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (check_libobjs_sources): New sub.  Test
+	libobj4.test.
+	(handle_source_transform): Don't check for auto-discovered source
+	files here.
+	(handle_programs): Run check_libobjs_sources here.
+	(handle_libraries): Ditto.
+
+	* automake.in (define_configure_variable): New function.
+	(get_object_extension): Use define_configure_variable.
+	(handle_yacc_lex_cxx): Ditto.
+	(handle_emacs_lisp): Ditto.
+	(configure_vars): New global.
+	(AC_CHECK_PATTERN): New global.
+	(seen_ranlib, seen_prog_cc, seen_prog_cxx, seen_prog_lex):
+	Removed.
+	(handle_yacc_lex_cxx): Use configure_vars, not seen_prog_*.
+	(AC_SUBST_PATTERN): New global.
+	(scan_configure): Use AC_SUBST_PATTERN; don't set seen_prog_*.
+	(handle_libraries): Don't use seen_ranlib.
+	(read_am_file): Run define_configure_variable on each discovered
+	variable.
+
+Mon Oct 21 23:06:49 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_configure): Handle AM_INIT_GUILE_MODULE.
+	(handle_libraries): Pass configure substitutions directly on to
+	LIBFILES.
+
+	* automake.in (AM_PACKAGE_VERSION_PATTERN): New global.
+	(scan_configure): Use it.  Test version.test.
+
+Sun Oct 20 12:08:46 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Explicitly pass distdir to
+	dist-hook make.  From Tatu Ylonen.
+
+	* m4/strtod.m4: Use correct cache variable.
+
+Thu Oct 17 13:45:20 1996  Tom Tromey  <tromey@cygnus.com>
+
+	Lisp fixes from Erick Branderhorst:
+	* m4/lispdir.m4: Define lispdir, not LISPDIR.
+	* lisp.am: Added missing \.
+
+Fri Oct 11 00:44:49 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_source_transform): Only rewrite c, yacc, lex
+	to use de-ansi-fication.
+	(scan_configure): Handle multi-line AC_REPLACE_FUNCS.  Test
+	libobj5.test.
+
+	* automake.in (handle_lib_objects): Added $lex_seen argument.
+	Error if lex file used but LEXLIB not seen.
+	(handle_programs): Ditto.
+	(handle_yacc_lex_cxx): Define LEXLIB variable.
+	(handle_lib_objects): Don't allow LEXLIB to end up on dependency
+	list.
+
+Thu Oct 10 16:12:38 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_gettext): Moved check for SUBDIRS and
+	ABOUT-NLS here.
+
+	* automake.in (handle_configure): Run mkinstalldirs under
+	$(SHELL).
+	(handle_yacc_lex_cxx): Run interlock under $(SHELL).
+
+	* remake-subd.am (Makefile): Run config.status under $(SHELL).
+	* remake-hdr.am (stamp-h): Run config.status under $(SHELL).
+	* remake.am (Makefile): Run config.status under $(SHELL).
+	(config.status): Ditto.
+
+	* automake.in (read_am_file): Removed UNMAINT code.
+	(file_contents_with_transform): Ditto.
+	* m4/maintainer.m4: Removed bogus UNMAINT code.
+
+	* automake.in (handle_emacs_lisp): Define EMACS variable.
+	(handle_emacs_lisp): Make sure EMACS is in environment when
+	elisp-comp is run.
+
+	* elisp-comp: Exit with status 1 if usage bad.
+	Use "emacs -q".  Use EMACS environment variable if set (unless set
+	to t).
+
+	* m4/lispdir.m4: Unset EMACS if it is set to `t'.
+
+	* automake.in (handle_dist_worker): Allow EXTRA_DIST items to be
+	in subdirs.
+	(do_one_merge_target): Use all-am, not all, in subdirs case.
+	(handle_merge_targets): Always generate all-am in subdirs case.
+
+	* remake.am (Makefile): Depend on BUILT_SOURCES.
+	* remake-subd.am (Makefile): Depend on BUILT_SOURCES.
+	* depend.am (.deps/.P): Don't depend on BUILT_SOURCES.
+
+	* automake.in (handle_yacc_lex_cxx): Handle y.tab.h in non-ylwrap
+	case.
+
+	* ylwrap: Bug fix.  From Jim Meyering.
+
+Wed Oct  9 22:51:16 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/mktime.m4: Don't define AC_HEADER_SYS_TIME_H; instead just
+	check directly for header.
+
+Mon Oct  7 13:08:15 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_configure): fp_WITH_DMALLOC and fp_WITH_REGEX
+	are obsolete.
+
+Sun Oct  6 00:43:01 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (AC_CONFIG_AUX_DIR_PATTERN): New global.
+	(AM_INIT_AUTOMAKE_PATTERN): New global.
+	(scan_configure): Use them.
+
+	* aclocal.in (add_file): Search contents of included files.  Test
+	req.test.
+	(scan_m4_files): Don't skip acinclude.m4 when constructing
+	search.  Test acsilent.test.
+	(scan_m4_files): Scan acinclude.m4.
+
+	* aclocal.in (add_file): Removed debugging print.
+	(scan_configure): Set $file_contents when scanning acinclude.m4.
+	Test acinclude.test.
+
+	* configure.in: Upped to 1.1g.
+
+	* Released 1.1f.
+
+	* texinfos.am: Run : after install-info.
+
+	* aclocal.in (parse_arguments): Better error message.
+	* automake.in (parse_arguments): Better error message.
+
+	* remake.am (Makefile): Depend on $(srcdir)/Makefile.in, to work
+	around broken makes.  From David A. Swierczek.
+	* remake-subd.am (Makefile): Ditto.
+
+Sat Oct  5 11:29:48 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (generate_makefile): Put BUILT_SOURCES onto @all if
+	appropriate.
+	(handle_source_transform): Error if discovered source file is
+	mentioned.
+	(do_one_merge_target): Move all-vs-check test here.
+
+	* m4/obstack.m4: New file.
+	* m4/error.m4: New file.
+
+	* automake.in (scan_configure): Support AM_FUNC_MKTIME,
+	AM_FUNC_ERROR_AT_LINE, AM_FUNC_OBSTACK.
+
+	* texinfo.tex: New version from texinfo 3.9.
+
+	* automake.in (handle_yacc_lex_cxx): Updated for new ylwrap.
+	Also, handle y.tab.h file when "yacc -d" is used.
+	(do_one_merge_target): Use pretty_print_rule.
+
+	* ylwrap: Changed usage.
+
+	* m4/mktime.m4: New file.
+
+	* m4: Renamed all .m4 files to fit into 14-char limits.
+
+	* m4/Makefile.am (EXTRA_DIST): New macro.
+
+	* aclocal.in ($ac_defun_rx, %map, %file_contents): New globals.
+	(scan_m4_files): Use $ac_defun_rx.
+	(add_file): Ditto.
+	Run scan_m4_files.
+	(scan_configure): Scan acinclude.m4 before anything else.
+	(scan_file): New sub.
+	(check_acinclude): New sub.
+	(add_file): Rewrote.
+
+	* progs-clean.am, progs.am: Renamed from programs-clean.am,
+	programs.am.
+	* libs-clean.am, libs.am: Renamed from libraries-clean.am,
+	libraries.am.
+	* texi-vars: Renamed from texinfos-vars.am.
+	* comp-vars.am: Renamed from compile-vars.am.
+	* texi-vers.am: Renamed from texi-version.am.
+
+	* automake.in (require_file_internal): Give error if symlink can't
+	be made.
+	(require_config_file): Error message references configure.in.
+	(handle_yacc_lex_cxx): Fix order of arguments to ylwrap; from
+	Joerg-Martin Schwarz.
+	(handle_texinfo): Use texi-vers, not texi-version.
+	(get_object_extension): Use comp-vars, not compile-vars.
+	(handle_texinfo): Use texi-vars, not texinfos-vars.
+	(handle_libraries): Use `libs' prefix, not `libraries'.
+	(handle_programs): Use `progs' prefix, not `programs'.
+
+Fri Oct  4 01:14:08 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (scan_m4_files): New sub.
+
+	* m4/AM_FUNC_STRTOD.m4 (am_cv_func_strtod_needs_libm): Set
+	am_cv_func_strtod_needs_libm, so we can avoid linking with -lm
+	everywhere.
+
+Thu Oct  3 20:11:16 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am (uninstall-info): Run install-info --remove.
+
+	* automake.in (read_am_file): Define all variables after reading
+	.am file.  Test vpath.test.  Reported by Anthony Green.
+
+Mon Sep 30 08:31:51 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am: Run install-info.
+
+	* automake.in (variable_value_as_list): Just return if comment
+	seen.  Report from Mark Galassi.
+	(handle_options): Don't bother with explicit comment checking.
+
+Tue Sep 24 09:15:46 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (read_am_file): Cleaned up dejagnu variables.
+
+Mon Sep 23 00:04:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (parse_arguments): New usage to conform to GNU
+	standards.
+
+	* aclocal.in (parse_arguments): New usage to conform to GNU
+	standards.
+
+	* automake.in (handle_scripts): Push new target onto @check.
+	* scripts.am (check-@DIR@SCRIPTS): New target.
+
+	* automake.in (initialize_global_constants): Define %dist,
+	dist_header, dist_trailer.
+	(handle_dist): Make dist-all target.
+	(generate_makefile): Run check_typos later.
+	(examine_variable): New sub.
+	(handle_tags): Examine TAGS_DEPENDENCIES.  Test spell3.test.
+	Error if TAGS_DEPENDENCIES but no sources used.
+	(handle_configure): Examine CONFIGURE_DEPENDENCIES.
+
+Sat Sep 21 13:59:15 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (am_install_var): More error checking.
+
+Fri Sep 20 09:06:37 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* tags.am (TAGS): Minor cleanup.
+
+	* clean.am (distclean-generic): Don't remove CONFIG_HEADER.
+
+	* remake-hdr.am (mostlyclean-hdr, clean-hdr, distclean-hdr,
+	maintainer-clean-hdr): New targets.
+
+	* automake.in (handle_configure): Define CONFIG_HEADER correctly
+	when it is in current directory.
+	(handle_configure): Push "hdr" on @clean.
+
+	* remake-hdr.am (stamp-h): Run config.status in top_builddir.
+	($(srcdir)/stamp-h.in): Run autoheader in top_srcdir.
+
+	* automake.in (scan_configure): Check for install.sh here.
+	(basename): New sub.
+	(handle_configure): Handle case where config.h is in subdir.
+	(handle_configure): Make stamp-in.h for user if it doesn't already
+	exist.
+	(touch): New sub.
+
+Tue Sep 17 23:35:14 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* Makefile.am (EXTRA_DIST): Include pkgdata_DATA.
+
+	* dist-vars.am (DISTFILES): Don't distribute BUILT_SOURCES or
+	DATA.
+	(DEP_DISTFILES): Ditto.
+
+Mon Sep 16 22:28:56 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (check_typos): Renamed.
+	(check_typos): Check for _LDADD, _LIBADD, and _DEPENDENCIES.
+	(variable_defined): Note variable as being "seen".
+	(handle_lib_objects): Don't push configure substitutions onto
+	_DEPENDENCIES.
+
+Sun Sep 15 22:45:43 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (initialize_per_input): Init content_seen.
+	(variable_value_as_list): Set content_seen entry.
+	(define_variable): Ditto.
+	(define_pretty_variable): Ditto.
+	(check_source_typos): New sub.
+	(generate_makefile): Call it.
+
+Thu Sep 12 15:03:19 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_source_transform): Removed extraneous
+	space.  Test implicit.test.
+	(read_am_file): Make sure "canonical" variables are mentioned in
+	%contents.
+	(scan_configure): AC_CHECK_TOOL sets $seen_canonical to
+	$AC_CANONICAL_HOST conditionally.
+	(handle_footer): Don't use define_pretty_variable in all cases.
+
+Wed Sep 11 11:54:44 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* clean.am (distclean-generic): Remove CONFIG_CLEAN_FILES here,
+	per GNU/Gnits standards.
+
+	* libraries.am (install-@DIR@LIBRARIES): Use two loops, so new
+	NORMAL_INSTALL and POST_INSTALL variables can work when empty.
+
+	* automake.in (handle_options): Rewrote version handling.  Now
+	returns error indicator.
+	(MACRO_PATTERN, BOGUS_MACRO_PATTERN): Handle `:=' definitions.
+	(RULE_PATTERN): Exclude `:=' from being a rule.
+
+	* m4/AM_PROG_CC_STDC.m4 (ac_save_CC): Bug fix from Jim Meyering.
+
+	* automake.in (variable_value_as_list): Always use am_line_error.
+	(define_variable): New sub.
+	(get_object_extension): Use define_variable.
+	(handle_yacc_lex_cxx): Ditto.
+	(handle_source_transform): Ditto.
+	(handle_programs): Ditto.
+	(handle_libraries): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_man_pages): Ditto.
+	(handle_dependencies): Ditto.
+	(handle_aclocal_m4): Ditto.
+	(define_pretty_variable): New sub.
+	(handle_source_transform): Use define_pretty_variable.
+	(handle_lib_objects): Ditto.
+	(handle_libraries): Ditto.
+	(handle_dist): Ditto.
+	(handle_dependencies): Ditto.
+	(handle_configure): Ditto.
+	(handle_footer): Ditto.
+	(handle_emacs_lisp): Ditto.
+	(am_install_var): Ditto.
+
+	* Released version 1.1e.
+
+	* automake.in ($GNITS_VERSION_PATTERN): Handle non-alpha
+	releases.
+
+	* configure.in: Version 1.1e.
+
+	* automake.in (handle_texinfo): Distribute .info file.
+
+Sun Sep  8 09:00:37 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* Makefile.am (EXTRA_DIST): New macro.
+	(maintainer-clean): Don't run "make check".
+	(pathchk): New target.
+
+	* automake.in (check_gnits_standards): Only check version number
+	syntax at top level.
+	($package_version_line): New variable.
+	(scan_configure): Set it.
+	(check_gnits_standards): Use am_conf_line_error.
+	(scan_configure): Remove extraneous whitespace from version
+	number.
+	(handle_dist): Handle distcheck-hook.
+
+	* m4/AM_PROG_CC_STDC.m4: Applied patch from Jim Meyering.
+
+	* automake.in (scan_configure): Handle AM_WITH_REGEX.
+	(handle_lib_objects): Require .h files in %libsources but don't
+	generate dependencies for them.
+	(scan_configure): Also require rx.h and regex.h.
+
+	* m4/Makefile.am (m4data_DATA): Don't include AM_PROG_LIBTOOL,
+	AM_FEATURE_CTYPE, AM_FEATURE_ERRNO, AM_FEATURE_EXIT,
+	AM_SYSTEM_HEADER.
+
+	* texi-version.am: Use "cp; rm" and not "mv", to work around
+	broken mvs.
+
+	* automake.in ($package_version): New global.
+	(scan_configure): Set it.
+	(check_gnits_standards): Verify version string; require
+	README-alpha if alpha version.
+	(scan_configure): Recognize AM_FUNC_FNMATCH,
+	AM_REPLACE_GNU_GETOPT.
+
+	* Makefile.am (installcheck-local): Check all scripts.
+
+Sat Sep  7 19:22:32 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* tags-clean.am: Do deletions here again.
+
+Thu Sep  5 09:06:23 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (usage): Include bug-reporting information.
+	(handle_lib_objects): Error if LIBOBJS seen but never set.
+
+	* aclocal.in ($acdir): Use @datadir@/aclocal.
+	(usage): Include bug-reporting information.
+
+Wed Sep  4 11:36:06 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_source_transform): .deps no longer in
+	srcdir.
+	(handle_lib_objects): Ditto.
+	(handle_dist_worker): Pass --build-dir to automake.
+	($build_directory): New global.
+	(parse_arguments): Handle --build-dir.
+	(initialize_global_constants): Include --build-dir in help.
+	(scan_dependency_file): New sub.
+	(handle_dependencies): Use it.  Also, use $build_directory.
+	(initialize_global_constants): Added --srcdir-name.
+	(parse_arguments): Ditto.
+	(handle_dist_worker): Ditto.
+	($srcdir_name): New global.
+	($srcdir_rx): New global.
+	(parse_arguments): Set it.
+
+	* depend2.am: Removed all mention of $(srcdir).
+
+	* depend.am (MKDEP): Use gcc -M, not gcc -MM.
+	Removed all mention of $(srcdir); dependencies now put into build
+	dir.
+
+	* depend2.am ($(srcdir)/.deps/%.P): Fixed computation of `top'.
+	Don't do work silently.
+
+	* automake.in (handle_merge_targets): Error if invalid uninstall
+	targets are given.
+	(read_am_file): Fix for test block.test.
+
+Tue Sep  3 18:50:32 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfos.am (install-info): Added NORMAL_INSTALL.
+	* scripts.am (install-@DIR@SCRIPTS): Added NORMAL_INSTALL.
+	* programs.am (install-@DIR@PROGRAMS): Added NORMAL_INSTALL.
+	* lisp.am (install-@DIR@LISP): Added NORMAL_INSTALL.
+	* libraries.am (install-@DIR@LIBRARIES): Added NORMAL_INSTALL.
+	Also, use POST_INSTALL when running ranlib.
+	* header.am (install-@DIR@HEADERS): Added NORMAL_INSTALL.
+	* data.am (install-@DIR@DATA): Added NORMAL_INSTALL.
+
+	* automake.in (handle_man_pages): Added NORMAL_INSTALL invocation.
+	(handle_merge_targets): Ditto.
+	(handle_merge_targets): Error if PRE_INSTALL, POST_INSTALL, or
+	NORMAL_INSTALL defined.
+
+	* m4/AM_PROG_INSTALL.m4: INSTALL_SCRIPT defaults to
+	${INSTALL_PROGRAM}.  From François Pinard.
+
+Tue Aug 27 08:25:05 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (file_contents_with_transform): Correctly remove
+	@(UN)?MAINT@ from input when maintainer mode not active.
+	(handle_aclocal_m4): Handle no-maintainer-mode case.
+
+	* remake-hdr.am ($(CONFIG_HEADER)): Removed @MAINT@.
+
+	* m4/AM_SANITY_CHECK_CC.m4: New file (from Jim Meyering).
+
+Mon Aug 26 21:37:32 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_lib_objects): Bug fix from Steve M Robbins.
+	(handle_libraries): Don't include libraries from EXTRA_LIBRARIES
+	in LIBFILES definition.  Reported by Steve M Robbins.  Test
+	alllib.test.
+
+	* automake.in (variable_value_as_list): New sub.
+	(handle_source_transform): Use it.
+	(handle_lib_objects): Ditto.
+	(handle_libraries): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_man_pages): Ditto.
+	(am_install_var): Ditto.
+	(handle_options): Ditto.
+
+Sat Aug 24 09:30:46 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	Reported by Jim Meyering:
+	* automake.in (get_object_extension): Look in "./" for ansi2knr if
+	no path found.
+	(handle_aclocal_m4): Protect aclocal.m4 rule with @MAINT@.
+
+	* remake.am (.PHONY): New target.
+
+	* m4/AM_MAINTAINER_MODE.m4: Also define UNMAINT.
+
+	* automake.in (check_gnu_standards): Disallow no-installman,
+	no-installinfo.
+	(read_am_file): Sed out UNMAINT too.
+	(file_contents_with_transform): Ditto.
+
+	* acinstall: New file.
+
+	* m4/AM_INIT_AUTOMAKE.m4: Define PACKAGE and VERSION.
+
+	* m4/AM_WITH_REGEX.m4: New version from François Pinard.
+
+	* m4/AM_TYPE_PTRDIFF_T.m4: Use am_cv, not ac_cv.
+	* m4/AM_C_PROTOTYPES.m4: Ditto.
+	* m4/AM_FUNC_STRTOD.m4: Ditto.
+	* m4/AM_PROG_CC_STDC.m4: Ditto.
+	* m4/AM_PROG_LIBTOOL.m4: Ditto.
+
+Fri Aug 23 22:23:50 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* m4/Makefile.am (m4datadir): New macro
+	(m4data_DATA): Renamed.
+
+	* Makefile.am (cvs-dist): Depend on distcheck target.
+
+Mon Aug 19 15:37:32 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (initialize_global_constants): [common_files]
+	Include acinclude.m4.
+
+	* m4/AM_PROG_CC_STDC.m4: Patch from Jim Meyering/Kaveh Ghazi.
+
+Sat Aug 17 11:27:14 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dependencies): Push `depend'-clean targets
+	on @clean.
+	* depend.am (mostlyclean-depend, clean-depend, distclean-depend,
+	maintainer-clean-depend): New targets.
+
+Tue Aug 13 17:53:58 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfos.am (.texinfo.info): New target.
+	(.texinfo.dvi): New target.
+
+	From Jim Meyering:
+	* automake.in (handle_texinfo): Use `.info[-0-9]*' as pattern to
+	match info files.
+	(handle_texinfo): Handle `.texinfo' files.
+
+Mon Aug 12 10:28:46 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (require_file_internal): Special-case `.' when
+	finding files to distribute.  Test libobj2.test.
+
+	* aclocal.in (add_file): Fixed regexp for matching AC_DEFUN.  Test
+	order.test.
+
+	* m4/AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL.m4: New file.
+	* m4/AM_SYS_POSIX_TERMIOS.m4: New file.
+
+	* compile-kr.am: Removed duplicate ansi2knr rules.
+
+Sun Aug 11 00:20:16 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_yacc_lex_cxx): Bug fix from Josh MacDonald.
+	(handle_yacc_lex_cxx): Put C++ extensions on suffix list.
+	(mkdir): Removed.
+
+	* automake.in (initialize_global_constants): [common_files]
+	Include interlock and ylwrap.
+
+	* Released version 1.1c.
+
+	* aclocal.in (obsolete_macros): md_TYPE_PTRDIFF_T and
+	ud_PATH_LISPDIR are obsolete names.
+
+	* m4/AM_LC_MESSAGES.m4, m4/AM_WITH_NLS.m4, m4/AM_GNU_GETTEXT.m4:
+	Removed.
+
+	* automake.in (handle_lib_objects): Changed interface.  Now
+	generates _DEPENDENCIES variable if appropriate.
+	(handle_emacs_lisp): Use AM_PATH_LISPDIR.
+	(scan_configure): Ditto.
+
+	* Makefile.am (CLEANFILES): Removed.
+
+	* automake.in (handle_configure): Define CONFIG_CLEAN_FILES.
+
+	* clean.am (clean-generic): Remove $(CONFIG_CLEAN_FILES).
+
+	* compile-vars.am (CC, CFLAGS, COMPILE, LINK): Removed.
+
+	* automake.in (handle_yacc_lex_cxx): Require ylwrap in
+	multi-lex/yacc case.
+	(handle_source_transform): Changed return result.
+	(handle_programs): Use linker returned by
+	handle_source_transform.
+	(seen_prog_cc, seen_prog_cxx): New globals.
+	(scan_configure): Recognize AC_PROG_CC and AC_PROG_CXX.
+	(handle_yacc_lex_cxx): Error message if AC_PROG_CXX or
+	AC_PROG_YACC missing.
+	(seen_decl_yytext, seen_prog_lex): New globals.
+	(scan_configure): Set them.
+	(handle_yacc_lex_cxx): Warn about missing AC_PROG_LEX or
+	AC_DECL_YYTEXT.
+	(handle_yacc_lex_cxx): Use $(LEX_OUTPUT_ROOT).
+	(initialize_per_input): Initialize seen_c_source.
+	(handle_yacc_lex_cxx): Define CC, CFLAGS, COMPILE, LINK only when
+	C source seen.
+	(handle_source_transform): Set seen_c_source.
+
+	* interlock: Changed usage.
+
+	* ylwrap: New file.
+
+	* automake.in (handle_yacc_lex_cxx): Renamed.
+
+	* automake.in (handle_dependencies): Handle %cxx_extensions.
+	Include depend2.am when appropriate.
+
+	* depend2.am: New file; contents from depend.am but templatized.
+
+	* automake.in (initialize_per_input): Initialize
+	%cxx_extensions.
+	(handle_source_transform): Set %cxx_extensions.
+
+Sat Aug 10 10:29:30 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* interlock: New file.
+
+	* automake.in (handle_yacc_lex): New sub.
+	(handle_source_transform): Removed most yacc/lex handling.
+	(initialize_per_input): Init yacc_sources, lex_sources.
+	(generate_makefile): Run handle_yacc_lex.
+	(handle_merge_targets): Use `scalar' and not $# to find length of
+	array.
+
+	* m4/AM_FEATURE_EXIT.m4: Wrote.
+	* m4/AM_FEATURE_CTYPE.m4: Wrote.
+	* m4/AM_FEATURE_ERRNO.m4: Wrote.
+
+	* aclocal.in (macro_seen): New global.
+	(add_file): Set macro_seen entry.  Only push required macro on
+	@rlist if not already seen.  Test defun.test.
+
+	* automake.in (get_object_extension): Handle directory prefix on
+	`ansi2knr' option.
+
+	* kr-extra.am: New file.
+
+	* kr-vars.am: Removed.
+
+	* automake.in (handle_options): Handle directory prefix on
+	`ansi2knr' option.
+
+	* automake.in (scan_configure): Recognize AM_FUNC_STRTOD.
+
+	* aclocal.in (add_file): Error if macro is duplicated.  Test
+	dup.test.
+
+Fri Aug  9 09:18:46 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_programs): Substitute @XLINK@.  Make sure
+	linker variable is transformed name.
+	* program.am (@PROGRAM@): Use @XLINK@ to link.
+
+	* automake.in (handle_scripts): Fixed call to
+	am_primary_prefixes.
+	(handle_libraries): Better error message when AC_PROG_RANLIB
+	required.
+
+	* automake.in (handle_libraries): Canonicalize library name.  Test
+	canon4.test.
+	* library.am (lib@LIBRARY@.a): Use @XLIBRARY@ where appropriate.
+	(lib@LIBRARY@.a): Look at _DEPENDENCIES variable.
+
+Thu Aug  8 10:57:21 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_scripts): Correctly compute
+	$scripts_installed.  Test scripts.test.
+
+Wed Aug  7 12:13:15 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* ansi2knr.c: New version.
+
+Tue Aug  6 10:58:37 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_source_transform): Handle more C++ file
+	extensions.  "Handle" Objective C.  Handle more FORTRAN
+	extensions.
+
+	* compile-vars.am (LEX): Removed.
+	(YACC): Removed.
+
+	* automake.in (handle_source_transform): Correctly handle lex
+	source.  Test lex.test.
+	(handle_source_transform): Skip more C++ headers.  Generate macro
+	definitions for YACC and LEX on first use.
+
+	* aclocal.in (parse_arguments): Mention GNU.
+	* automake.in (parse_arguments): Mention GNU.
+
+Mon Aug  5 00:12:45 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_programs): Define program_LINK.
+	* program.am (@PROGRAM@): Use program_LINK to link.
+
+	* Released version 1.1b
+
+	* automake.in (scan_configure): AM_INIT_AUTOMAKE sets
+	seen_prog_install to `2'.
+
+	* configure.in: Don't run AM_PROG_INSTALL.
+
+	* automake.in (parse_arguments): Use $PACKAGE.
+	($PACKAGE): New global.
+	($am_c_prototypes): Renamed.
+	(get_object_extension): Use am_c_prototypes.
+	(scan_configure): Ditto.
+	(scan_configure): Use AM_MAINTAINER_MODE.
+	(scan_configure): Warn about obsolete macros.
+
+	* aclocal.in (parse_arguments): Use $PACKAGE.
+	($PACKAGE): New global.
+
+	* Makefile.am (CLEANFILES): Added aclocal.
+	(ETAGS_ARGS): Added aclocal.in.
+	(TAGS_DEPENDENCIES): Ditto.
+	(maintainer-check): Depend on aclocal.
+	(maintainer-check): Check aclocal.
+	(bin_SCRIPTS): Include aclocal.
+
+	* automake.in (scan_configure): Handle AM_INIT_AUTOMAKE.
+	(scan_configure): Use AM_PROG_INSTALL.
+
+	* configure.in: Use AM_INIT_AUTOMAKE.
+
+	* automake.in (keyed_aclocal_warning): Warning tells about
+	aclocal.
+	(handle_aclocal_m4): New sub.
+	(handle_configure): Use it.
+
+	* aclocal.in (output_file): New global.
+	(usage): Handle --output.
+	(parse_arguments): Handle --output.
+
+	* m4/AM_INIT_AUTOMAKE.m4: New file.
+
+	* m4/AM_PROG_CC_STDC.m4: Require AC_PROG_CC.
+	Don't touch CFLAGS.
+
+	* automake.in (handle_dist_worker): Reverted erroneous "-chmod".
+	(handle_texinfo): Don't generate `.info-[0-9]' as a filename.
+
+	* texinfos.am (.texi.info): Force .info file to be built in
+	srcdir.  From Franc,ois Pinard.
+
+	From Jim Meyering:
+	* m4/AM_PROG_CC_STDC.m4: (fp_PROG_CC_STDC): Include sys/stat.h in
+	test program so that DYNIX/ptx V4.1.3 doesn't use `-Xc
+	-D__EXTENSIONS__' -- with those options on that system, sys/stat.h
+	gets compile errors.  With help from Marcus Daniels.
+
+	* automake.in (initialize_global_constants): Put elisp-comp into
+	@common_files.  Bug from Glenn Amerine.
+
+Sun Aug  4 12:52:43 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist_worker): Use fgrep, not grep.
+
+	* m4/AM_C_PROTOTYPES.m4: Changes from François Pinard.
+
+	* automake.in (handle_emacs_lisp): Include lisp-clean.am in
+	output.
+	(initialize_global_constants): [install_man_format] Don't hide
+	"ugliness" at install time.
+
+	* lisp-clean.am: New file.
+
+	* tags-clean.am (maintainer-clean-tags): Remove TAGS and ID here.
+
+	* automake.in (handle_man_pages): Patch from Janos Farkas to fix
+	bug when installing man pages.  Test man.test.
+	(initialize_global_constants): [install_man_format] Make sure man
+	page can actually be found in either source or build dirs.
+	(handle_dist_worker): Use "755" permissions on distdir.
+
+	* automake.in (handle_dist): Allow chmod's to fail.
+	(am_primary_prefixes): New function.
+	(am_install_var): Use it.
+	(handle_libraries): Use it.  Test libfiles.test.
+	(handle_dist): For dist-tarZ, assume traditional "tar" and
+	"compress".
+
+	* m4/AM_FUNC_STRTOD.m4: New file.
+
+	* automake.in (handle_dist): Only generate `distdir' variable if
+	it doesn't already exist.
+
+	Fix for bug reported by Harlan Stenn.  Test tags.test.
+	* automake.in (initialize_per_input): Define dir_holds_sources.
+	(handle_tags): Check dir_holds_headers.
+	(handle_headers): Set dir_holds_headers.
+
+	* automake.in (handle_texinfo): Generate "version.texi" dependency
+	for .dvi file.  Bug reported by Glenn Amerine.  Test vtexi2.test.
+
+	* automake.in (handle_configure): Require file $input, not
+	"$local.in".  From Nyul Laszlo.  Test colon.test.
+
+Sun Jul 28 11:14:52 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* aclocal.in: New file.
+	* configure.in: Generate m4/Makefile, aclocal.
+	* Makefile.am (SUBDIRS): Include m4.
+	* m4/Makefile.am: New file.
+
+Fri Jul 19 10:12:27 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (initialize_global_constants): Put ansi2knr.c and
+	ansi2knr.1 into common_files.  Bug report from François Pinard.
+
+Mon Jul 15 10:28:29 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* install-sh: Updated copyright notice.
+
+Fri Jul  5 08:23:00 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* subdirs.am (maintainer-clean-recursive): Don't be so noisy.
+	Report from Josh MacDonald.
+
+	Bugs from Gord Matzigkeit:
+	* automake.in (handle_footer): Push contents of $(SUFFIXES), not
+	`$(SUFFIXES)'.
+	(handle_dist): Ignore chmod return results.
+
+	* programs-clean.am (clean-@DIR@PROGRAMS): Work around failing
+	Solaris "rm -f".  Bug from Kaveh R. Ghazi.
+	* libraries-clean.am (clean-@DIR@LIBRARIES): Likewise.
+
+Fri Jun 21 10:42:06 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfos.am (install-info): Use "if", not "&&", to avoid
+	install problem when glob doesn't match.
+
+	* automake.in (initialize_global_constants): [USAGE] Added
+	--no-force.
+	(force_generation): New global.
+	(parse_arguments): Handle --no-force.
+	(generate_makefile): Handle --no-force.
+
+	* Makefile.am (maintainer-check): Ensure all invocations of
+	mkinstalldirs are correct.
+
+Tue Jun 18 10:53:54 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_tests): Don't directly generate site.exp.
+
+Sun Jun 16 22:21:16 1996  Harlan Stenn  <harlan@brown.pfcs.com>
+	
+	* automake.in: 	Treat an initial `#' on a word in AUTOMAKE_OPTIONS
+	as a comment start.  Add support for a dist-tarZ target.
+
+Tue Jun 11 22:14:21 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
+
+	* depend.am ($(srcdir)/.deps/%.P): Convert absolute $(top_srcdir)
+	paths into relative paths.
+
+Mon Jun 10 21:11:20 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfo.tex: New version.
+
+	* automake.in: Look for AM_PROG_LIBTOOL.  From Gord Matzigkeit.
+	(initialize_global_constants): Added libtool to
+	@common_sometimes.
+	(handle_source_transform): Pass YFLAGS to yacc and LFLAGS to lex.
+
+Sun Jun  9 17:45:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfos.am (install-info): Don't install ~ files.  Bug report
+	from Greg McGary.
+	* automake.in (handle_texinfo): Don't push '.info*' onto
+	@infos_list.
+
+	* automake.in (handle_gettext): Ensure po and intl in SUBDIRS when
+	using gettext.
+	(handle_dist): Pass --with-included-gettext to configure if using
+	gettext.
+
+	* compile-kr.am (._c._o): Pass -c to $(COMPILE).
+	(.c._o): Ditto.
+	* compile.am (.c.o): Pass -c to $(COMPILE).
+	* compile-vars.am (COMPILE): Don't include -c.
+
+	* remake.am ($(srcdir)/Makefile.in): Pass --strictness to
+	automake.
+	* automake.in (handle_configure): Supply --strictness arg to
+	automake.
+
+Fri Jun  7 12:31:31 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_tests): Fix quoting on `pwd`.
+	(handle_options): Recognize no-installinfo option.
+	(handle_man_pages): Don't put man directory on @installdirs if
+	no-installman is specified.
+	(handle_texinfo): Handle no-installinfo option.
+	(handle_options): Compare version against $num_version, not
+	$VERSION.
+	(handle_source_transform): Generate rules for output of lex,
+	yacc.  Bug report from Thomas Morgan.  Test yacc.test.
+	(handle_dist): "distcheck" now runs "make dvi".
+	(handle_tests): Support $(TESTS_ENVIRONMENT).  Idea from Ulrich
+	Drepper.
+
+	* dejagnu.am (check-DEJAGNU): Depend on site.exp.
+
+Sun Jun  2 10:33:10 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_emacs_lisp): New function.
+	(initialize_global_constants): Added elisp-comp to
+	@common_sometimes.
+	(seen_lispdir): New global.
+	(scan_configure): Handle ud_PATH_LISPDIR.
+
+	* elisp-comp: New file.
+
+	* lisp.am: New file.
+
+	* automake.in (generate_makefile): Run handle_emacs_lisp.
+
+	* aclocal.m4 (ud_PATH_LISPDIR): New macro, from Ulrich Drepper.
+
+	* automake.in (initialize_global_constants): Removed version.texi
+	from common_sometimes.
+	(initialize_global_constants): Added texinfo.tex to common_files.
+	Test texinfo.test.
+	(handle_tests): Allow dejagnu- and automake-style test suites to
+	coexist.  Test dejagnu.test.
+	(initialize_global_constants): New constants AC_CANONICAL_HOST,
+	AC_CANONICAL_SYSTEM.
+	(scan_configure): Use new constants.
+	(handle_tests): Put target specific information into site.exp if
+	AC_CANONICAL_* used.
+	(read_am_file): Generate some extra variables when AC_CANONICAL_*
+	used.
+	(handle_options): Allow version number to have letters appended.
+	(handle_tests): Error if RUNTEST, RUNTESTFLAGS defined but dejagnu
+	option not specd.
+	(initialize_global_constants): install_man_format changed to
+	handle built man pages.
+
+Wed May 29 10:35:01 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* config.guess, config.sub: New versions.
+
+Tue May 28 19:27:11 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* configure.in (VERSION): Upped to 1.0.
+
+Sat May 25 10:19:53 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_tests): Handle dejagnu.
+	(handle_options): Recognize dejagnu option.
+
+	* dejagnu.am: New file.
+
+Thu May 23 10:01:13 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist): Run installcheck target from
+	distcheck.
+
+	* configure.in (VERSION): Upped to 0.34.
+
+	* automake.in (scan_configure): Always allow upgrading to
+	fp_PROG_INSTALL.  Test fpinstall.test.
+
+Wed May 22 14:45:28 1996  Joshua Cowan  <jcowan@hermit.reslife.okstate.edu>
+
+	(handle_dist): Make `distcheck' check `install' target, too.
+
+Wed May 22 09:49:27 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (initialize_per_input): Don't initialize
+	$output_directory here; initialize it globally.  From Joshua
+	Cowan.  Test outdir.test.
+
+Sat May 18 10:57:40 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_tests): Don't push TESTS onto dist_common.
+	(initialize_global_constants): Put install-sh and mkinstalldirs
+	into @common_files.  Test insh2.test.
+
+Fri May 17 09:02:02 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_source_transform): Don't generate _OBJECTS
+	when no source files specified.  Test number.test.
+
+	From Joerg-Martin Schwarz:
+	* automake.in (seen_package, seen_version): New globals.
+	(scan_configure): Look for PACKAGE= and VERSION=.
+
+	* automake.in (handle_options): Recognize dist-zip.
+	(handle_dist): Handle dist-zip.
+	(handle_options): Use ' ', not \s+, with split.  Test
+	backsl.test.
+	(handle_source_transform): Likewise.
+	(handle_lib_objects): Likewise.
+	(handle_libraries): Likewise.
+	(handle_texinfo): Likewise.
+	(handle_man_pages): Likewise.
+	(handle_subdirs): Likewise.
+	(handle_gettext): Likewise.
+	(handle_footer): Likewise.
+	(handle_tests): Likewise.
+	(scan_configure): Likewise.
+	(am_install_var): Likewise.
+
+	* Makefile.am (TAGS_DEPENDENCIES): New macro.
+
+	* tags.am (tags-recursive): New target.
+	(TAGS): Depend on it.
+
+	* automake.in (handle_tags): Put tags-recursive on @phony.
+
+	* tags-subd.am (TAGS): Depend on HEADERS, SOURCES,
+	TAGS_DEPENDENCIES.
+	* tags.am (TAGS): Depend on HEADERS, SOURCES, TAGS_DEPENDENCIES.
+
+Thu May 16 09:21:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* remake.am (configure): Depend on $(CONFIGURE_DEPENDENCIES).
+
+	* automake.in (scan_configure): Look for install-sh and
+	mkinstalldirs here.
+	(initialize_global_constants): Moved mdate-sh from
+	common_sometimes to common_files.  Test mdate2.test.
+
+Tue May 14 21:52:01 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (seen_maint_mode): New global.
+	(scan_configure): Handle jm_MAINTAINER_MODE.
+	(read_am_file): Handle seen_maint_mode.
+	(file_contents_with_transform): Handle seen_maint_mode.
+	(handle_source_transform): Changed interface, all callers.
+
+	From Jim Meyering:
+	* remake-hdr.am, remake-subd.am, remake.am, texi-version.am:
+	Handle @MAINT@.
+	* aclocal.m4 (jm_MAINTAINER_MODE): New macro.
+
+	* automake.in (handle_configure): Check $config_aux_dir against
+	empty string.  From Markku Rossi.  Test mkinstall.test.
+
+Fri May 10 14:38:47 1996  Gord Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* automake.in (distcheck): Added new rule to top level
+	Makefile.in.
+
+Wed May  8 21:57:21 1996  Gord Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* automake.in (scan_configure): Make sure that gm_PROG_LIBTOOL
+	sets seen_ranlib.
+	(generate_makefile): libtool, config.sub, and config.guess should
+	only ever appear in the top directory of a package.
+
+Tue May 14 10:24:30 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (initialize_global_constants): Added libversion.in
+	to @common_files.
+
+	* configure.in (VERSION): Upped to 0.33.
+
+	* automake.in (am_install_var): Fixed problem in EXTRA_ handling.
+	Test extra.test.
+
+Mon May 13 10:41:41 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* install-sh (transformbasename): Correct misspelling of
+	transformbasename.  From Ian Lance Taylor.
+
+Sat Apr 27 11:39:10 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_configure): Set mkinstalldirs variable
+	here.
+	(handle_dist_worker): Explicitly set distdir in subdir makes.
+	(handle_dist): Handle separate distdir target.
+	(handle_dist_worker): Only generate distdir target.
+
+	* texinfos.am (install-info): Use $(mkinstalldirs).
+	* scripts.am (install-@DIR@SCRIPTS): Use $(mkinstalldirs).
+	* programs.am (install-@DIR@PROGRAMS): Use $(mkinstalldirs).
+	* libraries.am (install-@DIR@LIBRARIES): Use $(mkinstalldirs).
+	* header.am (install-@DIR@HEADERS): Use $(mkinstalldirs).
+	* data.am (install-@DIR@DATA): Use $(mkinstalldirs).
+
+	* automake.in (read_am_file): Set mkinstalldirs variable.
+	(handle_man_pages): Use it.
+	(handle_installdirs): Ditto.
+
+Fri Apr 26 15:10:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_man_pages): Fix mkinstalldirs invocation.
+
+Thu Apr 25 18:40:06 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist_worker): Use $(TAR), not tar.
+	(handle_merge_targets): Make sure config header is built before
+	recursing into subdirs.
+	(handle_libraries): Generate LIBFILES for check_LIBRARIES.
+	(handle_merge_targets): Handle case where nothing is installed but
+	something must be built -- "make install" must still work.
+
+	* dist-vars.am (TAR): New macro.
+
+	* automake.in (scan_configure): Support AC_REPLACE_GNU_GETOPT.
+	(handle_configure): Require stamp-h.in when config header used.
+
+Tue Apr 23 17:57:13 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* doc/mdate-sh: Extract the last field from the date output, not
+ 	the sixth, which will fail when the timezone name has more than
+ 	one word or is missing.
+
+Wed Apr 24 20:29:26 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (am_install_var): Use delete, not undef, to remove
+	EXTRA entry.  From Gord Matzigkeit.
+
+Mon Apr 22 17:48:50 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (read_am_file): Handle case where last line doesn't
+	end in newline.
+
+Tue Apr  9 22:53:16 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (variable_defined): New function.
+	(read_am_file): Ensure a blank line comes before starting comments
+	from Makefile.am.
+	(initialize_per_input): Initialize %targets.
+	(read_am_file): Set appropriate entry in %targets.
+	Many changes to use variable_defined.
+	(check_gnu_standards): Only require ChangeLog at top level.  From
+	Gord Matzigkeit.
+	(handle_tests): check-TESTS depends on $(TESTS).  From Gord
+	Matzigkeit.
+
+Mon Apr  8 22:51:41 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (parse_arguments): Added short options.
+	(initialize_global_constants): Ditto.
+
+Fri Apr  5 00:22:14 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* mkinstalldirs (errstatus): Don't necessarily die if mkdir
+	fails.
+
+	* automake.in (handle_source_transform): Typo fix.
+
+Thu Apr  4 15:10:50 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist_worker): Renamed dist-local to
+	dist-hook.
+	(handle_merge_targets): Added install-data-hook and
+	install-exec-hook.
+	(handle_source_transform): Handle EXTRA_prog_SOURCES form.
+
+	* automake.in (handle_scripts): Never allow scripts_installed to
+	become 0.
+
+	* scripts.am (install-@DIR@SCRIPTS): Scripts can be found in
+	srcdir.
+
+	* automake.in (generate_makefile): Derived file names from given
+	input; don't assume Makefile.in and Makefile.am.
+	(am_file_name, in_file_name): New globals.
+	(read_am_file): Use them.
+
+	* program.am (@PROGRAM@): Use transformed program name.
+
+	* remake-hdr.am (stamp-h): Actually touch stamp-h.
+
+Wed Apr  3 15:16:06 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (require_file_internal): Use correct file for error
+	messages.  Test insh.test.
+
+Mon Apr  1 09:47:44 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfos.am (.texi.info): Build output file in srcdir.
+
+	* automake.in (require_file_internal): If $dir is ".",then look in
+	relative directory.
+	(handle_texinfo): Canonicalize name of texi file before looking
+	for dependency variable.
+
+Thu Mar 28 08:33:21 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (require_conf_file_with_conf_line): Yet another
+	function of this form.
+	(libtool_line): New variable.
+	(handle_libraries): Handle libtool.
+
+	* libraries-vars.am: Removed.
+
+	* automake.in (seen_libtool): New variable.
+	(scan_configure): Look for gm_PROG_LIBTOOL or AC_PROG_LIBTOOL.
+
+	* automake.in (handle_dist_worker): Handle dist-local.
+
+	* Makefile.am (maintainer-check): Do "make check" after all syntax
+	checks.
+
+	* texi-version.am (stamp-@VTI@): Look for mdate-sh in appropriate
+	directory.
+
+	* automake.in ($seen_arg_prog): New global.
+	(handle_programs): Error if AC_ARG_PROGRAM not seen.
+	(handle_scripts): Ditto.
+	(handle_configure): mkinstalldirs now a config file.
+	(handle_installdirs): Find mkinstalldirs in config_aux_dir.
+	(handle_dist_worker): Removed DIST_SUBDIRS.
+	(require_file_path): New variable.
+	(require_file_with_conf_line): Set it.
+	(require_file_with_line): Ditto.
+	(require_file): Ditto.
+	(require_file_internal): Incorporated code from
+	require_config_file.
+	(require_config_file): Rewrote.
+	(require_conf_file_with_line): New function.
+	(handle_texinfo): Use it for mdate-sh.
+	(handle_texinfo): Look for mdate-sh in appropriate directory.
+
+Tue Mar 26 13:47:54 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* Makefile.am (cvs-dist): Find NEWS in srcdir.
+	* automake.in (handle_dist_worker): Find NEWS in srcdir.
+	($RULE_PATTERN): Include chars "$(){}/" in allowable patterns in a
+	rule.
+	(require_config_file): Set config_aux_path when file found.
+	($config_aux_dir): New variable.
+	(require_config_file): Set it.
+	(handle_man_pages): Find mkinstalldirs in config_aux_dir.
+
+Mon Mar 25 15:32:57 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* data.am (install-@DIR@DATA): Also allow data to be in build
+	directory.
+
+Sun Mar 24 19:56:28 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (am_install_var): Don't look in EXTRA_primary
+	variable any more; it is handled in the main loop.
+
+Wed Mar 20 16:22:35 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* data.am (install-@DIR@DATA): Find data in srcdir.
+
+Fri Mar 15 18:30:31 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (require_config_file): Use correct filename when
+	looking for errors.  Also, install file in `.' if not found.  Bug
+	reported by Gord Matzigkeit.  Test installsh.test.
+
+Thu Mar 14 09:28:21 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* Makefile.am (cvs-diff): New target.
+
+	Fix for bug when install var substitutes empty.  Test empty.test.
+	* header.am (install-@DIR@HEADERS): Allow empty list of headers.
+	(uninstall-@DIR@HEADERS): Ditto.
+	* scripts.am (install-@DIR@SCRIPTS): Allow empty list of scripts.
+	(uninstall-@DIR@SCRIPTS): Ditto.
+	* libraries.am (install-@DIR@LIBRARIES): Allow empty list of
+	libraries.
+	(uninstall-@DIR@LIBRARIES): Ditto.
+	* data.am (install-@DIR@DATA): Allow empty list of data.
+	(uninstall-@DIR@DATA): Ditto.
+	* programs.am (install-@DIR@PROGRAMS): Added missing semicolon.
+	From François Pinard.
+	(install-@DIR@PROGRAMS): Fixed bug when list of programs empty.
+	(uninstall-@DIR@PROGRAMS): Ditto.
+
+Wed Mar 13 19:50:23 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* tags-subd.am (ID): Name of ID file must be flush against -f.
+
+	* configure.in (VERSION): Version 0.32.
+
+Mon Mar 11 17:50:58 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (seen_linguas, all_linguas_line): New variables.
+	(handle_gettext): New function.
+	(generate_makefile): Run it.
+	(scan_configure): Recognize ALL_LINGUAS.
+
+Mon Mar 11 14:34:36 1996  Gord Matzigkeit  <gord@enci.ucalgary.ca>
+
+	* automake.texi: doc fix.
+
+	* automake.in (am_install_var): Added support for check and
+	installcheck special prefixes.
+
+Sun Mar 10 10:44:42 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_subdirs): Don't do SUBDIRS check for
+	gettext.
+
+Tue Mar  5 18:12:04 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (OBJECT_PATTERN): Removed.
+	(am_install_var): No error if name is invalid.
+	(handle_programs): Canonicalize program names.
+	(BOGUS_MACRO_PATTERN): New variable.
+	(read_am_file): Error if bad macro name given.
+	(require_file_internal): Use am_line_error, not am_conf_error.
+
+	* program.am (@PROGRAM@): Recognize @PROGRAM@_DEPENDENCIES.
+
+Mon Mar  4 19:30:24 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_lib_objects): New function.
+	(handle_libraries): Use it.
+	(handle_programs): Ditto.
+	(handle_dist_worker): Deprecate DIST_SUBDIRS.
+	(am_install_var): Allow extended directory mechanism to work.
+	Test exdir.test.
+
+	* dist-vars.am (DISTFILES): Use EXTRA_DIST.
+	(DEP_DISTFILES): Ditto.
+
+	* automake.in (OBJECT_PATTERN): New variable.
+	(am_install_var): Use it.
+	(handle_dist): DIST_OTHER is an anachronism.
+
+Sat Mar  2 17:04:38 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist_worker): Only cause Automake to be
+	re-run if not making a distribution.  Fixes bug reported by
+	Joerg-Martin Schwarz.
+	(require_file_with_line): New function.
+	(require_file): Use it.
+	(am_line_error): Don't print line number if $symbol is empty.
+	(get_object_extension): Use require_file_with_line.
+	(handle_libraries): Use require_file_with_line.
+	(handle_texinfo): Use require_file_with_line.
+	(handle_configure): Use am_conf_line_error and
+	require_file_with_conf_line.
+	(handle_subdirs): Use require_file_with_conf_line.
+	(handle_configure): Use require_file_with_conf_line.
+	(handle_tests): Push check-TESTS on @phony.
+	(am_conf_line_error): New function.
+	(require_file_with_conf_line): New function.
+	(require_file_internal): New function.
+	(require_file_with_line): Use it.
+	(require_file): Ditto.
+	(am_conf_line_error): Handle empty line number.
+	(ac_gettext_line, ac_output_line): New variables.
+	(scan_configure): Set them.
+
+Fri Mar  1 00:13:04 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (parse_arguments): Default strictness is gnu.
+	Changed `normal' to `foreign' everywhere.
+	(parse_arguments): Handle --foreign.
+	(initialize_global_constants): Document --foreign.
+	(handle_dependencies): Better error message.
+	(handle_texinfo): Don't push $vtexi on @texis.
+	(handle_texinfo): Only push $vtexi on @texi_deps if not null.
+	(handle_configure): install-sh is a config file; require it as
+	such.
+	(parse_arguments): Renamed --install-missing to --add-missing.
+	(add_missing): Renamed from install_missing.
+	(am_install_var): Check to make sure contents of install variable
+	are correct if primary requires it.  Test badprog.test.
+	(initialize_global_constants): Initialize
+	%primary_uses_subobjects.
+	(handle_source_transform): Skip configure substitutions.  Test
+	depend.test.  Also, skip empty elements.
+
+Thu Feb 29 22:00:30 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfo.tex: New version.
+
+	* automake.in (am_install_var): Allow extended range of
+	installation directories.
+
+	* automake.in (get_object_extension): Don't allow
+	@CONFIG_INCLUDE_SPEC@ in the Makefile.in when config.h not used.
+	From Gord Matzigkeit.  Test confincl.test.
+
+	* texinfos.am (install-info): Changed usage of install-info (in
+	comment).  Per Feb 25 GNU Standards document.
+
+Wed Feb 28 07:40:55 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_tests): New function.
+	(generate_makefile): Call it.
+	(handle_subdirs): Skip directories whose names look like configure
+	substitutions.
+	(handle_subdirs): Require intl and po, not @INTLSUB@ and @POSUB@,
+	when using gettext.
+	(scan_configure): Clear in_ac_output if "]" found.  Test
+	acoutqnl.test.
+	(require_config_file): New function.
+	(generate_makefile): Use require_config_file.
+	(config_aux_path): New variable.
+	(scan_configure): Check for AC_CONFIG_AUX_DIR.
+	(handle_merge_targets): Add install-strip rule.
+
+Tue Feb 27 20:00:36 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* mdate-sh: New version from Ulrich Drepper.
+
+	* automake.in (handle_source_transform): Changed fill back to
+	empty string.
+	(handle_libraries): Ditto.
+	(handle_dist): Ditto.
+	(handle_dependencies): Ditto.
+	(handle_footer): Ditto.
+	(handle_phony): Ditto.
+
+	* Makefile.am (DIST_SUBDIRS): Removed.
+	(installcheck-local): Use Perl, not test -x.
+	(PERL): New macro.
+	(maintainer-check): Use $(PERL), not @PERL@.
+
+	* configure.in (VERSION): Upped to 0.31.
+
+Sat Feb 24 18:02:19 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (scan_configure): AC_CHECK_TOOL requires config.sub
+	and config.guess.
+
+	* automake.in: Use keyed_aclocal_warning when warning about
+	fp_PROG_INSTALL.
+	(get_object_extension): Use keyed_aclocal_warning when warning
+	about fp_C_PROTOTYPES.
+	(keyed_aclocal_warning): New function.
+
+	* Makefile.am (pkgdata_DATA): Install aclocal.m4.
+	* aclocal.m4: Include fp_C_PROTOTYPES, fp_PROG_CC_STDC.
+
+	* automake.in (get_object_extension): Only give error about
+	fp_C_PROTOTYPES once.
+
+	* automake.in (seen_ranlib): New variable.
+	(scan_configure): Recognized AC_PROG_RANLIB.
+	(handle_libraries): Error if ranlib not checked for.
+
+	* automake.in (default_strictness): Default to GNU.
+	(default_strictness_name): Ditto.
+
+Wed Feb 21 18:15:02 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (read_am_file): Removed @kr@ support.
+	(get_object_extension): Ditto.
+
+	* Makefile.am (pkgdata_DATA): Include ansi2knr.c and ansi2knr.1.
+
+Tue Feb 20 17:25:18 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* depend.am ($(srcdir)/.deps/%.P): Regexp fix.
+
+Mon Feb 19 19:53:09 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* remake.am ($(srcdir)/Makefile.in): Depend on configure.in.
+	* remake-subd.am ($(srcdir)/Makefile.in): Depend on configure.in.
+
+	* automake.in (handle_scripts): Ensure $scripts_installed set to
+	boolean value.  Test proginst.test.
+
+	* Makefile.am (installcheck-local): New target.
+
+	* automake.in (require_file): No error if missing file is
+	installed.
+
+Sun Feb 18 17:10:00 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_scripts): SCRIPTS no longer automatically
+	cleaned.  Now possible to install scripts in pkgdatadir.
+	($seen_canonical): New variable.
+	(generate_makefile): Check for config.guess and config.sub here;
+	fixes bug reported by Gord Matzigkeit.
+
+	* Makefile.am (pkgdata_SCRIPTS): New variable.
+	(CLEANFILES): New macro.
+
+	* scripts-clean.am: Removed.
+
+Sat Feb 17 00:15:20 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (am_install_var): Error if primary variable actually
+	defined.
+	(am_install_var): Skip elements that look like configure
+	substitutions.
+	(am_install_var): "EXTRA" is a valid prefix.
+	(am_install_var): Push contents EXTRA_PRIMARY onto @result.
+	(handle_merge_targets): Treat "all" target like "install".
+	(handle_subdirs): Don't push all-recursive.
+
+	* header.am (install-@DIR@HEADERS): Don't depend on all.
+	* data.am (install-@DIR@DATA): Don't depend on all.
+	* libraries.am (install-@DIR@LIBRARIES): Don't depend on all.
+	* programs.am (install-@DIR@PROGRAMS): Don't depend on all.
+	* scripts.am (install-@DIR@SCRIPTS): Don't depend on all.
+
+	* automake.in (am_install_var): Push generated install targets
+	onto @phony.
+
+	* subdirs.am: No longer depend on Makefile and $(CONFIG_HEADER).
+	* automake.in (handle_merge_targets): Correctly handle recursive
+	calls of uninstall, install-exec, and install-data.
+	(handle_merge_targets): Put Makefile, and possibly $config_name,
+	onto @all.
+	(handle_merge_targets): Push 'all' onto @install as appropriate.
+
+Fri Feb 16 18:27:04 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_configure): config.status is in
+	$(top_builddir), not $(top_srcdir).  Reported by Anthony Green.
+
+	* automake.in (scan_configure): Recognize (AC|fp)_FUNC_FNMATCH.
+
+Thu Feb 15 19:12:45 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in: (seen_prog_yacc): New variable.
+	(scan_configure): Look for yacc.
+	(handle_source_transform): Skipp C++ header files.
+	(handle_source_transform): .cxx is a C++ source file.
+
+Wed Feb 14 08:36:02 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* depend.am ($(srcdir)/.deps/.P): Use "echo", not ":".
+
+	Implemented --verbose feature; idea from Greg Woods:
+	* automake.in (verbose): New global.
+	(generate_makefile): Print creating message if verbose.
+	(grep_for_vers_texi): Print message if verbose.
+	(handle_dependencies): Ditto.
+	(scan_configure): Ditto.
+	(read_am_file): Ditto.
+	(parse_arguments): Added --verbose.
+	(initialize_global_constants): Ditto.
+
+	* automake.in (get_object_extension): Use am_line_error.
+	(handle_source_transform): Ditto.
+	(handle_libraries): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_man_pages): Ditto.
+	(handle_dist): Ditto.
+	(handle_dist): Ditto.
+	(handle_subdirs): Ditto.
+	(handle_configure): Ditto.
+	(handle_merge_targets): Ditto.
+	(am_install_var): Ditto.
+	(am_line_error): Allow actual line number as argument.
+	(handle_configure): Use am_line_error.
+	(scan_configure): Set config_header_line.
+	(config_header_line): New global.
+	Use @PERL@ to find perl during exec.  From Greg Woods.
+
+Tue Feb 13 22:06:51 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (initialize_per_input): Init %content_lines.
+	(read_am_file): Set appropriate content_lines elements while
+	reading.
+	(am_line_error): New function.
+	(read_am_file): Use it.
+	(handle_options): Ditto.
+
+	* automake.in (scan_configure): Handle case where more than one .o
+	is put into LIBOBJS at once.  Test libobj.test.
+
+Mon Feb 12 20:39:28 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (scan_configure): Ignore "\" in AC_OUTPUT line.
+	Test acouttbs.test.
+	(handle_subdirs): Restored intl, po warnings.
+
+	* automake.in (scan_configure): Delete everything after "," or
+	")".  Test acoutnoq.test.
+	(handle_dist): Use $relative_dir, not nonexistent $subdir.
+	(handle_subdirs): 'po' and 'intl' are sometimes substituted into
+	SUBDIRS; don't warn about their absence.
+
+Sun Feb 11 16:55:15 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_texinfo): Removed bogus error message.
+
+	* automake.in (handle_texinfo): Push $(INFO_DEPS), not 'info',
+	onto @all.
+	(handle_options): Handle version number.
+
+	* automake.in ($maint_charset, $dist_charset): New variables.
+	(initialize_per_input): Init $local_maint_charset.
+	(handle_dist): Handle DIST_CHARSET and MAINT_CHARSET.
+	(generate_makefile): Don't print "creating...".
+
+Sat Feb 10 16:45:07 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (get_object_extension): Substitute
+	@CONFIG_INCLUDE_SPEC@ if CONFIG_HEADER defined.
+	(handle_source_transform): Use $1, not \1.
+	(pretty_print_internal): Handle Tabs in fill when computing indent
+	on new line.
+	(handle_merge_targets): Always generate install-exec and
+	install-data targets.  Test instexec.test.
+	Fixed error message if fp_PROG_INSTALL missing.
+
+	* compile-vars.am (DEFS): Include -I., -I$(srcdir), and
+	@CONFIG_INCLUDE_SPEC@.
+
+	* automake.in (scan_configure): Delete everything after "]".  Test
+	acoutput.test.
+
+	* configure.in (AC_OUTPUT): Create tests/Makefile.
+	* Makefile.am (SUBDIRS): New macro.
+
+	* automake.in (handle_texinfo): Put $vtexi on texi_deps.  From Jim
+	Meyering.
+
+	* configure.in (AC_OUTPUT): Ensure automake is executable.
+
+Thu Feb  8 17:30:29 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_subdirs): Error if directory in SUBDIRS does
+	not exist.
+
+	* automake.in (handle_configure): Handle AC_OUTPUT ":" syntax.
+
+	From Jim Meyering:
+	* libraries.am (install-@DIR@LIBRARIES): Depend on all, not
+	(@DIR@_LIBFILES).
+	* header.am (install-@DIR@HEADERS): Depend on all, not
+	$(@DIR@_HEADERS).
+	* data.am (install-@DIR@DATA): Depend on all, not $(@DIR@_DATA).
+	* scripts.am (install-@DIR@SCRIPTS): Depend on all, not
+	$(@DIR@_SCRIPTS).
+	* programs.am (install-@DIR@PROGRAMS): Depend on all, not
+	$(@DIR@_PROGRAMS).
+
+	* automake.in (initialize_per_input): Initialize
+	$use_dependencies.
+	($seen_path_xtra): New variable.
+	(scan_configure): Look for AC_PATH_XTRA.
+	(get_object_extension): Add variables to output if X seen.
+
+Thu Feb  8 10:02:45 1996  Greg A. Woods  <woods@most.weird.com>
+
+	* automake.in (handle_programs): add pkglib to list of
+	directories for C
+	(various): include a tab as fill for continuation lines
+	printed with pretty_print*, esp. for macro variable assignments.
+	[ changed to 4 spaced by me ]
+
+Wed Feb  7 18:00:29 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* configure.in (VERSION): Upped to 0.30.
+
+	* Makefile.am (automake): Removed.
+	(DIST_OTHER): Removed.
+
+	* automake.in (handle_source_transform): All dep_files are
+	relative to $(srcdir).
+	(handle_libraries): Ditto.
+	(scan_configure): Test for AC_PROG_INSTALL as well as
+	fp_PROG_INSTALL.  Don't error here.
+	(seen_prog_install): Now global.
+	(scripts_installed): New global.
+	(handle_scripts): Set it.
+	Give error if appropriate install macro not seen.
+	(handle_subdirs): Ensure $seen_gettext before requiring
+	gettext-specific files.
+	(handle_configure): Automatically rebuild 
+
+        From Jim Meyering:
+	* automake.in (handle_source_transform): Use \W when quoting
+	regexp.  When blah_SOURCES not explicitly defined, still create
+	entry in %deps.
+	* depend.am ($(srcdir)/.deps/%.P): Don't use \< in regexp.
+	* subdirs.am (maintainer-clean-recursive): Now depends on
+	$(CONFIG_HEADER) and Makefile.
+
+	* automake.in (handle_source_transform): Skip macro references.
+
+Mon Feb  5 14:58:58 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_texinfo): Include "rm" when deleting files.
+
+	* Makefile.am (maintainer-check): Expect only one ${...}.
+	* texinfos.am (install-info): Remove unneeded ${...}.  From Jim
+	Meyering.
+
+	* automake.in (handle_configure): Only define CONFIG_HEADER if
+	$config_name.
+	($seen_gettext): New variable.
+	(handle_subdirs): Do all gettext-related checking here.
+	(scan_configure): Just set $seen_gettext.
+	(handle_man_pages): Properly quote $(MANS).
+
+Wed Jan 31 09:51:30 1996  Tom Tromey  (tromey@gerbil.cygnus.com)
+
+	* depend.am: Don't use srcdir anywhere.
+	* automake.in (handle_libraries): Don't make .deps relative to
+	srcdir.
+	(handle_options): Recognize no-dependencies.
+
+	* depend.am (MKDEP): From Jim Meyering: Do nothing if srcdir is
+	".".  Properly quote regexp.
+
+Tue Jan 30 12:19:09 1996  Tom Tromey  (tromey@gerbil.cygnus.com)
+
+	* automake.in (handle_configure): Only defined CONFIG_HEADER if
+	$config_name.
+	(read_am_file): Quote regexp when substituting top_builddir.
+	(handle_source_transform, handle_libraries): Look in
+	$(srcdir)/.deps for .P files.
+
+Fri Jan 26 00:15:25 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (am_conf_error): New function.
+	(scan_configure): Use it.
+	(scan_configure): A comma also ends AC_OUTPUT macro.
+
+	* automake.in (read_am_file): Compute top_builddir when including
+	header-vars.am.
+	(handle_configure): Use $top_builddir, not $top_reldir.
+	(other_input_files): New variable.
+	(dirname): Fixed bug where dirname of 'a/b/c' was 'a', not 'a/b'.
+
+	Changes from Gord Matzigkeit to enabled hierarchies deeper than 2:
+	* automake.in (input_files, seen_make_set): Declare globally.
+	(parse_arguments): Use input_files, not make_list.
+	Only scan configure.in once.
+	(handle_dist): Use SUBDIRS to determine when to make
+	subdirectories and recurisvely dist.  Use $(topdir), not "..", to
+	find top of dist tree.
+	(handle_configure): Check for AC_PROG_MAKE_SET here.  Don't require
+	configure.in (done elsewhere).
+	(scan_configure): seen_make_set is global.  Allow arbitrary space
+	in LIBOBJS assignment.
+	(top_builddir): New variable.
+	* header-vars.am (top_builddir): New variable.
+	* remake-subd.am (Makefile): Look in top_builddir, not .., when
+	remaking.
+	* automake.in (handle_merge_targets): Run 'all' before
+	check-recursive.
+
+	* automake.in (file_contents_with_transform): Changed error
+	message.
+	(handle_configure): Define $contents{'CONFIG_HEADER'}.
+
+	* texi-version.am: Many changes to support multiple .texi files.
+	Replaced "version.texi" with "@VTEXI@".  Replaced "vti" with
+	"@VTI@".
+	* automake.in (handle_configure): install.sh is an anachronism.
+	(handle_texinfo): Generalized for multiple .texi files.  Handle
+	'clean-info' internally.
+	* texi-clean.am: Removed.
+	* Makefile.am: Updated for removal.
+
+Wed Jan 24 22:55:32 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (grep_for_vers_texi): New function.
+	(handle_texinfo): Use grep_for_vers_texi, not system("grep").
+	(handle_texinfo): Changes to generalize to multiple .texi files.
+
+Tue Jan 23 14:22:16 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	Fixes from Gord Matzigkeit:
+	* libraries.am (install-@DIR@LIBRARIES): Use top_srcdir, not
+	topsrcdir.
+	* header.am: New file.
+	* Makefile.am (pkgdata_DATA): Install header.am.
+	* automake.in (handle_headers): Use header.am, not data.am.
+	(am_install_var): Allow pattern to be compiled multiple times.
+
+	* config.guess, config.sub: New files.
+	* Makefile.am (pkgdata_DATA): Install config.guess and
+	config.sub.
+	* automake.in (scan_configure): Recognize AC_CANONICAL_HOST and
+	AC_CANONICAL_SYSTEM.
+
+Sun Jan 21 15:51:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_texinfo): Use info_TEXINFOS, not TEXINFOS.
+	(handle_man_pages): Use man_MANS, not MANS.
+
+	* Makefile.am (info_TEXINFOS): Renamed.
+
+	* automake.in (scan_configure): Remove comments from input line.
+	(am_variable): Removed.
+
+	* remake-hdr.am (stamp-h): Use new macro CONFIG_HEADER_IN.
+
+	* automake.in (config_name, config_header): New globals.
+	(scan_configure): Look for AC_CONFIG_HEADER.
+	(handle_configure): Handle more uses of AC_CONFIG_HEADER.
+
+Sat Jan 20 15:54:24 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist_worker): Bug fix.
+
+Fri Jan 19 00:50:29 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (require_file): Install missing files only according
+	to desired strictness.
+	(initialize_per_input): Don't init libsources.
+	(scan_configure): Reinit libsources.
+	(handle_libraries): Search _LIBADD for @LIBOBJS@ and @ALLOCA@.
+	(fp_c_prototypes): New global.
+	(scan_configure): Set it.
+	(get_object_extension): Error if fp_C_PROTOTYPES not in
+	configure.in when using ansi2knr.
+	(handle_source_transform): Skip header files.
+
+	* automake.in (handle_dist_worker): Explicitly make 'dist' in
+	subdirs.
+
+Thu Jan 18 00:25:56 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	From François Pinard:
+	* automake.in (handle_source_transform): Transform $o file into .P
+	file.
+	(handle_dist_worker): Handle case where DISTFILES includes
+	wildcard.  Bug fix in subdir case.
+
+	* automake.in (parse_arguments): Initialize strictness to
+	'normal'.
+
+Sun Jan 14 13:54:16 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (scan_configure): Look for NLS support.
+
+	Changes from François Pinard:
+	* texinfos.am (install-info): Correctly install when build dir is
+	not srcdir.
+	* tags-subd.am (ID): Indentation change.
+	* kr-vars.am (o): Use ".@U@o", not "@U@o".
+	* depend.am ($(srcdir)/.deps/%.P): Remove temporary file.
+	* automake.in (handle_dist_worker): Fixlets.
+	(handle_dist): Sort keys going into dist_common.
+
+Sat Jan 13 00:18:06 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (handle_dist_worker): If Gnits, don't allow release
+	until NEWS is updated.
+
+	* configure.in (VERSION): Version 0.29.
+
+	* Makefile.am (maintainer-check): Look for perl4.036 in path.
+
+	* dist-vars.am (DISTFILES):  Include BUILT_SOURCES.
+	(DEP_DISTFILES): Ditto.
+
+	* automake.in (handle_dist_worker): Depend on DEP_DISTFILES.
+	* dist-vars.am (DEP_DISTFILES): New variable.
+
+	* automake.in (handle_options): Support dist-shar option.
+	(handle_dist_worker): New function.
+	(handle_dist): Use it.
+
+	* texi-version.am (mostlyclean-vti): Remove version.tmp, not
+	*.tmp.
+
+	* automake.in (handle_dist): Chmod distdir 777.  From François
+	Pinard.
+
+	* automake.in (scan_configure): New function.
+	(initialize_per_input): Init libsources.
+	(generate_makefile): Run handle_configure first.
+	(handle_configure): Run scan_configure.
+	(handle_configure): Don't look for AC_PROG_MAKE_SET here.
+
+Thu Jan 11 23:14:18 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* Makefile.am (AUTOMAKE_OPTIONS): New variable.
+
+	* automake.in (strictness, strictness_name): Renamed.
+	(initialize_per_input): Set strictness, strictness_name.
+	Initialize %options.
+	(generate_makefile): Run handle_options.
+	(handle_options): New function.
+	(handle_man_pages): Make install-man depend on $(MANS).  Turn off
+	man page install if no-installman option given.
+	(read_am_file): Deprecate @kr@.
+	(get_object_extension): Look at ansi2knr option.
+	(parse_arguments): Take global strictness from command-line
+	options.
+
+Tue Jan  9 11:24:14 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	Fixes from François Pinard:
+	* depend.am ($(srcdir)/.deps/%.P): Handle deansification.
+	* automake.in (get_object_extension): Use $o, not $(kr)o.
+	(handle_source_transform): Don't look for $(kr)c files.
+	* kr-vars.am (o): New macro.
+	(kr): Removed.
+
+	* depend.am (DEP_FILES): Removed.
+	* automake.in (handle_source_transform): Push .P file onto
+	dep_files.
+	(initialize_per_input): New variable %dep_files.
+	(handle_dependencies): Generate DEP_FILES here.
+
+Mon Jan  8 22:27:33 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* automake.in (do_one_clean_target): Only remove config.status in
+	top-level directory.
+	(handle_tags): Removed 'id' from .PHONY list.  From Jim Meyering.
+
+	* clean.am (maintainer-clean-generic): Remove BUILT_SOURCES.
+
+	* automake.in (handle_dist): Make "ln" quiet.
+
+	* tags-subd.am (ID): Depend on HEADERS and SOURCES.
+
+Sat Jan  6 10:58:23 1996  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* automake.in (handle_merge_targets): 'check' shouldn't depend on
+	'all' at top level.
+	(file_contents_with_transform): New function.
+	(am_install_var): Use file_contents_with_transform.
+	(handle_programs): Ditto.
+	(handle_libraries): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_merge_targets): Let 'install' depend on 'all' if no other
+	dependencies exist.  From Jim Meyering.
+	(check_gnu_standards): GNU requires AUTHORS file.  (See
+	maintain.text).
+	(require_file): Put body in loop.
+	(get_object_extension): Only call require_file once.
+	(handle_configure): Ditto.
+
+	From Jim Meyering:
+	* depend.am ($(srcdir)/.deps/.P): Depend on $(BUILT_SOURCES).
+	* tags-subd.am (id): Removed.
+
+Fri Jan  5 10:31:19 1996  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* Added copyright notice to each .am file.
+
+	* automake.in: Cleanups from François Pinard to avoid $#.
+	(require_argument): Fixed sense of test.
+	(set_strictness): Bug fix.
+
+Thu Jan  4 21:21:29 1996  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* Makefile.am (pkgdata_DATA): Removed old dist files.
+
+	* dist-subd-top.am, dist-subd.am, dist.am: Removed.
+
+	* automake.in (set_strictness): Set $strictness_name.
+	(strictness_name): New variable.
+	(handle_dist): Substantially rewrote.
+
+	* configure.in: Point AC_INIT at automake.in.
+
+	* automake.in (generate_makefile): Report errors against
+	Makefile.in, not Makefile.am.
+
+Wed Jan  3 00:05:40 1996  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* mdate-sh: Bug fix from Jim Meyering.
+
+	* dist.am (dist): Changed in parallel with dist-subd-top.am.
+
+	* mkinstalldirs: Reverted.
+
+	* automake.in (initialize_global_constants): Allow COPYING.LIB
+	again.
+	(check_gnits_standards): Disallow COPYING.LIB.
+
+	* texinfos.am (install-info): Only look in $(srcdir) for info
+	files.
+
+	* automake.in (initialize_global_constants): New variable
+	gen_copyright.
+	(read_am_file): Put a copyright in each Makefile.in.
+
+	* dist-vars.am (DISTFILES): Put DIST_COMMON first.
+
+	* automake.in (am_install_var): Put space before "=".
+	(handle_dist): Put README first in DIST_COMMON.
+
+	* Makefile.am (pkgdata_DATA): Include COPYING.
+
+	* COPYING: New file.
+
+	* automake.in (parse_arguments): Added --gnu and --gnits as
+	synonyms.
+	(initialize_global_constants): Ditto.
+	(initialize_global_constants): Don't auto-distribute COPYING.LIB.
+	(initialize_global_constants): Look for README first.
+	(initialize_global_constants): Auto-distribute AUTHORS, BACKLOG,
+	ABOUT-GNU.
+	(check_gnu_standards): Require file COPYING.
+
+	From François Pinard:
+	* automake.in (file_contents): Comment out "warn"s.
+	(usage): Use 4 columns.
+	(USAGE_FORMAT): Ditto.
+
+	* texinfos.am (install-info): Look for info file relative to $$d.
+
+	* Makefile.am (cvs-dist): Suppress output of "grep".
+
+	* configure.in (VERSION): Version 0.28.
+
+	* automake.in (pretty_print_internal): Fix for Perl 4
+	compatibility.
+
+	* configure.in (VERSION): Version 0.27.
+
+	* depend.am ($(srcdir)/.deps/%.P): Must regexp-quote srcdir in sed
+	invocation.
+
+	* automake.in (initialize_global_constants): Don't quote "@" in
+	$install_man_format.
+	(handle_merge_targets): use "@:" as empty command, not ":".
+
+Tue Jan  2 23:33:24 1996  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* texinfos.am (install-info): Look in $d for info files.  From
+	François Pinard.
+
+	* depend.am ($(srcdir)/.deps/%.P): Fixed regexp.
+
+	* automake.in (read_am_file): Correctly deal with continued
+	variable definitions.
+
+Mon Jan  1 15:43:25 1996  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* automake.in (handle_merge_targets): 'check' target depends on
+	'all'.
+	(file_contents): Don't be so verbose.
+	(read_am_file): Ditto.
+	(read_am_file): Must use substr to check for trailing \.
+	(am_install_var): Use push_phony_cleaners.
+	(file_contents): Set $was_rule when assuming a rule is seen.
+	(read_am_file): Ditto.
+	(do_one_clean_target): Removed spurious newline.
+
+	Some changes from François Pinard:
+	* Removed trailing whitespace from all '.am' files.
+	* tags-subd.am (ID): Use &&, not ;.
+	(TAGS): Ditto.
+	* automake.in (parse_arguments): Removed useless message.
+	(parse_arguments): Don't explicitly referenced STDERR.
+	(require_argument): Ditto.
+	(am_error): Ditto.
+	(set_strictness): Ditto.
+	(file_contents): Ditto.
+	(read_am_file): Ditto.
+	(generate_makefile): Style tweaks.
+	(handle_programs): Ditto.
+	(handle_libraries): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_man_pages): Ditto.
+	(handle_tags): Ditto.
+	(handle_dist): Ditto.
+	(handle_subdirs): Ditto.
+	(handle_configure): Ditto.
+	(handle_footer): Don't put newline before footer.am contents.
+	(handle_merge_targets): Style tweaks.
+	(do_one_clean_target): Ditto.
+	(dirname): Ditto.
+	(am_variable): Ditto.
+	Defined some new constants.
+	(generate_makefile): Don't call generate_header.
+	(generate_header): Removed.
+	(file_contents): Rewrote.
+	(read_am_file): Rewrote.
+
+	* automake.in (generate_makefile): Handle phony target.
+	(do_one_clean_target): Pretty-print dependencies.
+	(handle_installdirs): Pretty-print rule.
+
+	* Makefile.am (maintainer-check): Made some commands silent.
+
+	* automake.in (initialize_global_constants): Don't install or
+	uninstall cat'd man pages.
+	(initialize_per_input): Added phony target.
+	(push_phony_cleaners): New function.
+	(get_object_extension): Handle phony targets.
+	(handle_texinfo): Ditto.
+	(handle_man_pages): Ditto.
+	(handle_tags): Ditto.
+	(handle_dist): Ditto.
+	(handle_subdirs): Ditto.
+	(handle_installdirs): Ditto.
+	(handle_merge_targets): Ditto.
+	(handle_clean): Ditto.
+	(do_one_merge_target): Ditto.
+	(am_install_var): Ditto.
+	(handle_phony): New function.
+	(generate_makefile): Call it.
+	(pretty_print_internal): New function.
+	(pretty_print_rule): Ditto.
+
+Sun Dec 31 13:04:59 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* automake.in (initialize_global_constants): Don't print body of
+	loop at make time.
+
+	Changes from François Pinard:
+	* depend.am (MKDEP): Include DEFS, INCLUDES, CPPFLAGS, CFLAGS.
+	(DEP_FILES): Put dependency files in $(srcdir).
+	Look in $(srcdir) when including dependency files.
+	($(srcdir)/.deps/.P): .deps/.P is in $(srcdir).
+	(.deps/%.P): MKDEP includes all macro expansions.
+	* dist-subd-top.am (dist): Get absolute path for distdir.  Don't
+	be so verbose.
+	* dist-subd.am (dist): Don't be so verbose.
+	* dist.am (dist): Don't be so verbose.
+
+	* automake.in (do_one_clean_target): Remove config.status in
+	maintainer-clean.  From Jim Meyering.
+
+	* programs-clean.am (clean-@DIR@PROGRAMS): Bug fix.  From Jim
+	Meyering.
+
+	* automake.in (handle_merge_targets): Add dummy command for empty
+	install target.  From Jim Meyering.
+
+Tue Dec 12 10:06:28 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* texinfos.am (uninstall-info): Bug fix.
+
+	* Makefile.am (maintainer-check): Error if ${...} used.
+	* depend.am (DEP_FILES): Prefer $(...).
+
+	* scripts.am (install-@DIR@SCRIPTS): Only install script if it
+	exists.
+	* libraries.am (install-@DIR@LIBRARIES): Only install library if
+	it exists.
+	* programs.am (install-@DIR@PROGRAMS): Only install program if it
+	exists.
+
+	* texinfos-vars.am (TEXFILES): Removed.
+
+	* Makefile.am (pkgdata_DATA): Removed libprograms.am.
+
+	* automake.in (do_one_merge_target): Never generate trailing
+	whitespace.
+	(pretty_print): New function.
+	(handle_footer): Prettyprint definitions.
+	(am_install_var): Ditto.
+	(handle_source_transform): Ditto.
+	(handle_dist): Ditto.
+	(handle_libraries): Ditto.
+	(read_am_file): Put comments nearer appropriate code.
+
+	* texi-clean.am (mostlyclean-info): Use continued lines, not
+	multiple rm's.  From Jim Meyering.
+
+Sun Dec 10 11:59:33 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* Makefile.am (pkgdata_DATA): Cause INSTALL, install-sh, mdate-sh,
+	mkinstalldirs, texinfo.tex to be installed.
+	* automake.in (symlink_exists): New global.
+	(install_missing): Ditto.
+	(require_file): Install missing files if possible.
+	(parse_arguments): Handle --install-missing option.
+	(initialize_global_constants): Document --install-missing.
+
+	* Makefile.am (cvs-dist): Don't release unless NEWS updated.
+	Ensure 'checks' pass before release.
+	(maintainer-check): Renamed.  Look in $(srcdir) for sources.  From
+	Franc,ois Pinard.
+	(cvs-dist): Depend on maintainer-check instead of explicitly
+	running check.
+
+	* configure.in (VERSION): Version 0.26.
+
+	* Makefile.am (check-local): Only look at [a-z]*.am.  Fixed sense
+	of 'if' test.
+
+	* depend.am (DEP_FILES): Bug fix.
+
+	* automake.in (do_one_clean_target): Typo.
+
+	* Makefile.am (check-local): Run syntax check under Perl 4.
+
+	* automake.in: Fixes for Perl 4, from Gord Matzigkeit.
+	(handle_source_transform): Loop variable is now $_.  From Gor
+
+	* Makefile.am (check-local): Check for 'true' in source.
+	* texinfos.am (install-info): Can't use "true" in any rule.
+
+Sat Dec  9 10:16:48 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* Makefile.am (cvs-dist): New target.
+
+	* tags.am (TAGS): Use "test -z ... ||" to avoid spurious
+	failures.
+
+	* texinfos.am (install-info): Don't do install-info for now.
+
+	* clean.am (distclean-generic): Don't remove config.status here.
+	* automake.in (do_one_clean_target): Remove config.status later,
+	for 'make -j2'.  From Jim Meyering.
+
+Fri Dec  8 16:30:48 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* configure.in (VERSION): Version 0.25.
+
+	* automake.in (handle_texinfo): Use "$? >> 8", not "$?".
+	(handle_configure): Check for AC_PROG_MAKE_SET.
+
+	* depend.am (DEP_FILES): Handle deANSIfication case.  From Jim
+	Meyering.
+
+	* automake.in (am_install_var): Changed how 'clean' handled for
+	uniform name targets.
+	* Makefile.am (pkgdata_DATA): Added new files.
+	* data-clean.am: New file.
+	* scripts-clean.am: New file.
+	* libraries-clean.am: New file.
+	* programs-clean.am: New file.
+
+Wed Dec  6 00:06:11 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* automake.in (am_install_var): Error if variable name
+	"misspelled".
+	(handle_source_transform): Automatically include .c file
+	corresponding to .y or .l.
+
+Tue Dec  5 00:46:14 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* programs.am: Changed for uniform naming scheme.
+
+	* automake.in (read_am_file): Allow '-' and '.' in target names.
+	(generate_makefile): Don't pass arguments to handle_libraries.
+	(initialize_per_input): Define @sources, @objects.
+	(generate_makefile): Init @sources, @objects if needed.
+	(handle_source_transform): Push onto @sources, @objects here.
+	(am_install_var): Push primary onto @all, for configure-time
+	customization.
+	(handle_programs): Use new uniform naming scheme.
+
+	* Makefile.am (check-local): New target.
+
+	* automake.in (handle_libraries): Use uniform naming scheme.
+
+	* libraries.am: Rewrote for uniform naming scheme.
+
+	* scripts.am: Updated names of all clean targets.
+
+	* automake.in (handle_programs): Split on all whitespace.
+	(handle_libraries): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_man_pages): Ditto.
+	(am_install_var): Changed return result.
+	(am_install_var): Changed interface.
+	(am_install_var): Push onto @clean@ if requested.
+	(handle_scripts): Pass -clean to am_install_var.
+
+Mon Dec  4 11:55:36 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* automake.in (am_install_var): Push target onto @all.
+	(get_object_extension): Use $(...).
+	(handle_source_transform): Ditto.
+	(handle_programs): Ditto.
+
+	* automake.in (require_argument): New function.
+	(parse_arguments): Use it.
+	(push_dist_common): New function.
+	(generate_makefile): Use it.
+	(handle_texinfo): Ditto.
+	(handle_dist): Ditto.
+	(handle_configure): Ditto.
+	(require_file): Ditto.
+	(generate_makefile): Don't pass arguments to handle_scripts.
+	(handle_configure): Require configure.in.
+	(check_gnu_standards): New function.
+	(check_gnits_standards): Ditto.
+	(generate_makefile): Check standards.
+
+	* Makefile.am (bin_SCRIPTS): Changed name from SCRIPTS.
+
+	* automake.in (LENIENT, GNU, GNITS): New constants.
+	(initialize_per_input): New function.
+	(generate_makefile): Use it.
+	(initialize_global_constants): Renamed from init_globals.
+	(require_file): Added strictness argument.
+	(parse_arguments): Added --strict option.
+	(set_strictness): New function.
+	(parse_arguments): use it.
+	(initialize_global_constants): Document --strictness.
+
+	* automake.in: Use ${1+"$@"} to preserve quoting when running
+	under sh.
+
+	* texinfos.am (install-info): Don't use "true".
+	* tags.am (TAGS): Don't use "true".
+
+	* dist.am, dist-subd-top.am, remake-hdr.am, remake-subd.am,
+	remake.am, subdirs.am, texinfos.am: Use "&&" after cd.
+
+	* program.am (@PROGRAM@): Use LINK macro.
+	* compile.am (.c.o): Use COMPILE macro.
+
+	* clean.am, remake-hdr.am, remake.am, texinfos.am: Use $(...), not
+	${...}.
+
+	* subdirs.am (RECURSIVE): Removed macro.
+
+	* clean.am: Changed to not be so verbose.
+
+	* Makefile.am (pkgdata_DATA): Include texi-clean.am.
+	* automake.in (handle_texinfo): Transform texi-clean and put into
+	output rules.
+	* texinfos-vars.am (TEXFILES): Removed.
+	* texinfos.am: Removed 'clean' targets.
+	* texi-clean.am: New file.
+
+	* Makefile.am (ETAGS_ARGS): Just use 'automake.in'.
+
+	* texinfos-vars.am (TEXFILES): Added *.op.
+
+	* dist-vars.am (DISTFILES): Renamed from DIST_FILES, per GNU
+	standards.
+	* dist.am (dist): Use DISTFILES.
+	* dist-subd.am (dist): Use DISTFILES.
+	* dist-subd-top.am (dist): Use DISTFILES.
+
+Sun Dec  3 00:24:08 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* Makefile.am (ETAGS_ARGS): Define.
+
+	* depend.am (.deps/.P): Use ":", not "echo timestamp".  From Jim
+	Meyering.
+
+	* dist-vars.am (DIST_FILES): Removed PACKAGEDATA.
+
+	* automake.in (handle_scripts): Use am_install_var.
+
+	* scripts.am: Rewrote for new uniform naming scheme.
+
+	* Makefile.am (pkgdata_DATA): Removed libscripts.am.
+
+	* libscripts.am: Removed.
+
+	* packagedata.am: Removed.
+
+	* Makefile.am (PACKAGEDATA): Removed packagedata.am.
+	(pkgdata_DATA): Renamed from PACKAGEDATA.
+
+	* automake.in (handle_data): Use am_install_var.
+	(init_globals): Init %exec_dir_p.
+
+	* data.am: Rewrote for new uniform naming scheme.
+
+	* automake.in (get_object_extension): New function.
+	(handle_programs): Use it.
+	(dir_holds_sources): Changed interpretation.
+	(handle_headers): New function.
+	(am_install_var): New function.
+	(generate_makefile): Call handle_headers.
+
+	* header-vars.am (pkgdatadir): New macro.
+	(pkglibdir): Ditto.
+	(pkgincludedir): Ditto.
+
+	* automake.in (handle_source_transform): New function.
+	(am_error): New function.
+	(generate_makefile): Use it.
+	(handle_source_transform): Ditto.
+	(handle_texinfo): Ditto.
+	(handle_dependencies): Ditto.
+	(handle_merge_targets): Ditto.
+	(require_file): Ditto.
+
+Sat Dec  2 21:39:56 1995  Tom Tromey  <tromey@cambric.colorado.edu>
+
+	* automake.in: Updated FSF address.  From Jim Meyering.
+	* header-vars.am: Updated FSF address.
+
+	* distname.am: Removed.
+
+	* automake.in (file_contents): Strip "##" comments.
+	* Various files: Added "##" comments for strange things.
+
+	* automake.in (handle_tags): Generate TAGS rule for every
+	directory.
+
+	* subdirs.am (RECURSIVE): Include installcheck-recursive.
+	* automake.in (installcheck): New variable.
+	(generate_makefile): Initialize it.
+	(handle_subdirs): Push 'installcheck-recursive'.
+	(handle_merge_targets): Handle installcheck target.
+
+Thu Nov 30 20:13:16 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in ($PACKAGE): Removed.
+
+	* header-vars.am (ALL): Removed.
+
+	* automake.in: Reworked 'all' target handling.
+
+	* automake.in (generate_makefile):
+	Don't use AM_ forms in call to am_variable.
+
+	* automake.in: Changes for Perl 5, from Gord Matzigkeit
+
+	* clean.am (MOSTLYCLEANFILES, MAINTAINERCLEANFILES): New variables.
+
+	* automake.in (handle_footer): Allow SUFFIXES variable.
+
+	* automake.in (am_variable): New function.
+	(handle_texinfo): Use it.
+	(generate_makefile): Use it.
+
+	* configure.in: Version 0.24.
+
+Wed Nov 29 23:50:14 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in (handle_libraries):
+	Generate blah_LIBADD defines if required.
+
+	* library.am (lib@LIBRARY@.a): Look at $(@LIBRARY@_LIBADD)
+
+	* libraries-vars.am (LIBOBJS, ALLOCA): Removed.
+
+	* compile-kr.am: ($(OBJECTS)): Depend on $(ANSI2KNR), not ansi2knr.
+
+	* configure.in: Version 0.23
+
+	* dist-subd-top.am (dist): Don't die if a subdirectory already exists.
+
+	* dist-subd-top.am, dist.am (dist): Give automake --output-dir option.
+
+	* automake.in: New option --output-dir
+
+	* automake.in (handle_configure): Fixed typo.
+
+	* automake.in (handle_installdirs): Always make installdirs target.
+
+	* subdirs.am (RECURSIVE): Removed uninstall-data-recursive and
+	uninstall-exec-recursive.  Added installdirs-recursive.
+
+	* automake.in (handle_installdirs): Handle installdirs-recursive.
+	(handle_man_pages): 'all' depends on $(MANS)
+
+	* Makefile.am: Removed mans.am.
+
+	* automake.in: More man-related fixes
+
+	* automake.in: Bug fixes
+
+	* automake.in: Rewrote man page handling.
+
+	* texi-version.am, remake-hdr.am, depend.am: Don't use touch.
+
+	* automake.in (handle_installdirs): New function.
+	(@installdirs): New global.
+	Many changes to deal with installdirs.
+
+	* clean.am (clean-generic): Always supply 'else' clause to 'if'
+
+	* automake.in (generate_header): Don't use header.am.
+	(handle_dist): Don't use dist-subd-vars.am.
+
+	* Makefile.am (PACKAGEDATA): Removed dist-subd-vars.am, header.am.
+
+	* Makefile.am (DISTCLEANFILES): Removed.
+
+	* clean.am (clean-generic): Bug fix.
+
+	* clean.am (clean-generic): Only remove CLEANFILES if nonempty
+
+	* texi-version.am (clean-vti): No such macro as VTI
+
+Tue Nov 28 19:56:07 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: Bug fix for maintainer-clean
+
+	* automake.in (do_one_clean_target):
+	Print special text in maintainer-clean.
+	(handle_clean): Always include clean.am
+
+	* clean.am: Use -generic clean targets.
+
+	* compile.am: Added clean targets.
+
+	* configure.in: Version 0.22.
+
+	* automake.in (handle_dependencies):
+	Put trailing newline after all deps.
+
+	* automake.in (handle_dependencies): Another dependency bug fix.
+
+	* automake.in (handle_dependencies):
+	Bug fix when including dependencies.
+
+	* automake.in (handle_configure):
+	Verify existence of install-sh, mkinstalldirs
+
+	* automake.in (handle_texinfo): Include stamp-vti in distribution
+
+	* dist-subd-vars.am, dist-vars.am (DIST_FILES):
+	Include DATA, PACKAGEDATA.
+
+	* Makefile.am: Nothing
+
+	* Makefile.am (DIST_OTHER): Don't distribute gettext-sh
+
+	* automake.in (handle_texinfo): Typo
+
+	* automake.in: If script ends up in shell, feed to perl
+
+	* automake.in: Rewrote 'clean' rules.
+	Documentation made and installed first.
+	'all' depends on 'info'
+
+Mon Nov 27 23:57:29 1995  Tom Tromey  <tromey@cambric>
+
+	* configure.in, Makefile.am: Turned off internationalization.
+
+	* clean-kr.am: Rewrote for new clean scheme.
+
+	* tags-clean.am: Remove TAGS in distclean, not maintainer-clean
+
+	* Makefile.am (PACKAGEDATA): Include tags-clean.am
+
+	* subdirs.am: Removed bogus local clean targets
+
+	* tags-clean.am: Initial revision
+
+	* texi-version.am: Added clean targets
+
+	* texinfos.am: Fixes to clean targets.
+
+	* texinfos.am, libscripts.am, scripts.am, libraries.am, libprograms.am, programs.am:
+	Added clean targets
+
+	* compile-kr.am (ansi2knr.o): Depend on CONFIG_HEADER
+
+	* automake.in: Completely revamped automatic de-ANSI-fication
+
+	* compile-kr.am: (ansi2knr, $(OBJECTS)): New targets
+
+	* compile-vars.am (LINK): New macro
+
+	* kr-vars.am: Trailing blank line
+
+	* compile-kr.am: Rewrote
+
+	* compile-vars.am (COMPILE): New macro
+
+	* compile-vars.am (ANSI2KNR): Removed
+
+	* Makefile.am (PACKAGEDATA): Removed all sed scripts.  Added kr-vars.am
+
+	* kr-vars.am: Initial revision
+
+	* automake.in (require_file): New function.
+	(handle_texinfo): Require 'mdate-sh'
+	(common_sometimes): New variable
+	(usage): Use it.
+
+	* texi-version.am (stamp-vti): Use Ulrich's mdate-sh script
+
+	* mdate-sh: Initial revision
+
+	* automake.in (handle_footer): Don't define SOURCES or OBJECTS if empty
+
+	* automake.in (generate_makefile):
+	Put Makefile.in, Makefile.am in @dist_common
+	(handle_configure): Use @dist_common as appropriate
+
+	* dist-subd-vars.am, dist-vars.am (DIST_CONF): Removed
+
+	* configure.in: Abort if perl not found
+
+	* configure.in: Look for perl
+
+	* automake.in: Reimplemented in Perl
+
+	* automake.in: Fixlet
+
+Sun Nov 26 08:09:30 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: Always print ".SUFFIXES:" rule.
+
+	* automake.in: Distribution config.h.in if required
+
+	* automake.in: Bug fix when including texi-version.am
+
+	* automake.in: Bug fix when looking for .texi file in $am_reldir
+
+	* depend.am: Comment fix
+
+	* automake.in: Look for .texi file in $am_reldir
+
+	* automake.in: Fixlet
+
+	* automake.in: Blank line after targets from user's Makefile.am
+
+	* automake.in: Move footer items to actual footer
+
+	* automake.in: Include stamp-h.in in DIST_COMMON if necessary
+
+	* automake.in (common):
+	Don't include acconfig.h, config.h.top, config.h.bot
+
+	* Makefile.am (CONFIG_HEADER): Renamed from CONFIG_H
+
+	* Makefile.am (CONFIG_H): Define
+
+	* acconfig.h: Initial revision
+
+	* configure.in: Use AC_CONFIG_HEADER.
+
+	* automake.in: Put blah_TEXINFOS into DIST_COMMON
+
+	* automake.in: .info file explicitly depends on primary .texi file
+
+	* texinfos.am (install-info): Always supply 'else' clause to 'if'
+
+	* tags.am (TAGS): Always supply 'else' clause to 'if'
+
+	* subdirs.am (.NOEXPORT): Removed (now in footer.am)
+
+	* automake.in: Always include footer.am in output
+
+	* mans.am (install-man): Always supply 'else' clause to 'if'
+
+	* automake.in: More version.texi fixes
+
+	* automake.in: Only do version.texi processing if requested.
+
+	* automake.in: Minor internationalization fixes.
+	Subshell can now exit with nonzero status.
+	Fixed up .texi handling; now uses texi-version.am
+	Make sure '.c' and '.o' are in .SUFFIXES if required.
+
+	* Makefile.am (PACKAGEDATA): Include texi-version.am
+	(stamp-vti, version.texi): Removed
+	(TEXINFOS): Don't reference version.texi
+
+	* texi-version.am: Initial revision
+
+	* dist.am, dist-subd-top.am (dist):
+	[DIST_SUBDIRS] Follow symlinks when copying.
+
+	* dist-subd-top.am (dist): Removed unneeded subdir= option to make
+
+Sat Nov 25 23:23:39 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: Added --amdir option
+
+	* Makefile.am, configure.in: Turned on internationalization
+
+	* Makefile.am: Set EDITION
+
+	* configure.in: Version 0.21
+
+	* tags.am, tags-subd.am: Don't use double-colon rules
+
+	* automake.in: Redid install-data, install-exec, uninstall handling
+
+	* configure.in: Turn off i18n
+
+Fri Nov 24 23:51:37 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in (common): Remove NLS
+
+	* automake.in (common): Include ABOUT-NLS.
+
+	* automake.in: Test for install-sh and mkinstalldirs
+
+	* automake.in: Blank line after OBJECTS= line
+
+	* automake.in: Start subshell in loop after check for Makefile.am
+
+	* automake.in: --use-deps now the default
+
+	* automake.in (am_dir): Don't apply transform to install directory name
+
+	* packagedata.am: Don't apply transform to install directory name
+
+	* Makefile.am (SUBDIRS): Hold off on internationalization
+
+Thu Nov 23 18:02:38 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in:
+	Write 'SOURCES =' line after copying Makefile.am variables
+
+	* automake.in: Fixed bug in "--" option processing
+
+	* subdirs.am: ($(RECURSIVE)): Removed trailing \ from last line
+
+	* Makefile.am (DIST_OTHER): Include gettext-sh
+
+	* Makefile.am (SUBDIRS): Define
+
+	* configure.in: Include internationalization bits
+
+	* automake.in: Many changes to avoid double-colon rules.
+
+	* subdirs.am: ($(RECURSIVE)): Print name of target actually used
+
+	* subdirs.am: Removed "::" rules
+
+	* header.am: Removed install, uninstall
+
+	* header.am: Added install, uninstall targets
+
+	* hack-make.sed: Rewrite targets like "all-local" to "all_local"
+
+	* header.am, libraries.am, mans.am, texinfos.am, footer.am:
+	Removed "::" rules
+
+	* Makefile.am (PACKAGEDATA): Include libscripts.am
+
+	* libprograms.am: Don't install libscripts here
+
+	* libscripts.am: Initial revision
+
+	* scripts.am, programs.am, libprograms.am: Removed "::" rules
+
+	* automake.in (am_dir): Run package name through name transform.
+
+	* automake.in: Don't use packagedata.sed or data.sed
+
+	* Makefile.am (PACKAGEDATA): Removed data.sed, packagedata.sed.  Added
+	packagedata.am
+
+	* data.am: No longer run through sed
+
+	* packagedata.am: Initial revision
+
+Wed Nov 22 22:31:02 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: No blank line after Usage
+
+	* automake.in: Removed "NLS nuisances" section.
+	Now uniformly uses $echo for user-visible messages (in advance of
+	internationalization)
+
+	* subdirs.am (maintainer-clean): Don't use realclean-local
+
+	* Makefile.am: Use PACKAGEDATA, not custom code
+
+	* data.am: Use @LONG@, not $(@LONG@)
+
+	* automake.in: Handle DATA and PACKAGEDATA
+
+	* packagedata.sed: Initial revision
+
+	* data.am: Use @DIR@, not $(@DIR@)
+
+	* data.sed: Use $(datadir), not datadir
+
+	* data.sed: Initial revision
+
+	* data.am: Wrote uninstall targets
+
+	* data.am: Initial revision
+
+	* dist-subd.am (dist): Don't link a file that has already been linked
+
+	* dist-subd-top.am, dist.am (dist):
+	Run `automake --include-deps' before making distribution
+
+	* automake.in: More dependency-tracking bug fixes
+
+	* dist-vars.am (DIST_FILES): Rearranged to be like dist-vars-subd.am
+
+	* dist-subd-vars.am (DIST_FILES): Include DIST_COMMON
+
+	* tags-subd.am, tags.am: Added trailing blank line
+
+	* depend.am: Use ".P", not "empty.P", as placeholder.
+
+	* automake.in: Only include depend.am if SOURCES not empty
+
+	* automake.in: Added --use-deps and --include-deps options.
+	Handle auto-generating dependencies.
+
+	* Makefile.am (am_DATA): Include depend.am
+
+	* depend.am: Initial revision
+
+	* automake.in: Look for acconfig.h, config.h.top, and config.h.bot
+
+	* automake.in: Put blank line after .SUFFIXES
+
+	* scripts.am: Added blank line at end
+
+	* scripts.am: Removed unnecessary comment
+
+	* scripts.am: Removed unnecessary workarounds
+
+	* automake.in: Don't include programs.am if PROGRAMS empty
+
+	* header-vars.am (INSTALL_SCRIPT): Typo
+
+	* texinfos.am, compile-kr.am: Don't include .SUFFIXES
+
+	* automake.in: Handle .SUFFIXES here.
+
+	* configure.in: Use fp_PROG_INSTALL
+
+	* header-vars.am: Changes for autoconf 2.5.
+	Now includes INSTALL_SCRIPTS.
+
+	* texinfos.am (install-info): Bug fix
+
+	* automake.in:
+	Include scripts.am or libscripts.am in output if appropriate
+
+	* programs.am (install-programs, uninstall-programs):
+	Don't install SCRIPTS
+
+	* Makefile.am (am_DATA): Include scripts.am
+
+	* scripts.am: Initial revision
+
+Tue Nov 21 09:11:38 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in:
+	Cleaned up how "prog_SOURCES" variable is found in input.
+	Ditto prog_OBJECTS.
+	Put static sed scripts into separate, installed files.
+
+	* Makefile.am (am_DATA): Include hack-make.sed and nl-remove.sed
+
+	* hack-make.sed, nl-remove.sed: Initial revision
+
+	* texinfos.am (install-info): Rewrote
+
+	* subdirs.am (all-recursive): Put with other -recursive rules
+
+	* configure.in: Version 0.20
+
+	* automake.in: Another bug fix
+
+	* automake.in: Bug fix when looking for texinfo.tex
+
+	* texinfo.tex: Initial revision
+
+	* automake.in:
+	If TEXINFOS defined but texinfo.tex does not exist, give warning.
+
+	* subdirs.am (all): Renamed from _all.  Now uses all-recursive
+	(all-recursive): Don't fail immediately if -k specified.
+
+Mon Nov 20 22:48:03 1995  Tom Tromey  <tromey@cambric>
+
+	* subdirs.am (_all):
+	New target.  Now use Jim Meyering's formulation of AIX
+	workaround.
+	(install-exec, install-data): New targets
+
+Sat Nov 18 19:07:30 1995  Tom Tromey  <tromey@cambric>
+
+	* remake.am (Makefile.in): automake "Makefile", not "Makefile.am"
+
+	* automake.in: Use @datadir@
+
+	* automake.in: Added @configure_input@ line
+
+Fri Nov 17 23:32:43 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: "--help" option now prints auto-recognized file names.
+	Allow AM_ overriding of more variables.
+
+	* texinfos.am (install-info):
+	Don't cd to srcdir to avoid breaking install-sh
+	Other bug fixes
+
+	* Makefile.am: Handle automake.texi
+
+Thu Nov 16 18:43:43 1995  Tom Tromey  <tromey@cambric>
+
+	* subdirs.am (all): Separated out due to AIX 3.2.5 bug.
+
+	* tags.am (TAGS): bug fix
+
+	* automake.in: Use am_dir, not AM_DIR.
+	Use version, not VERSION.
+	Bug fix in TAGS code.
+
+	* Makefile.am (am_DATA): Include tags.am and tags-subd.am
+
+	* subdirs.am: TAGS target now in tags.am
+
+	* footer.am: TAGS and ID targets now in tags-subd.am
+
+	* tags-subd.am, tags.am: Initial revision
+
+	* automake.in: Cleaned up AM_PROGRAM code.
+	Handle TAGS target better
+
+	* remake.am, remake-subd.am (Makefile.in): Bug fix.
+
+	* automake.in (usage): Updated
+
+	* remake-subd.am, remake.am:
+	Added rule where Makefile.in depends on Makefile.am
+
+	* automake.in: Entire body of 'for' loop now in subshell
+
+	* automake.in (common): config.guess and config.sub are common files.
+
+	* dist-subd-top.am, dist.am (dist): Bug fix.
+
+	* Makefile.am (DIST_OTHER): Don't include TODO
+
+	* automake.in: Auto-include TODO and THANKS files.
+
+	* dist-subd-top.am, dist.am (dist): Don't depend on DIST_DIRS
+
+	* automake.in: More bug fixes in "look for Makefile.am" code.
+
+	* automake.in: Bug fix in "look for Makefile.am" code.
+
+	* automake.in:
+	If no arguments given, look for all Makefile.am's in this
+	directory and in immediate subdirs
+
+	* automake.in: Bug fixes for LDADD-override feature.
+
+	* program.am: Use @PROGRAM@_LDADD, and put after LDFLAGS
+
+	* automake.in: Allow `prog_LDADD', if specified, to override LDADD.
+
+	* automake.in: Use AM_PROGRAMS, not ALLPROGRAMS, and invert sense.
+
+	* header-vars.am (ALL): Use PROGRAMS, not ALLPROGRAMS.
+
+Wed Nov 15 01:54:43 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: No longer look for _SOURCES or _OBJECTS
+
+	* header-vars.am:
+	Remove "automatically created" header (now in automake).
+	Updated copyright.
+
+	* automake.in: Put version info in Makefile header
+
+Tue Nov 14 23:38:17 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: Minor cleanups
+
+	* dist-subd-top.am, dist.am (dist):
+	Don't link or copy file if it already exists.
+
+	* automake.in:
+	Look for _SOURCES (common sources) and generate _OBJECTS.
+
+	* footer.am (ID, TAGS): Include HEADERS
+
+	* dist-vars.am, dist-subd-vars.am (DIST_FILES): Include HEADERS
+
+Mon Nov 13 22:20:02 1995  Tom Tromey  <tromey@cambric>
+
+	* dist-subd.am (distdir): Is relative to ".."
+
+	* dist-subd-vars.am (PACKAGE, VERSION): Define
+
+	* dist-subd.am (dist): Don't handle DIST_DIRS.
+
+	* mans.am (uninstall-man): Another bug fix.
+
+	* mans.am (uninstall-man): Bug fix.
+
+	* dist.am, dist-subd-top.am (dist): Bug fix
+
+	* Makefile.am (DIST_SUBDIRS): New macro
+
+	* dist-subd-top.am, dist.am (dist): Handle DIST_SUBDIRS
+
+	* Makefile.am (DIST_OTHER): Include automake.in
+
+	* Makefile.am (DISTCLEANFILES): New macro.
+
+	* automake.in (common): Include COPYING.LIB
+
+	* Makefile.am (automake): New rule.
+
+	* texinfos.am (install-info): Changed per GNU standards
+
+	* remake-hdr.am (stamp-h.in):
+	Use "touch", not "date", per GNU standards.
+
+	* automake.in (common): Include texinfo.tex
+
+Sun Nov 12 23:59:08 1995  Tom Tromey  <tromey@cambric>
+
+	* automake.in: More fixes when finding common files.
+
+	* Makefile.am (DIST_OTHER): Another removal.
+
+	* automake.in: Special-case when amdir=.
+
+	* Makefile.am (DIST_OTHER): Removed auto-detected files.
+
+	* automake.in:
+	Search for commonly-used files and auto-include them in distribution
+
+	* dist-vars.am (DIST_FILES): Include DIST_COMMON.
+	(DIST_CONF): Removed files searched for by automake.
+
+	* automake.in: More arg-parsing bug fixes.
+
+	* Makefile.am (DIST_OTHER): Include install-sh
+
+	* Makefile.am (DIST_OTHER): Don't include auto-included files.
+
+	* automake.in: Bug fixes to argument parsing code.
+
+	* automake.in: Handle --version and --help.
+	NLS stuff from autoconf.
+
+	* Makefile.am (amdatadir): Fixed typo.
+	(install): Make install directories
+
+	* Makefile.am: Use "install::", not "install:"
+
+	* install-sh, mkinstalldirs: Initial revision
+
+	* configure.in: Use AC_PROG_INSTALL
+
+	* automake.in: Set AM_DIR based on configure results.
+
+	* Makefile.am (install): New target.
+	(amdatadir): New variable.
+
+	* automake.in: Use "#! /", not "#!/".
+
+	* Makefile.am, configure.in: Initial revision
+
+	* automake.in: Renamed from "automake".
+	Set VERSION.
+
+	* dist.am (PACKAGE, VERSION): Now in dist-vars.am
+
+	* automake.in: Insert remake-subd.am if appropriate.
+
+	* subdirs.am (TAGS): Include $(CONFIG_HEADER) when making tags.
+
+	* automake.in: Handle ALLPROGRAMS variable.
+
+	* header-vars.am (ALL): Use ALLPROGRAMS, not PROGRAMS.
+
+	* automake.in: Fixlet when printing "subdir=DIR"
+
+	* automake.in: Put "subdir=DIR" into subdir Makefile
+
+	* automake.in: Don't refer to distname.am.
+	Only put footer.am in subdir Makefiles.
+
+	* subdirs.am (id, ID): New target.
+	(.NOEXPORT): Copied from footers.am.
+
+	* subdirs.am (TAGS): Bug fixes.
+
+	* subdirs.am (TAGS): Don't fail if a subdir doesn't have TAGS target.
+
+	* subdirs.am (maintainer-clean-local): Remove TAGS
+
+	* subdirs.am (TAGS): Make tags file that includes all subdir tags files
+
+	* subdirs.am: Use maintainer-clean, per GNU standards
+
+	* dist-subd-top.am: Some variables defined in dist-vars.am
+
+	* dist-vars.am (PACKAGE, VERSION):
+	New variables, initialized by configure
+
+	* footer.am (id, ID): New targets
+	(TAGS): Put TAGS file in build, not source, directory
+
+	* remake-subd.am (Makefile): Don't assume subdir is 'src'
+
+	* dist.am: Changed to assume PACKAGE and VERSION are set by configure.
+
+	* dist-subd.am: Changed to conform to new top-level dist target.
+
+	* dist-subd-top.am:
+	Changed to assume PACKAGE and VERSION are set by configure.
+
+	* clean-kr.am, clean.am (maintainer-clean):
+	Updated rules per GNU standards.
+
+	* clean.am, clean-kr.am (maintainer-clean): Renamed from realclean.
+
+Sat Nov  5 14:39:50 1994  djm  <djm@cambric>
+
+	* automake.in, texinfos.am: kludge for multiple-part info files
+
+Thu Nov  3 13:33:44 1994  djm  <djm@cambric>
+
+	* clean.am, clean-kr.am: remove INFOS
+
+Wed Nov  2 06:15:42 1994  djm  <djm@cambric>
+
+	* texinfos.am: add path
+
+	* remake.am, remake-hdr.am: account for VPATH limitations
+
+Mon Oct 24 23:01:59 1994  djm  <djm@cambric>
+
+	* automake.in, dist-subd-top.am, dist-subd.am, dist.am, header-vars.am, libprograms.am, programs.am:
+	handle SCRIPTS and LIBSCRIPTS similar to PROGRAMS
+
+Sun Oct 23 01:50:41 1994  djm  <djm@cambric>
+
+	* texinfos.am: install-info depends on info files
+
+	* dist-subd-vars.am, dist-vars.am: distrib info files
+
+Sun Oct  2 02:03:06 1994  djm  <djm@cambric>
+
+	* clean-kr.am, clean.am: fix up distclean
+
+	* subdirs.am: fix typo
+
+	* clean.am: do more in distclean
+
+Sat Oct  1 23:52:51 1994  djm  <djm@cambric>
+
+	* libraries.am: make install depend on all
+
+	* automake.in: fix typo
+
+Wed Sep 28 21:15:26 1994  djm  <djm@cambric>
+
+	* dist-subd-vars.am, dist-vars.am, header-vars.am: fix doc bugs
+
+	* automake.in, compile-vars.am, dist.am: fix dist for no subdirs
+
+	* dist-subd-top.am: Initial revision
+
+	* automake.in, header-vars.am, libraries-vars.am, mans-vars.am, texinfos-vars.am:
+	centralize prefix var setting
+
+	* header-vars.am: set all the std vars based on prefix
+
+Tue Sep 27 01:32:22 1994  djm  <djm@cambric>
+
+	* automake.in: don't add kr stuff if not needed
+
+	* dist-vars.am: add config vars to dist
+
+Mon Sep 26 23:09:09 1994  djm  <djm@cambric>
+
+	* program.am: add LDADD
+
+	* compile-vars.am: remove LDADD from LDFLAGS
+
+	* clean.am: move knr stuff to another file
+
+	* automake.in: use different clean file for ansi2knr
+
+	* clean-kr.am: Initial revision
+
+Thu Sep 22 03:45:02 1994  djm  <djm@cambric>
+
+	* automake.in, dist-subd.am, dist.am: fix rules and dist
+
+Tue Sep 20 21:29:40 1994  djm  <djm@cambric>
+
+	* compile.am, automake.in: split out knr
+
+	* compile-kr.am: Initial revision
+
+	* libprograms.am: fix typo
+
+	* automake.in, clean.am, compile-vars.am, header-vars.am, libprograms.am:
+	make libprograms work
+
+	* libprograms.am: Initial revision
+
+	* automake.in, compile.am, header-vars.am: fix little bugs
+
+	* compile.am: allow parallel K&R
+
+	* clean.am: remove kerb temps
+
+	* automake.in: fix recognizing start of rules
+
+	* dist-subd.am, dist.am: fix dist
+
+	* automake.in, compile.am, footer.am, texinfos.am: fix ansi2knr
+
+Mon Sep 19 23:39:21 1994  djm  <djm@cambric>
+
+	* automake.in: works on m4 too
+
+	* automake.in, mans.am: works on fileutils
+
+	* automake.in, clean.am, compile.am, dist-subd.am, dist.am, footer.am, header-vars.am, header.am, libraries.am, library.am, mans-vars.am, mans.am, programs.am, remake-hdr.am, remake-subd.am, remake.am, subdirs.am, texinfos.am:
+	works on fileutils except for all
+
+	* automake.in: vars thing
+
+	* header-vars.am: Initial revision
+
+	* texinfos-vars.am, mans-vars.am, libraries-vars.am, dist-vars.am, dist-subd-vars.am:
+	entered into RCS
+
+	* compile-vars.am: Initial revision
+
+	* automake.in: many improvements
+
+	* footer.am: Initial revision
+
+	* dist.am: remove distname
+
+	* automake.in: namespace cleanup
+
+	* distname.am: Initial revision
+
+	* automake.in, clean.am, compile.am, dist-subd.am, dist.am, header.am, libraries.am, library.am, mans.am, program.am, programs.am, remake-hdr.am, remake.am, subdirs.am, texinfos.am:
+	might work
+
+	* mans.am, libraries.am, texinfos.am, library.am, compile.am, program.am, programs.am, clean.am, subdirs.am, remake-subd.am, remake.am, remake-hdr.am, dist.am, dist-subd.am, header.am, automake.in:
+	Initial revision
+
+
+-----
+
+Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/ChangeLog.98
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/ChangeLog.98	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/ChangeLog.98	(revision 3089)
@@ -0,0 +1,2205 @@
+1998-12-22  Marcus G. Daniels  <mgd@chama.santafe.edu>
+
+	* automake.in (handle_dependencies): Transform EXT & PFX in
+	Objective C case.
+
+1998-12-11  Marcus G. Daniels  <mgd@chama.santafe.edu>
+
+	* automake.in: Register Objective C language.
+	(finish_languages): Consider Objective C to be non_c.
+	(lang_objc_rewrite, lang_objc_finish): New functions.
+	(resolve_linker): Recognize OBJCLINK before LINK.
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): Handle empty $config_aux_dir.
+
+	* automake.in (handle_texinfo): Set $conf_pat correctly when
+	config_aux_dir not used.
+	(handle_texinfo): Run maintainer-clean-aminfo rules in srcdir.
+	From Erez Zadok.
+	* texi-vers.am (maintainer-clean-@VTI@): Prefix file names with
+	$(srcdir).  From Erez Zadok.
+	($(srcdir)/stamp-@VTI@): Don't run mdate-sh from srcdir.
+
+1999-01-08  Thomas Tanner  <tanner@gmx.de>
+
+	* depend.am: remove the dependencies (.deps)
+	in "make distclean", not "make maintainer-clean"
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (write_aclocal): Updated copyright.
+	(parse_arguments): Likewise.
+	* automake.in (parse_arguments): Updated copyright.
+	(initialize_global_constants): Likewise.
+
+	* Makefile.am (pkgdata_DATA): Renamed from pkgdata_SCRIPTS.
+	(install-data-hook): New hook.  Report from Petter Reinholdtsen.
+
+	* remake-hdr.am: Provide `else' clause for each `if'.
+
+1999-01-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* remake-hdr.am: recover from removal of config headers, and try
+	to get real timestamps, which is useful for CVS files
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_merge_targets): Don't special-case "-local"
+	targets.  Test all.test.
+
+	* automake.in (handle_texinfo): Prepend $(srcdir) to directory
+	used to find texinfo.tex.  Report from Glenn Amerine.
+
+1999-01-07  Tom Tromey  <tromey@cygnus.com>
+
+	Based on report from Marcus G. Daniels.  Fixes include.test.
+	* automake.in (generate_makefile): Call read_main_am_file.
+	(read_main_am_file): New sub.
+	(read_am_file): Moved header generation code into
+	read_main_am_file.
+
+1999-01-06  Gary V. Vaughan  <garyv@oranda.demon.co.uk>
+
+	* automake.in (require_file_internal): qub perl on win32 hangs
+	on a call to unlink for a non-existant file, which in turn causes
+	tests/symlink.test to hang on win32.  Check that the file exists
+	before unlinking it!
+
+1998-12-24  Thomas Tanner  <tanner@gmx.de>
+
+	* automake.in (handle_ltlibraries): check whether -module was
+	defined for libraries names without 'lib' prefix.
+
+Fri Dec 11 10:20:42 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* compile_f_c_cxx.test: Change to use F77 and F77LINK instead of
+	FC and FLINK, respectively.
+	* flibs.test: same
+	* fnoc.test: same
+	* fo.test: same
+	* fonly.test: same
+	* link_f_c.test: same
+	* link_f_c_cxx.test: same
+	* link_f_cxx.test: same
+	* link_f_only.test: same
+
+Fri Dec 11 10:23:17 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* automake.in, automake.texi: Change all of the Fortran 77 code to
+	use the new `F77' prefix instead of the older `FC' prefix.
+	Specifically this changed FC, FCOMPILE, LTFCOMPILE, FLINK and FLD
+	to F77, F77COMPILE, LTF77COMPILE, F77LINK and F77LD, respectively.
+
+1999-01-05  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (%.o): Use \012, not \n, to avoid losing `tr's.  From
+	Bill Currie.
+	(%.lo): Likewise.
+
+1998-12-22  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* depend2.am: Don't assume backslash can't occur in the middle of
+	filename; it loses on M$W
+
+1998-12-21  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_libraries): Reverted Thomas Tanner's
+	change.  Non-libtool libraries still must fit naming
+	requirements.
+
+1998-12-21  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* automake.in (handle_configure): Dist inputs for AC_OUTPUT.
+
+1998-12-21  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* depend2.am: don't use .p and .P for dependencies; it loses on
+	case-insensitive filesystems.
+	Reported by Henrik Frystyk Nielsen <frystyk@w3.org>
+
+1998-12-20  Thomas Tanner  <tanner@gmx.de>
+
+	* automake.in (handle_libraries, handle_ltlibraries): relax the
+	name checking to not enforce `^lib.*' for the sake of building libtool 
+	modules.
+
+1998-12-21  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (do_one_merge_target): Special case
+	install-data-hook and install-exec-hook.
+	(handle_merge_targets): Removed install-data-hook and
+	install-exec-hook code.  Test insthook.test.
+
+1998-12-16  Tom Tromey  <tromey@cygnus.com>
+
+	* tags.am (ID): Uniquify list of sources.  Report from Jim
+	Meyering.
+
+1998-12-11  Tom Tromey  <tromey@cygnus.com>
+
+	Bug report from Paul D. Smith:
+	* automake.in (handle_merge_targets): Set
+	AM_INSTALL_PROGRAM_FLAGS, not INSTALL_PROGRAM.
+	* header-vars.am (INSTALL_PROGRAM): Added
+	AM_INSTALL_PROGRAM_FLAGS.
+
+1998-12-03  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist): Print prettier banner when
+	`make dist' succeeds.  From Akim Demaille.
+
+1998-12-02  Tom Tromey  <tromey@cygnus.com>
+
+	* configure.in: Upped version to 1.3e (1.3d was just released).
+
+	* configure.in: Upped version to 1.3d.
+
+	* texinfo.tex, config.guess, config.sub, install-sh: New
+	versions.
+	* ansi2knr.c: New version.
+
+	* automake.in (handle_configure): Quote @MAINTAINER_MODE_TRUE@ to
+	avoid problems where AM_MAINTAINER_MODE is put into automake's own
+	configure.in.
+
+	* Makefile.am (cvs-dist): Run `cvs tag' operation in srcdir.
+
+	Some bugs from François Pinard:
+	* automake.in (usage): Remove duplicates in file list.
+
+	* automake.in (usage): Print files in column-major order.
+	(handle_gettext): Only require ABOUT-NLS for GNU programs.
+
+1998-12-01  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.texi (Dist): Documented GZIP_ENV.
+	* automake.in (handle_dist): Define and use GZIP_ENV, not GZIP.
+	(initialize_global_constants): Use GZIP_ENV, not GZIP.
+
+1998-11-27  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (quote_cond_val): Use "\002", not '\002', to
+	represent null string.
+	(unquote_cond_val): Removing all "\002" strings from result.  Test
+	cond7.test.
+
+	* automake.texi: Formatting changes for latest texinfo.
+
+	* automake.in (handle_java): Removed debugging print.
+
+1998-11-18  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (finish_languages): Use CCLD, not CLD.
+
+	* automake.in (finish_languages): Define CLD; use it in LINK
+	definition.
+	(lang_cxx_finish): Define CXXLD; use it in CXXLINK definition.
+	(lang_f77_finish): Define FLD; use it in FLINK definition.
+	(lang_ppf77_finish): Likewise.
+	(lang_ratfor_finish): Likewise.
+
+1998-11-10  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* automake.in (scan_one_configure_file): Recognize
+	AC_F77_LIBRARY_LDFLAGS, and recognize FLIBS as a configure
+	substitution.
+
+	* automake.texi: Fix several little Fortran 77 references to now
+	point to autoconf.texi.  Rename associated Fortran 77 macros from
+	`AM_' to `AC_'.
+
+1998-11-10  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (read_am_file): Handle configure_vars case.  Test
+	pluseq4.test.
+
+1998-11-09  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (read_am_file): `conditional_stack' isn't a
+	function.  Correctly add new value to existing value in `+='
+	case.
+
+1998-10-29  Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
+
+	* automake.in (parse_arguments): Fixed type of -c for copying
+
+1998-10-30  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.texi (Install): Documented DESTDIR more fully.  From
+	Jeff Garzik.
+
+	* automake.in (MACRO_PATTERN): Recognize `+='.
+	(BOGUS_MACRO_PATTERN): Likewise.
+	(read_am_file): Handle `+=' assignments.
+
+1998-10-28  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (maintainer-check): Changed code to be acceptable to
+	bash 2.01.1.
+
+	* automake.in (do_one_clean_target): Special-case config.status.
+	Report from Jeff Garzik.
+
+	* m4/Makefile.am (m4data_DATA): Don't mention f77.m4.
+	* m4/f77.m4: Removed; macro now in autoconf proper.
+
+1998-10-24  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Typo fix in code testing to
+	see if subdir is `.'.  From Raja R Harinath.
+
+	* m4/lispdir.m4: Fixed sed invocation.  From Akim Demaille.
+
+1998-10-20  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_dependency_file): Fixed test on `while' loop.
+	Fixes depend2.test.  Report from Akim Demaille.
+
+1998-10-16  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_ltlibraries): Specify `noinst' when
+	computing valid prefixes.  From Ulrich Drepper.
+
+	* automake.in (scan_dependency_file): Don't give an error if there
+	is text after the last line.  Report from Matthew D. Langston.
+
+	* m4/mktime.m4: Detect glibc mktime bug.  From Jim Meyering.
+
+	* Makefile.am (SUBDIRS): Added `.' again.
+
+	* Makefile.am (EXTRA_DIST): Removed automake.spec.in.  From
+	Matthew D. Langston.
+	(info_TEXINFOS): Removed am-f77.texi.
+
+	* automake.in (handle_ltlibraries): Allow `noinst' LTLIBRARIES.
+	These are libtool convenience libraries.
+
+1998-10-13  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/f77.m4: New file.
+	* m4/Makefile.am (m4data_DATA): Added f77.m4.
+
+Thu Oct  8 15:00:57 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* automake.in (resolve_linker): Put the Fortran 77 linker where it
+	needs to be.
+
+	* automake.in (lang_f77_finish): Add support for Fortran 77.
+
+	* automake.in (f77_extensions): New helper function for function
+	`lang_f77_finish'.
+
+	* automake.in (lang_f77_rewrite): Change to return success.
+
+	* automake.in (scan_one_configure_file): Add test for the Fortran
+	77 compiler.
+
+	* automake.in (finish_languages): Changed tests for "C++ only" to
+	"C++ and/or Fortran 77 only", and renamed `all_cxx' to `non_c'.
+
+	* automake.in: Registered the ppf77 language (`.F' extension) for
+	preprocessed Fortran 77.
+	
+	* automake.in: Registered the ratfor language (`.r' extension).
+
+	* automake.in: Registered Fortran 77 header files with the "header
+	language" (`.inc' extension).
+
+Tue Sep  8 14:50:50 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* automake.texi: Added several new index entries.
+
+Sun Aug 30 16:10:31 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* automake.texi:
+	- Add `@ovindex' (output variable index).
+	- Merge `@defmac' (Autoconf macros) and `@ovindex' to the General
+	  Index.
+
+	* automake.texi (Macros):
+	- Changed the `@table @code' list of macros to `@defmac'.
+	- Add `AC_PROG_FC' and `MDL_F77_LIBRARY_LDFLAGS' to the list.
+
+Tue Aug 11 10:42:39 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* automake.texi (C++): Change `@table' to `@vtable'.
+
+	* automake.texi (Fortran 77): Add Fortran 77 documentation.
+
+1998-10-11  Tom Tromey  <tromey@cygnus.com>
+
+	Preliminary (completely untested) multilib support.
+	* automake.texi (Macros): Document AM_ENABLE_MULTILIB.
+	* m4/Makefile.am (m4data_DATA): Added multi.m4.
+	* Makefile.am (amfiles): Added multilib.am.
+	* automake.in (seen_multilib): New global.
+	(scan_one_configure_file): Recognize AM_ENABLE_MULTILIB.
+	(generate_makefile): Call handle_multilib.
+	(handle_multilib): New function.
+	* multilib.am: New file.
+	* m4/multi.m4: New file.
+
+1998-10-08  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist): Always include configure.in and
+	configure in distribution.  Fixes confdist.test.
+
+	* automake.in (do_one_merge_target): Be silent when running
+	install-exec-am and install-data-am.  Fixes extra3.test and
+	extra4.test.
+
+1998-10-07  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (am_install_var): Added -noextra option.
+	(handle_data): Pass -noextra to am_install_var.
+
+Sun Oct  4 22:24:10 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/winsz.m4 (AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Use
+	3-argument form of AC_DEFINE.
+	* m4/regex.m4 (AM_WITH_REGEX): Use 3-argument form of AC_DEFINE.
+	* m4/ptrdiff.m4 (AM_TYPE_PTRDIFF_T): Use 3-argument form of
+	AC_DEFINE.
+	* m4/protos.m4 (AM_C_PROTOTYPES):Use 3-argument form of
+	AC_DEFINE.
+	* m4/obstack.m4 (AM_FUNC_OBSTACK): Use 3-argument form of
+	AC_DEFINE.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use 3-argument form of
+	AC_DEFINE.
+	* m4/dmalloc.m4 (AM_WITH_DMALLOC): Use 3-argument form of
+	AC_DEFINE.
+
+Tue Oct  6 00:02:15 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (%.lo): Handle case where compiler does not put space
+	before ":".  From Raja R Harinath.
+
+Mon Oct  5 13:05:43 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): AC_CONFIG_HEADER is not
+	obsolete; it simply isn't preferred with automake.
+	(scan_one_configure_file): Likewise for AC_DECL_YYTEXT and
+	AC_PROG_LEX.
+
+	* automake.in (am_line_error): Handle case where variable defined
+	in configure.in.  Fixes test badline.test.
+	(%configure_vars): Redefined meaning of values.
+	(scan_one_configure_file): Set $configure_vars values
+	appropriately.
+
+Sat Oct  3 14:53:34 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_aclocal_m4): Use new MAINTAINER_MODE
+	conditional.
+	(handle_configure): Likewise.
+	(read_am_file): Likewise.
+	(file_contents_with_transform): Likewise.
+	(scan_one_configure_file): Recognize that AM_MAINTAINER_MODE
+	defines a conditional.
+	* automake.texi (Optional): Document new AM_MAINTAINER_MODE.
+	* texi-vers.am ($(srcdir)/@VTEXI@): Look at MAINTAINER_MODE
+	conditional.
+	(maintainer-clean-@VTI@): Likewise.
+	* remake.am ($(srcdir)/configure): Look at MAINTAINER_MODE
+	conditional.
+	* remake-hdr.am ($(srcdir)/@CONFIG_HEADER_IN@): Look at
+	MAINTAINER_MODE conditional.
+	* m4/maintainer.m4 (AM_MAINTAINER_MODE): Defined MAINTAINER_MODE
+	conditional.
+
+1998-10-03  Jim Blandy  <jimb@zwingli.cygnus.com>
+
+	* depend2.am (%.lo): When editing the dependency file to add the
+	.lo file to the targets, allow for whitespace between the end of
+	the filename and the colon.  Some compilers (notably the Cygnus
+	release of GCC 2.7-97r1) put space there: "alist.o : ..."
+
+Sat Oct  3 12:07:21 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Handle case where there is no
+	Makefile in the config header directory.  Fixes test config.test.
+
+Thu Oct  1 00:51:51 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (%.o): Append sed results to .P file in this case
+	too.  From Raja R Harinath.
+
+	* m4/lispdir.m4 (AM_PATH_LISPDIR): Correctly find xemacs and
+	xemacs install directories.  From Robert Bihlmeyer.
+
+	* depend2.am: Don't bother trying to delete source file from
+	list.
+
+	* depend2.am (%.o): Handle deleted header file problem.
+	(%.lo): Likewise.
+
+	* texinfos.am (install-info-am): Handle case where INFO_DEPS is
+	empty.  Reported by Andrew Cagney.
+	(uninstall-info): Likewise.
+	(dist-info): Likewise.
+
+	* automake.in (handle_texinfo): Error if user tries to generate
+	HTML.
+
+Wed Sep 30 00:41:40 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (do_one_clean_target): Don't push previous clean
+	target if this target is `mostly'.  Report from Raja R Harinath.
+
+	* subdirs.am (mostlyclean-recursive ...): Build local_target, not
+	target.  From Raja R Harinath.
+
+	Completely changed how languages and source files are handled:
+	* automake.in: Call register_language for each language.
+	(lang_c_rewrite): New function.
+	(lang_cxx_rewrite): Likewise.
+	(lang_header_rewrite): Likewise.
+	(lang_yacc_rewrite): Likewise.
+	(lang_yaccxx_rewrite): Likewise.
+	(lang_lex_rewrite): Likewise.
+	(lang_lexxx_rewrite): Likewise.
+	(lang_asm_rewrite): Likewise.
+	(lang_fortran_rewrite): Likewise.
+	(register_language): Likewise.
+	(extension_map): New global.
+	(language_map): Likewise.
+	(resolve_linker): New function.
+	(handle_single_transform_list): Rewrote to use lang_X_rewrite
+	functions.  Changed meaning of first argument.
+	(initialize_per_input): Removed seen_any_source.  Initialize
+	language_scratch, extension_seen.  Removed cxx_extensions,
+	seen_c_source, dir_holds_headers, dir_holds_sources.
+	(handle_source_transform): Don't compute $objpat.  Pass $obj
+	directly to handle_single_transform_list.
+	(handle_built_sources): Fixed call to
+	handle_single_transform_list.
+	(lang_c_finish): New function.
+	(lang_cxx_finish): Likewise.
+	(lang_header_finish): Likewise.
+	(lang_yacc_finish): Likewise.
+	(lang_yaccxx_finish): Likewise.
+	(lang_lex_finish): Likewise.
+	(lang_lexxx_finish): Likewise..
+	(lang_asm_finish): Likewise.
+	(lang_fortran_finish): Likewise.
+	(yacc_lex_finish_helper): Likewise.
+	(libtool_compiler): Likewise.
+	(saw_extension): New function.
+	(handle_lib_objects_cond): Use saw_extension, not old variables.
+	(handle_yacc_lex_cxx): Removed.
+	(finish_languages): New function.
+	(get_object_extension): Don't set dir_holds_sources.
+	(handle_headers): Don't set dir_holds_headers.  Instead, call
+	saw_extension.
+	(saw_sources_p): New function.
+	(handle_tags): Use it.
+	(handle_dependencies): Likewise.
+	(cxx_extensions): New function.
+	(handle_dependencies): Use it.
+	(generate_makefile): Call finish_languages, not
+	handle_yacc_lex_cxx.
+
+1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* texi-vers.am: Use the correct target names.  Fix generation of
+	stamp file.
+
+	* automake.in (handle_tests): In commands generating site.exp copy
+	the old contents from site.exp, not site.bak, which does not
+	exist.
+
+Tue Sep 29 00:10:22 1998  Tom Tromey  <tromey@cygnus.com>
+
+	Fixed noinst.test again:
+	* automake.in (do_one_merge_target): Special-case `install-am'.
+	(handle_merge_targets): Don't compute @install variable.
+
+	Fixes for recurs2.test.  Report from Jim Meyering.
+	* automake.in (vars_scanned): Define globally.
+	(variable_value_as_list_worker): Delete $var entry in
+	%vars_scanned after local work is done.
+
+1998-05-26  Marcus G. Daniels  <mgd@ute.santafe.edu>
+
+	* automake.in: New pattern: INCLUDE_PATTERN.
+	(read_am_file):  Make AM_FILE a local filehandle.
+	For INCLUDE_PATTERN, store included paths on @include_stack and call 
+	read_am_file with argument.
+	(handle_configure): When printing the dependencies for
+	Makefile.in, print the items on include_stack (if any) as
+	dependencies, too.
+
+	* automake.texi: Make a command index `cm' that goes into the
+	concept index.  Put if, endif, else, and include in the command index.
+	(Include): Show usage of include directive.  
+
+Mon Sep 28 00:03:45 1998  Tom Tromey  <tromey@cygnus.com>
+
+	`.' in SUBDIRS changes order of builds:
+	* Makefile.am (SUBDIRS): Added `.'.  Put tests last.
+	* tags.am (TAGS): Don't look for TAGS file in `.'.
+	* automake.texi (Top level): Document SUBDIRS change.
+	* automake.in (handle_installdirs): Create separate installdirs-am
+	target.
+	(handle_merge_targets): Don't put all-am onto @all.  Fixed error
+	message.  Correctly handle install-info.  Give error if
+	install-info-local inappropriately defined.  Don't special-case
+	install-data, install-exec, install, uninstall, or all.
+	(handle_subdirs): Don't push `-recursive' target names onto
+	corresponding lists.
+	(do_one_merge_target): Always define `-am' form of rule, and point
+	ordinary form to `-am' or `-recursive' as appropriate.
+	Special-case `all'.
+	(do_check_merge_target): Generate check-am target.
+	(handle_dist_worker): Use target_defined.
+	(handle_dist): Likewise.
+	(handle_merge_targets): Likewise.
+	(do_one_merge_target): Likewise.
+	(do_check_merge_target): Likewise.
+	(do_one_clean_target): Likewise.
+	(initialize_per_input): Initialize $all_target.
+	(do_one_clean_target): Always generate -am form of rule; other
+	changes for new SUBDIRS change.
+	(handle_clean): Always generate clean-am form of rule.
+	(handle_tags): Only build subdir if not `.'.
+	(handle_dist_worker): Skip `.' directory.
+	* subdirs.am: Allow `.' to be specified in SUBDIRS.
+
+Sun Sep 27 20:02:21 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.texi (Dist): Document EXTRA_DIST change.
+	* automake.in (handle_dist_worker): Allow subdirs in EXTRA_DIST.
+
+	* automake.in (handle_ltlibraries): Wrote better comment about
+	EXTRA_LTLIBRARIES.
+
+	* automake.texi (Invoking Automake): Document --copy.
+	* automake.in (copy_missing): New global.
+	(parse_arguments): Recognize --copy/-c.
+	(require_file_internal): Handle $copy_missing.  Fixed error
+	message.
+	(initialize_global_constants): Document -c/--copy.
+
+	* automake.texi: Document LIBOBJS trick.
+
+	* automake.in (handle_dist_worker): If DIST_SUBDIRS defined, use
+	it even when SUBDIRS not conditional.
+
+	* automake.in (quote_cond_val): Turn tabs into \003.
+	(unquote_cond_val): Turn \003 back into tabs.  Fixes test
+	cond6.test.
+
+	* automake.in (read_am_file): Treat backslash-newline as
+	whitespace.  Test parse.test.
+
+Sat Sep 26 19:31:22 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* configure: Rebuilt.
+	* configure.in: Upped version to 1.3c.
+
+	Track recent autoconf changes:
+	* m4/Makefile.in: Rebuilt.
+	* m4/Makefile.am (m4data_DATA): Updated for deleted files.
+	* m4/init.m4 (AM_INIT_AUTOMAKE): Use AC_PROG_INSTALL.
+	* m4/mingw.m4: Removed.
+	* m4/cygwin.m4: Removed.
+	* m4/install.m4: Removed.
+	* m4/exeext.m4: Removed.
+	* automake.in (scan_one_configure_file): Don't look for
+	AM_EXEEXT.
+	(check_cygnus): Only mention AC_EXEEXT.
+	(obsolete_macros): Mention AM_PROG_INSTALL, AM_EXEEXT,
+	AM_CYGWIN32, AM_MINGW32.
+	($seen_prog_install): Changed interpretation; changed all users.
+	(scan_one_configure_file): Don't look for AM_PROG_INSTALL.
+	($scripts_installed): Removed.
+	(handle_scripts): Use local $scripts_installed.
+	* aclocal.in (obsolete_macros): Added AM_PROG_INSTALL, AM_EXEEXT,
+	AM_CYGWIN32, AM_MINGW32.
+
+Mon Jul  6 14:52:49 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* compile.am (mostlyclean-compile): If OBJEXT, remove *.$(OBJEXT)
+	along with *.o.
+
+Thu May 28 18:49:47 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (seen_objext): New variable.
+	(get_object_extension): If seen_objext, use .$(OBJEXT) rather than
+	.o.  When including compile.am, keep or discard OBJEXT lines
+	according to whether seen_objext is set.  If seen_objext, add .obj
+	to @suffixes.  If seen_objext, use .$(OBJEXT) rather than .o when
+	building ansi2knr.
+	(handle_yacc_lex_cxx): If seen_objext, add a rule to create .obj
+	files.  If seen_objext, use .$(OBJEXT) rather than .o when
+	building ansi2knr.
+	(scan_one_configure_file): Check for .obj as well as .o in
+	LIBOBJS.  Set seen_exeext if we see AC_EXEEXT.  Look for
+	AC_OBJEXT, and if found set seen_objext and set OBJEXT in
+	configure_vars.
+	(check_cygnus): Change error message to permit AC_EXEEXT.
+	* compile.am: Add OBJEXT lines for .c.obj compilation.
+	* Makefile.in: Rebuild.
+	* m4/Makefile.in: Rebuild.
+	* tests/Makefile.in: Rebuild.
+
+Mon Sep 11 16:07:55 1997  Chris Provenzano <proven@cygnus.com>
+
+	* header-vars.am: SHELL=@SHELL@
+	Ran aclocal, autoconf, and automake.
+
+Sat Sep 26 16:31:29 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* ltlib.am: Use $(INSTALL) and not $(INSTALL_DATA).
+
+Mon Sep 14 08:27:38 1998  Per Cederqvist  <ceder@lysator.liu.se>
+
+	* automake.in (handle_texinfo): The logic for when to provide
+	texinfo.tex was broken.  Attempt to fix.
+
+Mon Sep 14 00:55:12 1998  Per Cederqvist  <ceder@lysator.liu.se>
+
+	Fix for Dynix 3.1.1.
+	* automake.in (handle_yacc_lex_cxx): Transform "# " to "#line";
+ 	some compilers (such as /bin/cc on Dynix 3.1.1) don't accept the
+ 	output from the preprocessor.
+
+Tue Aug 25 18:40:51 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_tests): Don't create site.exp target if it
+	is already in Makefile.am.
+
+Sun Aug 16 23:26:26 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Use @inputs, not
+	@rewritten_inputs, when constructing CONFIG_FILES.  Use different
+	list to test for file existence.  Test colon6.test.
+	(rewrite_inputs_into_dependencies): Added add_srcdir argument.
+	Updated all callers.
+
+Wed Aug 12 14:16:57 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.3b.
+
+Tue Aug 11 12:18:59 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_clean): Added missing close-paren.  Quote
+	`$' so it doesn't expand when replacing.  From Markus
+	F.X.J. Oberhumer.
+
+	* aclocal.in (usage): Changed bug address.
+	* automake.in (usage): Changed bug address.
+
+	* clean.am (distclean-generic): Don't mention
+	DISTCONFIGCLEANFILES.  From Markus F.X.J. Oberhumer.
+
+Mon Aug 10 20:57:35 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_yacc_lex_cxx): Redirect ansi2knr output to
+	correct file.  From Kave Ghazi.
+
+Sun Aug  2 16:05:16 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.3a.
+
+	* config.sub, config.guess, texinfo.tex: New versions from FSF.
+
+Sun Jul 19 00:04:25 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (variable_conditions): Initialize %vars_scanned.
+	(variable_conditions_sub): Check it.  Test cond5.test.
+
+Sat Jul 18 00:24:14 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (variable_value_as_list_worker): Renamed from
+	variable_value_as_list.  Set entry in vars_scanned, and give error
+	if variable recursively defined.  Test recurs.test.
+	(value_to_list): Call it instead.
+	(variable_value_as_list): New function.
+
+	* automake.in (variable_conditions_sub): If var is not
+	conditional, but does have conditional subvariables, then return
+	value should be all permutations of subvariable conditions.  Test
+	cond4.test.
+	(handle_source_transform): Define _OBJECTS variable with each
+	condition; no need to define multiple new variables.
+
+Fri Jul 17 12:56:14 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (am_install_var): Use DESTDIR, not DATADIR.  From
+	Motoyuki Kasahara.
+
+	* automake.in (scan_dependency_file): Recognize DOS-style paths as
+	absolute.
+	* ylwrap: Recognize DOS-style paths as absolute.  From Ian Lance
+	Taylor.
+
+Fri Jul 17 07:37:20 1998  H.J. Lu  (hjl@gnu.org)
+
+	* ylwrap: Don't use absolute path if the input is in the
+	current directory.
+
+Fri Jul 17 11:58:27 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in: Use $(AM_MAKEFLAGS) in every invocation of $(MAKE).
+  	* subdirs.am: Likewise.
+
+Thu Jul 16 18:09:03 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* remake.am (config.status): Depend upon
+	$(CONFIG_STATUS_DEPENDENCIES).
+	* automake.in (handle_configure): Examine
+	CONFIG_STATUS_DEPENDENCIES.
+
+Tue Jul 14 13:37:48 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am: Always look in srcdir for automake.in.
+
+Tue Jun 23 14:00:27 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* progs.am: Don't let $(EXEEXT) interfere with $(transform).
+	Report from Mike Stump <mrs@wrs.com>.
+
+Tue Jun  2 13:27:34 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): Make CONFIGURE file
+	handle local.  From Kevin Street.
+
+	* automake.in (read_am_file): Error if blank line or comment
+	follows trailing backslash.  Test syntax.test.
+	(file_contents_with_transform): Likewise.
+
+Thu May 28 18:49:47 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (handle_configure): Always use $(SHELL) when running
+	config.status.
+
+Mon Jun  1 14:23:29 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_yacc_lex_cxx): Use AM_CPPFLAGS, AM_CXXFLAGS,
+	AM_CFLAGS.
+	(output_yacc_build_rule): Use AM_YFLAGS, AM_LFLAGS.
+	(handle_dependencies): Don't define CXXMKDEP.
+
+	* clean.am (mostlyclean-generic): Prefix rule with MOSTLYCLEAN.
+	(clean-generic): Prefix rule with CLEAN.
+	(distclean-generic): Prefix rule with DISTCLEAN.
+	(maintainer-clean-generic): Prefix rule with MAINTAINERCLEAN.
+	BUILT_SOURCES now handled in automake itself.
+	* automake.in (initialize_per_input): Initialize
+	maintainer_clean_files.
+	(handle_yacc_lex_cxx): Put lex and yacc output files onto
+	@maintainer_clean_files.
+	(handle_clean): Handle @maintainer_clean_files.  Transform
+	clean.am when installing; try to remove unnecessary tests in
+	generated code.
+
+	* automake.in (do_check_merge_target): Only generate $(MAKE)
+	command if there are check targets to make.  Report from Karl
+	Heuer.
+
+Sun May 17 23:05:55 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (write_aclocal): Fixed generated copyright message.
+	From Eleftherios Gkioulekas.
+
+	* automake.in (parse_arguments): Typo fix from Paul D. Smith.
+
+Fri May  8 12:14:03 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_yacc_lex_cxx): Put lex and yacc output files
+	onto @clean.
+
+Wed May  6 01:18:05 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* header-vars.am (DESTDIR): Changed from DISTDIR.
+
+Fri Apr 24 10:16:20 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* libs.am: Don't display loop while it runs.
+
+Sun Apr  5 13:58:24 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.3.
+
+	* automake.in (handle_options): Correctly handle trailing alpha
+ 	version letter or lack thereof.  Test version3.test.
+
+	* automake.in (am_conf_line_warning): Perl 4 fixlet; typo fix.
+
+	* automake.in (handle_ltlibraries): Examine _DEPENDENCIES
+	variable.  Report from Chris Provenzano.  Test library.test.
+	(handle_libraries): Likewise.
+
+	* m4/lex.m4: Allow AM_PROG_LEX to be called with no arguments.
+
+Sun Apr  5 13:54:25 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
+
+	* automake.in (scan_one_configure_file): Only warn about
+	AC_DECL_YYTEXT and AC_PROG_LEXX.
+	(am_conf_line_warning): New function.
+
+Fri Apr  3 15:43:46 1998  Doug Evans  <devans@seba.cygnus.com>
+
+	* automake.in (handle_configure): Fix setting of colon_infile
+	in case where multiple files are used to build Makefile.
+	[ Test colon5.test ]
+	
+Fri Apr  3 13:07:58 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi2knr.c, texinfo.tex: New versions from respective
+	maintainers.
+
+	* automake.in (scan_one_configure_file): Exclude INSTALL_DATA from
+	configure_vars.  Test instdata.test.
+
+Tue Mar 31 21:07:42 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_yacc_lex_cxx): Changed to use new version of
+	ansi2knr.
+	* ansi2knr.c: New version from L. Peter Deutsch.
+
+Thu Mar 26 11:00:04 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/exeext.m4: Correctly eliminate bad cases when computing
+	am_cv_exeext.  Report from Markus F.X.J. Oberhumer.
+
+Wed Mar 25 15:09:56 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_options): Support alpha version numbers.
+
+	* lisp.am (install-@DIR@LISP): Allow .el files to appear in build
+	directory.  From Gary V Vaughan.
+
+Mon Mar 23 07:55:04 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.2h.
+
+	* header.am (install-@DIR@HEADERS): A header can appear in the
+	build directory as well as the source directory.  From Gary V
+	Vaughan.
+
+	* automake.in (handle_yacc_lex_cxx): Push lib sources onto
+	de_ansi_files before generating ._c dependencies.  Test
+	libobj8.test.
+
+	* m4/mktime.m4: New version from Jim Meyering.
+
+	* aclocal.in (usage): Document --print-ac-dir.
+	(parse_arguments): Added --print-ac-dir.
+
+	* ansi2knr.c, ansi2knr.1: New versions from ghostscript.
+	(main): Reapplied "-" change from Harlan Stenn.
+
+Fri Mar 20 22:42:30 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): Use &am_conf_line_error,
+	not warn.  Check to make sure warnings happen only for
+	configure.in, not for "not aclocal.m4".
+
+Fri Mar 20 22:35:31 1998  Alexandre Oliva <oliva@dcc.unicamp.br>
+
+	* automake.in: understand AM_PROG_LEX as a replacement for
+	AC_PROG_LEX and AC_DECL_YYTEXT
+	warn if the replaced macros are used.
+	* m4/Makefile.am: add lex.m4
+	* m4/lex.m4 (AM_PROG_LEX): new file and macro
+	* missing: added lex/flex support
+	instead of touching flex and bison output files, try to copy
+	them from a filename based on the last given argument
+
+Fri Mar 20 00:26:10 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/protos.m4: Require AC_PROG_CPP.
+
+	* aclocal.in (add_file): If &search fails, and macro matches AM_,
+	then print error.  Test aclocalii.test.
+
+	De-ansi-fication fixes from Harlan Stenn:
+	* ansi2knr.c (main): Accept "-" argument to mean stdin.
+	* automake.in (handle_yacc_lex_cxx): Preprocess C source before
+	running through ANSI2KNR.
+	(get_object_extension): Generate rule for <dir>/ansi2knr.o.
+
+	* texinfos.am: Include $(DESTDIR).
+	* lisp.am: Include $(DESTDIR).
+	* java.am: Include $(DESTDIR).
+	* mans.am (install-man@SECTION@): Include $(DESTDIR).
+	* automake.in (handle_man_pages): Include $(DESTDIR) in
+	installdirs variable.
+	(handle_texinfo): Likewise.
+	(am_install_var): Likewise.
+	* header-vars.am (DISTDIR): Define.
+	* data.am, header.am, libs.am, ltlib.am, progs.am, scripts.am:
+	Support $(DESTDIR) at install time.  From Assar Westerlund.
+
+	* automake.in (handle_java): Put Java sources in distribution.
+
+Thu Mar 19 01:33:35 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_java): Put JAVACFLAGS after -d option.  From
+	Per Bothner.
+
+	* automake.in (handle_java): Use $(JAVAROOT) in place of `../..'
+	in default CLASSPATH.
+	(am_install_var): Allow `JAVA' variable to be defined.  Don't
+	define `JAVA' primary.
+
+	* automake.in (scan_one_configure_file): Check for `sinclude' and
+	turn into recursive call.
+
+	* automake.in (initialize_per_input): Set $output_all.
+	(generate_makefile): Don't set $output_header or generate
+	`default' target.  Print $output_all before $output_header.
+	(handle_merge_targets): Put `all' target into $output_all.
+
+Wed Mar 18 14:48:44 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Put secondary dependencies from
+	multi-":" AC_OUTPUT entry into dependency list for file created by
+	config.status, not file created by automake.  Test colon3.test.
+	(generate_makefile): Pass $output, not $makefile, to
+	handle_merge_targets.
+
+	* Makefile.am (pkgdata_DATA): Added java.am, java-clean.am.
+	* java-clean.am: New file.
+	* java.am: New file.
+	* automake.in (generate_makefile): Call handle_java.
+	(handle_java): New sub.
+	(am_install_var): Only push primary variable on @all if not doing
+	Java.
+
+Sun Mar  8 15:43:09 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): When recognizing AC_OUTPUT ":"
+	syntax, make regexp less greedy.  From Maciej W. Rozycki.  Test
+	colon4.test.
+
+Fri Mar  6 21:20:53 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/exeext.m4 (AM_EXEEXT): Ignore am_c_test.o.  From Bruno
+	Haible.
+
+Tue Feb 24 12:10:44 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.2f.
+
+	* mans.am (install-man@SECTION@, uninstall-man@SECTION@): Quote
+	`$' in sed expression.
+
+	* config.guess, config.sub, texinfo.tex: New versions from FSF.
+
+	* Makefile.am (pkgdata_DATA): Added mans.am.
+	* automake.in (handle_man_pages): Rewrote for new man page
+	handling.
+	(initialize_global_constants): Removed install_man_format,
+	uninstall_man_format.
+	* mans.am: New file.
+
+	* data.am, header.am, libs.am, lisp.am, ltlib.am, progs.am,
+	scripts.am, texinfos.am: Put `@' before NORMAL_UNINSTALL
+	invocation.
+
+Mon Feb 23 13:38:56 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (get_object_extension): Remove .c.lo rule from
+	libtool when dependencies turned on.
+	* libtool.am (.c.lo): Disable when dependency checking turned on.
+
+	Dependency fixes from Alexandre Oliva:
+	* automake.in (handle_dependencies): Fixed quoting when
+	substituting @PFX@ and @EXT@.  Don't look for the `.P' file.
+	* depend2.am (%.o): Use @PFX@ and @EXT@.
+	(%.lo): New rule.
+
+	* texinfos.am (.txi.info, .txi.dvi, .txi): New rules.
+	* automake.in (handle_texinfo): Recognize .txi files.  From Karl
+	Berry.
+
+	* automake.in (handle_single_transform_list): $objpat now a
+	parameter.  Set $objpat when suffix rule found.
+
+	* aclocal.in (parse_arguments): Only put current year in --version
+	output.
+	* automake.in (parse_arguments): Only put current year in
+	--version output.
+
+Mon Feb 16 00:12:03 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_aclocal_m4): When processing -I options,
+	directory is separate argument.  Test aclocali.test.
+
+Fri Feb 13 14:35:39 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (handle_texinfo): Correct condition for whether
+	texinfo.tex is required.  [Test texinfo5.test]
+
+Fri Feb 13 00:28:53 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.2e.
+
+	* Makefile.am: Removed bogus line.
+
+Thu Feb 12 22:27:05 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (get_object_extension): Conditionally include .c.o
+	rule from compile.am.
+	(handle_dependencies): Generate correct code when including new
+	depend2.am.
+	(file_contents_with_transform): Better error reporting.
+	* depend.am (MKDEP): Removed.
+	(.deps/.P): Removed.  Don't include .deps/.P.
+	* compile.am (.c.o): Now conditional on dependencies not being
+	generated by compiles.
+	* depend2.am (%.o): New rule.
+	(.deps/%.P): Removed.
+
+	* tags.am (TAGS): Uniquify list of files.  From Harlan Stenn.
+
+	* aclocal.in (scan_m4_files): Reverse-sort keys when constructing
+	`search' function.  From Johan Danielsson.
+
+Tue Sep 16 14:13:15 1997  Paul D. Smith  <psmith@baynetworks.com>
+
+	* automake.in: Create new option --generate-deps.  This option has
+	automake generate a .dep_segment file containing just the
+	dependencies created from the .P list.  This is needed to maintain
+	other makefiles that automake doesn't deal with (Makefile.DOS,
+	SMakefile, etc.)
+	* automake.texi (Invoking Automake): Document it.
+
+Thu Feb 12 19:45:16 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (scan_configure): Tightened regexp a bit.  Test
+	whoami.test.  From Johan Danielsson.
+
+	Report from H.J. Lu.
+	* automake.in (output_yacc_build_rule): Don't write rule to create
+	`.h' file.
+	(handle_yacc_lex_cxx): Generate rule to build each .h file.
+
+	* automake.in (handle_options): Set readme-alpha and check-news
+	for Gnits after main processing.  Test alpha.test.  From Jim
+	Meyering.
+
+	* aclocal.in (usage): Updated bug-reporting address.
+	* automake.in (usage): Updated bug-reporting address.
+
+	* compile.am: Remove *.core for 4.4BSD systems.  From Assar
+	Westerlund.
+
+	* automake.in (handle_single_transform_list): Don't set
+	seen_any_source if all sources are C++.
+
+Wed Feb 11 17:30:01 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (write_aclocal): Write to $output_file, not
+	aclocal.m4.  From Alexandre Oliva.
+
+Thu Feb  5 13:38:55 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): Put CXCPP before CXX in
+	regexp.  From Garth Corral.  Test cxxxcpp.test.
+
+Sun Jan 25 11:16:53 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (generate_makefile): Run handle_minor_options before
+	handle_dist, to make sure README-alpha ends up in distribution.
+	From Jim Meyering.
+
+Tue Jan 13 09:19:33 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (add_file): Hack for Perl 4.  From Seth Alves.
+
+Thu Dec 11 12:29:46 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* scripts.am: Don't add @EXEEXT@ to installed scripts.  Scripts
+	are not executables.
+
+Tue Dec  2 20:07:18 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (initialize_global_constants): Bug fix in
+	uninstall_man_format.  Report from Eric Backus.
+
+Mon Dec  1 13:52:39 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_source_transform): Correctly generate
+	_OBJECTS when _SOURCES is defined conditionally.  Reported by Rob
+	Savoye.  Test cond3.test.
+
+	Fixes for test objc.test:
+	* automake.in (initialize_per_input): New global seen_any_source.
+	(handle_yacc_lex_cxx): Use seen_any_source to decide when to
+	define LINK, et al.
+	(handle_single_transform_list): Set seen_any_source.
+	(handle_lib_objects_cond): Likewise.
+
+Wed Nov 26 13:41:57 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.2d.
+
+	* m4/ccstdc.m4: Don't force AM_PROG_CC_STDC before AC_PROG_CPP.
+	Temporary hack.
+
+	* m4/mktime.m4 (AM_FUNC_MTIME): New version from Paul Eggert.
+
+	* header-vars.am (NORMAL_INSTALL, PRE_INSTALL, POST_INSTALL,
+	NORMAL_UNINSTALL, PRE_UNINSTALL, POST_UNINSTALL): Define as `:',
+	not `true'.
+
+	* automake.in (output_yacc_build_rule): Don't overwrite .h file in
+	non-ylwrap case.
+
+	* tags.am (ID): Scan lisp files.
+	(TAGS): Make tags for lisp files.
+
+Tue Nov 25 14:20:42 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* ltlib.am: Use INSTALL_DATA, not INSTALL_PROGRAM.  From Gord
+	Matzigkeit.
+
+Fri Nov 21 15:15:50 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/mingw.m4, m4/cygwin.m4: Argument to AC_TRY_COMPILE is
+	function body, not entire function.  From Ian Taylor.
+
+Sat Oct 25 12:39:19 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): Skip empty string for
+	Perl 4.  From Assar Westerlund.
+
+	* config.guess, config.sub, texinfo.tex: New versions from FSF.
+
+Fri Oct 24 23:15:09 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (output_yacc_build_rule): Use YFLAGS again.
+	(handle_yacc_lex_cxx): Error if YACCFLAGS used.
+
+Wed Aug 27 19:26:45 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
+
+	* compile.am: Add suffix rules for ".s.o" and ".S.o" so assembler
+	files can be used.
+	* libtool.am: Add suffix rules for ".s.lo" and ".S.lo" so assembler
+	files can be used.
+	* automake.in: Add .S and .s to the standard list of suffixes so
+	assembler files can be used.
+
+Fri Oct 24 13:39:01 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/exeext.m4: Require AM_MINGW32.  Check MINGW32 setting.
+
+Thu Oct 23 21:16:28 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/init.m4 (missing_dir): AC_REQUIRE AM_SANITY_CHECK,
+	AC_ARG_PROGRAM, and AC_PROG_MAKE_SET.
+
+Tue Oct 21 16:49:36 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_options): Recognize `cygnus'.
+
+Tue Sep  9 17:09:47 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
+
+	* m4/mingw.m4: New file for mingw32 support.
+	* m4/exeext.m4: Also check for the mingw32 environment.
+
+Tue Oct 21 00:39:44 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/Makefile.am (m4data_DATA): Added mingw.m4.
+
+	* automake.in (handle_lib_objects_cond): Don't require @LEXLIB@.
+	(handle_programs): Likewise.
+
+	* subdirs.am (check-recursive installcheck-recursive
+	info-recursive dvi-recursive): Handle case when SUBDIRS is empty.
+	(maintainer-clean-recursive): Likewise.  From Assar Westerlund.
+
+	* aclocal.in (scan_m4_files): If macro recognized, &search will
+	return 1.
+	(scan_configure): If AM_ macro not found, give error.
+
+	* m4/sanity.m4: If `ls' completely fails, die.  From Jim
+	Meyering.
+
+Mon Oct 20 16:13:48 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_single_transform_list): Fixlet for Fortran.
+	From Bernard Urban.
+
+	* libtool.am: Remove _libs, for libtool 1.0d.  From Gord
+	Matzigkeit.
+
+Sun Oct 19 22:59:35 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am: Bug fix.  From John W. Coomes.
+
+Mon Sep 29 12:57:00 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.2c.
+
+	* automake.in (handle_dist_worker): In topmost directory of
+	project, use `distdir', not `top_distdir', as argument to
+	--output-dir; likewise when building in subdirs.
+
+Sun Sep 28 15:55:46 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/sanity.m4: Test $*, not $@.  From Akim Demaille.
+
+	* automake.in (handle_minor_options): New sub.
+	(check_gnits_standards): Don't handle README-alpha here.
+	(handle_dist_worker): Check NEWS file if `check-news' option
+	requested.
+	(generate_makefile): Run handle_minor_options.
+	(handle_options): Handle readme-alpha and check-news.  Set them if
+	--gnits.
+
+	* depend.am (MKDEP): Use $(CC), not gcc.
+
+Wed Sep 24 23:48:26 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Release 1.2b.
+
+	* m4/ccstdc.m4 (AM_PROG_CC_STDC): Make sure this is run before
+	AC_PROG_CPP.  From Markus Oberhumer.
+
+Fri Sep 12 00:04:19 1997  Paul Eggert  <eggert@twinsun.com>
+
+	* m4/ccstdc.m4 (AM_PROG_CC_STDC): Don't look at __STDC__;
+	look only at whether function prototypes are supported.
+
+Wed Sep 24 16:10:37 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Various: Put "-" before each `rm' line.  This avoids a bug in
+	some losing makes (Ultrix, 4.3 BSD).
+
+	* automake.in (handle_dist_worker): Correctly handle subdirs that
+	have their own configure.in.  From Peter Mattis.
+
+	* automake.in (handle_yacc_lex_cxx): Handle de-ansi-fied sources
+	in srcdir as well as build dir.
+
+	* automake.in (scan_one_configure_file): Detect AC_OUTPUT().
+	(handle_single_transform_list): Don't apply length() to a list.
+
+	* automake.in (handle_programs): Define _DEPENDENCIES variable if
+	not defined by user.
+
+Thu Sep 18 19:43:38 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/sanity.m4: Quote "$@" for m4.  From Gord Matzigkeit.
+
+Mon Sep  1 23:50:38 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): Set need_texi_file only when
+	TEXINFO_TEX not defined.
+
+Thu Aug 28 09:37:29 1997  Tom Tromey  <tromey@cygnus.com>
+
+	From Juergen Erhard:
+	* automake.in (SUFFIX_RULE_PATTERN): New global.
+	(handle_single_transform_list): If suffix matches a source suffix,
+	rewrite.
+	(read_am_file): Add suffix rules to %suffix_rules.
+	(initialize_per_input): Initialize %suffix_rules.
+
+Wed Aug 27 12:56:50 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): Also remove .kys and .ps files.
+
+	* automake.in (handle_yacc_lex_cxx): Quoting fixlet.  From Kaveh
+	Ghazi.
+
+	* aclocal.in (write_aclocal): Print copyright and copying
+	permissions.  From RMS.
+	* automake.in (initialize_global_constants): More copyright stuff
+	from RMS.
+
+	* automake.in (handle_texinfo): Only require texinfo.tex in
+	appropriate situations.  Report from Paul D. Smith.
+
+Mon Aug 25 15:45:52 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_dependency_file): Fix so that
+	OMIT_DEPENDENCIES will work.  From Alexander Lukyanov.
+
+	* automake.in (handle_texinfo): texi2dvi can generate `.cn'
+	files.  From Akim Demaille.
+
+Wed Aug  6 10:51:37 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): Reversed sense of test.
+
+Tue Aug  5 17:49:54 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dependencies): Always mark OMIT_DEPENDENCIES
+	as seen.
+
+	* automake.in (handle_yacc_lex_cxx): Make each _.c file depend on
+	ansi2knr.
+
+	* automake.in (handle_yacc_lex_cxx): Fix for makes which don't
+	allow $< in non-suffix rules.  From Akim Demaille.
+
+	* automake.in (value_to_list): If variable name contains configure
+	substitution, then just ignore it.
+
+	* automake.in (variable_defined): Mark variable is seen, even if
+	only conditionally seen.
+
+	* Makefile.am: Check for bad splits.
+	* automake.in (various): Use split(' ',...), not split(/ /,...).
+
+Tue Aug  5 14:08:51 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ylwrap: If the program is a relative path, force it to be
+	absolute.
+
+Tue Aug  5 16:59:41 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* missing: Examine A[CM]_CONFIG_HEADER for name of files to
+	touch.  From Markus F.X.J. Oberhumer.
+
+	* automake.in (require_file_internal): Better error message when
+	installing.
+
+	* automake.in (handle_texinfo): Smarter test when deleting output
+	of makeinfo.
+
+Sat Aug  2 13:32:45 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (do_check_merge_target): In --cygnus mode, check
+	doesn't depend on all.
+
+	* automake.in (output_yacc_build_rule): Use YACCFLAGS, not
+	YFLAGS.  Per GNU Standards.
+
+	* dejagnu.am (RUNTESTDEFAULTFLAGS): New macro.
+	(check-DEJAGNU): Use it.
+
+	* subdirs.am (maintainer-clean-recursive): Actually reverse subdir
+	list.  From Alexander Lukyanov.
+
+	* automake.in (initialize_global_constants): Changed generated
+	copyright.  From RMS.
+
+	* automake.in (handle_configure): Pass correct value for
+	CONFIG_FILES.  From Ian Taylor.
+
+Thu Jul 31 17:36:10 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ylwrap (pairlist): Shift out trailing "--"; don't pass it to
+	$prog.
+
+Thu Jul 24 00:52:02 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (initialize_global_constants): Changed index names
+	in dist hash so that alternate dist targets will be generated.
+	Report from Glenn Amerine.
+
+	Suggestion from Karl Berry:
+	* automake.in (usage): Added short info line.
+
+	* aclocal.in (usage): Updated bug-reporting address.  Added short
+	info line.
+
+	* automake.in (handle_emacs_lisp): Put contents of lisp-clean.am
+	into output.  Report from Karl Berry.
+
+Mon Aug 25 16:14:32 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Only generate ":" syntax for
+	CONFIG_FILES when really needed.
+
+Wed Aug  6 14:47:12 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* remake-hdr.am (@CONFIG_HEADER@): Use a dummy command to force
+	GNU make to recheck the file modification time.
+
+Tue Aug  5 14:44:10 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ylwrap: If the program is a relative path, force it to be
+	absolute.
+
+Mon Aug  4 14:52:08 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in ($RULE_PATTERN): Accept $ in body of rule name.
+ 	(handle_programs): Don't append $(EXEEXT) if the
+	program name contains '.'.
+	(am_install_var): When rewriting _PROGRAMS, don't append $(EXEEXT)
+	if the program names contains '.'.  Also, handle conditionals.
+
+Sat Aug  2 14:43:41 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/exeext.m4: Fixed quoting.
+
+	* m4/exeext.m4 (am_cv_exeext): Use echo, not ls.
+
+	* automake.in (handle_programs): Transform @EXEEXT@ when including
+	program.am.
+
+Fri Aug  1 17:09:09 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_programs): Don't transform CYGWIN or
+	NOTCYGWIN.
+	(am_install_var): Likewise.
+
+	* progs-clean.am (clean-@DIR@PROGRAMS): Never include EXEEXT.
+
+	* progs.am: Removed @EXEEXT@; it is now implicit.
+	* program.am: Add @EXEEXT@ in appropriate places; removed
+	cygwin-dependent code.
+	* automake.in (seen_exeext): Renamed from seen_cygwin32.
+	(handle_programs): Use seen_exeext.
+	(scan_one_configure_file): Look for AM_EXEEXT, not AM_CYGWIN32.
+	(check_cygnus): Use seen_exeext.
+	(am_install_var): Likewise.
+	(am_install_var): When handling PROGRAMS primary, append EXELIST
+	to program names as necessary.
+	* m4/exeext.m4: Require AM_CYGWIN32.
+
+Thu Jul 31 17:36:10 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* ylwrap (pairlist): Shift out trailing "--"; don't pass it to
+	$prog.
+
+	* texinfos.am: Add -I $(srcdir) when invoking $(MAKEINFO) for
+	CYGNUS .texinfo.info case and .texinfo case.
+
+	* automake.in (handle_configure): Correct handling of inputs for
+	for AC_OUTPUT files when invoking config.status.
+
+Mon Jul 28 15:29:25 1997  Rob Savoye  <rob@chinadoll.cygnus.com>
+
+	* m4/cygwin.m4: Set a variable CYGWIN32, rather than EXEEXT.
+	* m4/exeext.m4: New autoconf test for an executable suffix.
+	* m4/Makefile.in: Install the new exeext.m4 test.
+
+Sun Jun 22 14:01:59 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Released version 1.2.
+
+	* automake.in (handle_texinfo): Look for texinfo.tex in aux dir.
+
+	* automake.in (require_file_internal): Only print "installing"
+	when actually installing.  From Gord Matzigkeit.
+
+	* automake.in (handle_tests): Exit status `77' means `ignore
+	test'.  From François Pinard.
+	(handle_tests) Also, make banner same size as text.
+
+	* automake.in (handle_configure): Don't handle PRE_BUILT_SOURCES.
+	(handle_built_sources): Likewise; don't have `all' depend on
+	BUILT_SOURCES.
+
+	* depend.am (DEPS_MAGIC): New variable.
+	(.deps/.P): Depend on BUILT_SOURCES again.
+
+	* texinfos.am: Use ||, not ;.
+
+Tue Jun 10 11:04:16 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/cygwin.m4: Examine output of compiler to see if .exe needed.
+
+Sun Jun  1 13:16:05 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_built_sources): Handle PRE_BUILT_SOURCES.
+	(handle_configure): Likewise.
+
+	* depend2.am (.deps/%.P): Don't generate file if MKDEP fails.
+	From Alexandre Oliva.
+
+	* depend.am (.deps/.P): Depend on PRE_BUILT_SOURCES, not
+	BUILT_SOURCES.
+
+	* automake.in (initialize_global_constants): Added 1997 to
+	copyright info.
+
+	* automake.in (output_yacc_build_rule): Never move y.tab.c over
+	the .h file.  From Jim Meyering.
+
+Thu May 29 23:16:02 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): Avoid defining ACLOCAL,
+	AUTOCONF, AUTOMAKE, AUTOHEADER.  From David Zaroski.
+
+Sat Feb 22 16:05:24 1997  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* Makefile.am (pkgdata_DATA): Under this new scheme, we no longer
+	need compile-kr.am.  Delete it.
+
+	* automake.in (handle_yacc_lex_cxx, get_object_extension): Use
+ 	_.c, _.o, _.lo instead of ._c, ._o, .l_o for de-ansification.
+
+	* ansi2knr.c (main): Parse our arguments a little differently so
+	that we don't create null output files when we can't read the
+	input file.
+
+Wed May 28 23:40:33 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* depend.am (.deps/.P): Depend on $(BUILT_SOURCES) again.  From
+	Gord Matzigkeit.
+
+Mon May 26 22:50:49 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* remake-hdr.am ($(srcdir)/@STAMP@.in): Make echo silent.  Report
+	from Alexandre Oliva.
+
+	* automake.in (generate_makefile): If --no-force, check
+	Makefile.in against configure.in and aclocal.m4.  Report from
+	Alexandre Oliva.
+
+	* automake.in (handle_dist_worker): Put --include-deps on command
+	line if specified originally.
+	(handle_configure): Likewise.
+
+	* configure.in: Error if Perl 5.001 is used.
+
+	* ylwrap: Don't quote $prog when executing it.  From Jim
+	Meyering.
+
+Thu May 15 12:05:20 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_merge_targets): Set INSTALL_SCRIPT in
+	install-strip target.
+
+Tue May 13 08:20:02 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dependencies): Don't generate dependencies
+	if DEP_FILES would be empty.
+
+Sun May 11 13:59:14 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* config.guess: New version from FSF.
+
+	* automake.in (get_object_extension): If ansi2knr in another
+	directory, always define ANSI2KNR to full path.  From Akim
+	Demaille.
+
+	* kr-extra.am (clean-krextra): Remove ansi2knr here, not in
+	distclean-krextra.
+
+	* missing: Regularized grammar.  From François Pinard.
+
+Sat May 10 16:48:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.1p.
+
+	* m4/init.m4: Error if source directory already configured.
+
+	* automake.in (scan_dependency_file): Always use srcdir name as
+	passed in on command line.
+
+Thu May  1 12:53:46 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (value_to_list): Don't fail when a variable
+	substitution is not a complete word.
+
+Tue May  6 15:22:41 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* subdirs.am: Fix check for make -k to use $(MAKEFLAGS) and to not
+	get fooled by command line arguments.
+
+Sat May 10 15:48:46 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/ccstdc.m4: Print "none needed" if compiler accepts ANSI C by
+	default.
+
+Mon May  5 23:24:09 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* mkinstalldirs, config.guess, config.sub, COPYING, texinfo.tex:
+	New versions from FSF.
+
+Sun May  4 15:21:22 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am (install-info): Avoid the Debian install-info.
+	(uninstall-info): Likewise.
+
+	* automake.in (handle_single_transform_list): Strip any directory
+	name before processing name.
+
+Thu May  1 19:24:08 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (.deps/%.P): Don't put $(srcdir)/ into dependency.
+
+Wed Apr 30 19:15:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Change how top_distdir is
+	computed.  Based on patch from Ian Taylor.
+	(handle_dist): Define top_distdir.
+
+	* automake.in (handle_yacc_lex_cxx): Include CXXFLAGS in CXXLINK.
+	(handle_yacc_lex_cxx): Include CFLAGS in LINK.
+
+Wed Apr 30 14:46:37 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (handle_dist_worker): When building a distribution,
+	if SUBDIRS is defined conditionaly, recur into each possible
+	subdirectory.
+
+	* clean.am (distclean-generic): Remove stamp-h[0-9]*.
+
+Tue Apr 29 19:11:45 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* INSTALL, mkinstalldirs, install-sh: Update from François
+	Pinard.
+
+	* aclocal.in (add_macro): If AC_ macro was defined, then mark it
+	as seen.  Report from Janos Farkas.
+
+	* subdirs.am: Clean targets now run in reverse order.  From Kevin
+	Dalley.
+
+	* automake.in (handle_texinfo): Put `aminfo', not `info' on
+	@clean.
+
+	* mdate-sh: New version from Ulrich Drepper.
+
+Mon Apr 28 01:18:05 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Makefile only depends on
+	BUILT_SOURCES when generating dependencies.
+
+	* Released 1.1o.
+
+Sun Apr 27 23:58:20 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist): Use variable_value, not
+	variable_contents.
+
+Wed Apr 23 14:04:28 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (IF_PATTERN): Define.
+	(ELSE_PATTERN, ENDIF_PATTERN): Define.
+	(AM_CONDITIONAL_PATTERN): Define.
+	(%configure_cond): New global hash table.
+	(handle_source_transform): If xx_SOURCES is defined conditionally,
+	define xx_OBJECTS using the same conditions.
+	(handle_lib_objects): If variable is defined conditionally, define
+	xx_DEPENDENCIES conditionally.  Most code moved into subroutine.
+	(handle_lib_objects_cond): New function, broken out of
+	handle_lib_objects.
+	(scan_one_configure_file): Look for $AM_CONDITIONAL_PATTERN.
+	(conditional_true_when): New function.
+	(variable_defined): Add new parameter: cond.  Change some
+	callers.
+	(variable_conditions): New function.
+	(variable_conditionally_defined): New function.
+	(variable_value): New function.  Change most uses of $contents to
+	call variable_value instead.
+	(value_to_list): New function, from variable_value_as_list.
+	(variable_value_as_list): Add new parameter: cond.  Change all
+	callers.  Move some code into subroutine value_to_list.
+	(define_pretty_variable): Add new parameter: cond.  Change call
+	callers.
+	(read_am_file): Handle conditionals.
+	(initialize_per_input): Initialize %conditional and
+	@conditional_stack.
+	* m4/cond.m4: New file.
+	* m4/Makefile.am (m4data_DATA): Add cond.m4.
+
+Sun Apr 27 11:03:36 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Run automake once per
+	directory, instead of once at the top.
+	(handle_dist_worker): Changed interface.
+	(handle_dist): Likewise.
+	(generate_makefile): Better error message if can't write the
+	file.
+	(handle_dist_worker): Pass top_distdir to subdir makes.
+
+	* automake.in (handle_dist_worker): Use mode 777 on directories in
+	distribution.  GNU Standards compliance.
+
+	* automake.in (handle_yacc_lex_cxx): Don't use interlock.
+	(output_yacc_build_rule): Don't use interlock; just use new ylwrap
+	instead.  The new ylwrap builds in a subdir; idea from Mark
+	Eichin.
+	(output_lex_build_rule): Likewise.
+	(initialize_global_constants): [common_files] Don't include
+	interlock.
+
+	* Makefile.am (pkgdata_SCRIPTS): Removed interlock.
+	* interlock: Removed.
+	* ylwrap: Changed interface.  Now runs command in subdir.
+
+	* remake.am (config.status): Look in srcdir for config header.
+	($(srcdir)/configure): Likewise.
+	* remake-hdr.am (@STAMP@): Look in srcdir for config header.  From
+	Phil Nelson.
+	($(srcdir)/@CONFIG_HEADER_IN@): Likewise.
+
+	* automake.in (handle_aclocal_m4): Make target $(ACLOCAL_M4), not
+	value spelled out.  From Phil Nelson
+
+	* automake.in (handle_configure): Don't skip Makefiles; instead
+	skip automake inputs.
+	(handle_merge_targets): Changed interface; put $makefile at
+	beginning of @all (rather than Makefile at end).
+
+	* automake.in (handle_yacc_lex_cxx): Correctly compute
+	de_ansi_sources.
+
+	* clean-kr.am (distclean-kr): Do nothing; ansi2knr is removed in
+	kr-extra.am.
+
+	* Makefile.am: Check to make sure there are no accidental
+	configure substitutions.
+
+	* automake.in (handle_texinfo): Don't allow configure substitution
+	on @MAKEINFO@ here.
+
+	* automake.in (handle_yacc_lex_cxx): ._c and ._o files both depend
+	on $(ANSI2KNR).
+
+	* kr-extra.am (ansi2knr): Removed.
+	(ansi2knr.o): Likewise.
+
+	* automake.in (get_object_extension): Allow ansi2knr to be built
+	from any directory.
+
+Fri Apr 25 12:33:23 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* missing: Changed bison text.  From Ian Taylor.
+
+	* m4/missing.m4: Redirect stdin of testee.  From Bill Fenner.
+
+	* automake.in (output_yacc_build_rule): Generate rule to create .h
+	file.
+	(handle_footer): Generate unique, sorted list of suffixes.
+
+	* automake.in (scan_one_configure_file): Recognize AC_PROG_AWK,
+	_CPP, _CXCPP, _LN_S.  From Ralph Schleicher.
+
+Mon Apr 21 12:35:57 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+	* automake.in (@config_fullnames): New array.
+	(@config_names): New array, replacing $config_name.
+	(@config_headers): New array, replacing $config_header.
+	(get_object_extension): Handle multiple header files.
+	(handle_tags, handle_merge_targets): Likewise.
+	(scan_one_configure_file): Likewise.
+	(handle_configure): Likewise.  Don't check for the configuration
+	header file in AC_OUTPUT; it won't be there.
+	* remake-hdr.am: Handle multiple header files.
+	* clean-hdr.am: New file, broken out of remake-hdr.am.
+	* m4/header.m4: Handle multiple header files.
+	* Makefile.am (pkgdata_DATA): Add clean-hdr.am.
+
+Wed Apr 16 00:05:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am (.texi.info, .texi, .texinfo.info, .info): Remove
+
+	* automake.in (define_program_variable): Added `override' argument.
+	(handle_texinfo): Pass override arg when defining MAKEINFO.
+	(AC_MISSING_PROG): New constant.
+	(scan_one_configure_file): Use it.
+
+Tue Apr 15 12:12:28 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_texinfo): In --cygnus mode, reserve
+	clean-info for the user.
+
+	* automake.in (handle_subdirs): Typo fix.  From Akim Demaille.
+
+	* automake.in (handle_tags): Only use SUBDIRS if it is actually
+	defined.  Report from Ian Taylor.
+
+	* tags.am: Added prefix to SUBDIRS rules.
+
+Wed Apr  9 17:09:40 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_ltlibraries): Use correct rpath
+	substitution.  Bug from Jim Blandy.
+
+Mon Apr  7 17:40:18 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (AM_INIT_AUTOMAKE_PATTERN): Fixed for new 3rd arg.
+	Test version2.test.
+
+Thu Apr  3 19:07:59 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.1n.
+
+	* tags.am (TAGS): Run "cd && etags" in subshell for proper
+	associativity.
+
+	* texinfos.am (install-info-am): If --cygnus, then info file can
+	be in build dir.  From David Zaroski.
+
+	* ltlibrary.am (@LTLIBRARY@): use @RPATH@, not explicit -rpath.
+
+	* automake.in (handle_ltlibraries): Treat EXTRA_ libraries
+	specially.
+
+Wed Apr  2 00:03:50 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_source_transform): Don't generate dependency
+	on config.h.
+	(scan_dependency_file): Strip the .P file from the target.
+
+	* automake.in (handle_tags): Use single, not double, quotes when
+	setting list variable.
+
+	* data.am, header.am, libs.am, lisp.am, ltlib.am, progs-clean.am,
+	progs.am, scripts.am, tags.am: Use single quotes to fill list
+	variable; otherwise `$' in filename will not work.  From Per
+	Bothner.
+
+	* mdate-sh: Use "ls -d" so mdate-sh can be run on a directory.
+	From Bruno Haible.
+
+	* automake.in (handle_programs): Error if LIBADD used where LDADD
+	meant.
+	(handle_libraries): Error if LDADD used where LIBADD meant.
+	(handle_ltlibraries): Likewise.
+
+Tue Apr  1 22:46:33 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (check_canonical_spelling): New sub.
+	(handle_programs): Use it.
+	(handle_libraries): Likewise.
+	(handle_ltlibraries): Likewise.
+
+Mon Mar 31 12:13:08 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.am (.deps/%.P): Make .P file depend on everything the .c
+	file includes.
+
+Fri Mar 28 23:34:49 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_configure): Error if stamp-h appears in
+	AC_OUTPUT line.
+
+Thu Mar 27 17:28:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_dist_worker): Avoid automake rules in
+	generated Makefile when no-dependencies specified.  From Greg
+	Woods.
+
+	* m4/lispdir.m4: Don't AC_SUBST ELCFILES.  From Greg Woods.
+
+	* texi-vers.am (stamp-@VTI@): Make commands silent.
+
+	* Makefile.am (maintainer-check): "true" is ok now.
+
+	* m4/init.m4: Added optional 3rd argument, which avoids
+	AC_DEFINE.
+
+	* automake.in (scan_one_configure_file): Explicitly avoid
+	INSTALL_SCRIPT to avoid defining it twice.
+
+	* header-vars.am: Change _INSTALL variable definitions to `true'.
+	Updated all users to put `@' before invocation.
+
+Tue Mar 25 22:09:45 1997  Tom Tromey  <tromey@cygnus.com>
+
+	Update to follow GNU Standards:
+	* automake.in (handle_man_pages): Use NORMAL_UNINSTALL before
+	uninstall-man.
+	* texinfos.am (uninstall-info): Use two loops, and have
+	PRE_UNINSTALL before running install-info.
+	* data.am, header.am, libs.am, lisp.am, ltlib.am, progs.am,
+	scripts.am, texinfos.am: Use NORMAL_UNINSTALL.
+	* header-vars.am (PRE_UNINSTALL, POST_UNINSTALL,
+	NORMAL_UNINSTALL): Define.
+
+	* automake.in (scan_one_configure_file): Don't define ANSI2KNR as
+	a configure varriable.
+
+	* m4/missing.m4: Run test in a subshell.  From Gord Matzigkeit.
+
+Mon Mar 24 23:28:59 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* m4/sanity.m4: Sleep before creating temp file.
+
+	* header-vars.am (NORMAL_INSTALL, PRE_INSTALL, POST_INSTALL):
+	Define.
+
+Sat Mar 22 00:06:00 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (am_install_var): Make sure to delete
+	CYGWIN/NOTCYGWIN tokens as appropriate.
+	(handle_programs): Remove NOTCYGWIN tokens as well.
+	(file_contents_with_transform): A single newline makes an empty
+	line.
+
+	* program.am: Remove executable before linking.
+
+	* texinfos.am (.texi.dvi): Look in @TEXINFODIR@ for texinfo.tex.
+	(.texinfo.dvi): Likewise.
+
+	* automake.in (handle_texinfo): TEXINFO_TEX variable can set
+	location of texinfo.tex.
+
+Fri Mar 21 10:22:51 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am (.texinfo.dvi): Mirror .texi.dvi.
+
+	* ansi2knr.c, ansi2knr.1: New versions from L. Peter Deutsch.
+
+	* scripts.am: Add @EXEEXT@ to installed scripts.
+
+Wed Jan 22 20:12:31 1997  Jim Meyering  <meyering@na-net.ornl.gov>
+
+	* m4/mktime.m4 (AM_FUNC_MKTIME): Run tests for each of a few values
+	for the TZ environment variable.  Andre Novaes Cunha provided the
+	hairy TZ setting that exercized the Solaris tzset bug.
+
+1997-01-22  Paul Eggert  <eggert@twinsun.com>
+
+	* m4/mktime.m4: (AM_FUNC_MKTIME): Fix bug in mktime test -- don't
+	test now, test a couple of thousand times.
+
+Thu Mar 20 00:16:54 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_programs): Remove CYGWIN lines unless
+	AM_CYGWIN32 seen.
+	(am_install_var): Remove CYGWIN lines from -clean file as well.
+
+	* progs.am: Put @EXEEXT@ where appropriate.
+
+	* program.am (@PROGRAM@): If using Cygwin32, then create actual
+	name in addition to ".exe" name.
+
+	* progs-clean.am (clean-@DIR@PROGRAMS): Conditionalize on CYGWIN.
+
+	* automake.in (check_cygnus): Require AM_CYGWIN32 in --cygnus mode.
+	(am_install_var): If AM_CYGWIN32 not seen, then remove @EXEEXT@
+	from .am files.
+
+	* automake.in (seen_cygwin32): New global.
+	(scan_one_configure_file): Check for AM_CYGWIN32.
+
+	* m4/cygwin.m4: New file.
+
+	* automake.in (scan_one_configure_file): Explicitly handle
+	AC_CONFIG_HEADER so we can avoid spurious warnings.
+	(obsolete_macros): Removed AC_CONFIG_HEADER.
+
+	* automake.in (handle_yacc_lex_cxx): Perl 4 fixes.  From Greg
+	A. Woods.
+
+Wed Mar 19 00:35:13 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Released 1.1m.
+
+	* m4/missing.m4: Print message saying what is happening.
+
+	* m4/sanity.m4: sleep before testing.
+
+Tue Mar 18 17:20:03 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* config.guess, config.sub: New from the FSF.
+
+	* automake.in (initialize_global_constants): [common_files]
+	Include `missing'.
+	(scan_configure): Require `missing'.
+
+	* header-vars.am (MAKEINFO): Don't define.
+
+	* m4/init.m4 (missing_dir): Use AM_MISSING_PROG.
+	* m4/missing.m4: New file.
+
+	`missing' changes from François Pinard:
+	* Everywhere: Use ACLOCAL_M4 to name aclocal.m4 file; ACLOCAL now
+	names aclocal program.
+	* m4/init.m4: Replace programs with `missing' if not found.
+	* automake.in (handle_texinfo): Define MAKEINFO as @MAKEINFO@.
+	(AC_CHECK_PATTERN): Check for alphanumeric names only.
+	(handle_aclocal_m4): Use ACLOCAL, not aclocal.
+	* Makefile.am (pkgdata_SCRIPTS): Include missing.
+	* missing: New file.
+
+	* automake.in (target_defined): New sub.
+	(handle_footer): Error if target .SUFFIXES used.
+
+Sun Mar 16 14:33:41 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_lib_objects): Set seen_c_source to line
+	number.
+	(handle_yacc_lex_cxx): Use seen_c_source as line number.
+	(am_line_error): Line of -1 means skip line-number check.
+
+	* automake.in (read_am_file): Change to keep perl -w quiet.
+	(check_typos): Removed extra check of EXTRA_ containing config
+	subs.
+
+Mon Mar 10 23:17:19 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* remake-hdr.am (stamp-h): Set CONFIG_HEADERS to
+	$(CONFIG_HEADER_FULL).
+	* automake.in (handle_configure): Define CONFIG_HEADER_FULL.
+
+	* automake.in (handle_lib_objects): Set seen_c_source as
+	appropriate.  From Alexander V. Lukyanov.  Test cxxlibobj.test.
+
+Sat Mar  8 22:54:35 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo.tex: New version.
+
+	* automake.in (handle_emacs_lisp): If EMACS is `no', then we
+	couldn't find an Emacs.  So don't bother running elisp-comp.  From
+	Ulrich Drepper.
+
+	* automake.in (handle_texinfo): Added .tr and .cv to list of
+	texinfo clean extensions.  From Karl Berry.
+
+Fri Feb 28 22:14:53 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am: Make sure we never use "undef".
+
+	* automake.in (usage): Changed bug-reporting address.
+	(handle_dist): Use undef, not delete.
+
+Wed Feb 26 08:41:11 1997  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* automake.in (%obsolete_macros): Reintroduce, with hints for what
+	to do to upgrade the support.
+
+	* automake.in, ltlib-clean.am, ltlib.am, ltlibrary.am: Revamped
+ 	libtool support to use the _LTLIBRARIES primary.
+
+Wed Feb 26 00:20:39 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_tags): In default case, add @tags_deps to
+	dependencies of tags target.
+
+Tue Feb 25 23:46:29 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_tests): If a test failed, then make should
+	fail.  From Jim Meyering.
+
+Mon Feb 24 19:02:21 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texi-vers.am (@VTEXI@): Copy stamp file into output.
+
+Sun Feb 23 00:10:36 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (handle_programs): Give correct error line for lex
+	error.
+	(am_line_error): Avoid uninitialized value errors from perl -w.
+
+	* aclocal.in (scan_m4_files): Fixed perl -w warning.
+
+	* texinfos.am (.texi, .texinfo): New targets.
+
+	* automake.in (scan_texinfo_file): Renamed.
+	(handle_texinfo): Handle files without ".info" extension.
+
+	* automake.in (handle_subdirs): Error if directory contains "/".
+	(handle_yacc_lex_cxx): Quoting fix.
+	(handle_single_transform_list): Use transformed (non-ansi) version
+	of $obj instead of explicit ".o".  From Gord Matzigkeit.
+
+	* m4/sanity.m4: Pass -L to ls if possible.
+
+Sat Feb 22 15:22:31 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* dist-vars.am (DISTFILES): Don't distribute MANS.
+
+	* automake.in (handle_dist): Use define_variable to define TAR,
+	GZIP.
+	(handle_dist): Pass GZIP in environment to tar.
+	(initialize_global_constants): Likewise.
+
+	From Kaveh Ghazi:
+	* m4/protos.m4: Don't put any dependencies on AC_C_INLINE or
+	AC_C_CONST.
+	* m4/ccstdc.m4: Force AM_PROG_CC_STDC to come before AC_C_INLINE
+	or AC_C_CONST.
+
+Fri Feb 21 00:39:17 1997  Tom Tromey  <tromey@cygnus.com>
+
+	From The Crimson Binome:
+	* automake.in (handle_yacc_lex_cxx): Handle C++ yacc/lex source.
+	(output_yacc_build_rule): New sub for C++ yacc/lex.
+
+	* automake.in (my_glob): New sub.
+	(handle_dependencies): Use my_glob.
+	(handle_aclocal_m4): Scan ACLOCAL_AMFLAGS for dependencies.
+
+	* ltlibs.am, lisp.am, libs.am, header.am, data.am, progs.am,
+	scripts.am, texinfos.am: Add leading space to echo.
+
+	* automake.in (handle_texinfo): Added .tps and .vrs to list of TeX
+	endings.  From Jim Blandy.
+	(install_man_format): Make rule silent; instead print actual
+	command.
+
+Tue Feb  4 18:29:42 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* dist-vars.am (TAR): Removed.
+	* automake.in (TAR): New variable.
+	(handle_dist): Explicitly define TAR.
+	* configure.in: Compute TAR.
+
+	* automake.in (handle_lib_objects): Put @ALLOCA@ on @dep_list, not
+	@dep_files.
+	(AC_SUBST_PATTERN): Typo fix.
+	(handle_aclocal_m4): Use ACLOCAL_AMFLAGS.
+	(handle_clean): Put -recursive target before -am target.
+	(handle_merge_targets): Put basename of $config_name on @all.
+	Test confsub.test.  From Ramón García Fernández.
+
+Tue Jan 28 22:19:04 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (initialize_global_constants): Put libtoolize files
+	into @common_files, not @common_sometimes.  From Gord Matzigkeit.
+
+Sun Jan 26 17:46:08 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfos.am (.texi.info): If --cygnus, set -I $(srcdir).  From
+	Per Bothner.
+
+Sun Jan 12 18:28:16 1997  Fred Fish  (fnf@ninemoons.com)
+
+	* automake.in: Use 'interlock' and 'ylwrap' from source
+	directory or aux config directory, not build directory.
+
+Tue Jan  7 18:35:10 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.in (parse_arguments): Handle -I.
+	(usage): Ditto.
+	(scan_m4_files): Ditto.
+
+	* automake.in (handle_single_transform_list): Don't give error
+	message if extension unrecognized.
+
+Tue Dec 17 11:18:20 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+	* m4/header.m4 (AM_CONFIG_HEADER): Check for $CONFIG_HEADERS, not
+	$CONFIG_HEADER.
+
+Tue Jan  7 17:59:26 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (scan_one_configure_file): AM_INIT_GUILE_MODULE runs
+	AM_PROG_INSTALL, not AC_PROG_INSTALL.  From Jim Blandy.
+	(handle_texinfo): Handle no-texinfo.tex option.
+	(handle_options): Ditto.
+
+Thu Jan  2 14:16:17 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* automake.in (am_install_var): Ignore EXTRA libtool libraries.
+	From Marius Vollmer.
+
+-----
+
+Copyright 1997, 1998 Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/INSTALL
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/INSTALL	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/INSTALL	(revision 3089)
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
Index: /trunk/essentials/sys-devel/automake-1.9/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/Makefile.am	(revision 3089)
@@ -0,0 +1,353 @@
+## Process this file with automake to create Makefile.in
+
+## Makefile for Automake.
+
+## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## We need `.' in SUBDIRS because we want `check' to build `.' before
+## tests.
+SUBDIRS = . doc m4 lib tests
+
+bin_SCRIPTS = automake aclocal
+
+CLEANFILES = $(bin_SCRIPTS)
+AUTOMAKESOURCES = automake.in aclocal.in
+
+TAGS_FILES = $(AUTOMAKESOURCES)
+
+EXTRA_DIST = ChangeLog.96 ChangeLog.98 ChangeLog.00 ChangeLog.01 ChangeLog.02 \
+  $(AUTOMAKESOURCES)
+
+## Make versioned links.  We only run the transform on the root name;
+## then we make a versioned link with the transformed base name.  This
+## seemed like the most reasonable approach.
+install-exec-hook:
+	@$(POST_INSTALL)
+	@for p in $(bin_SCRIPTS); do \
+	  f="`echo $$p|sed '$(transform)'`"; \
+	  fv="$$f-$(APIVERSION)"; \
+	  rm -f $(DESTDIR)$(bindir)/$$fv; \
+	  echo " $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv"; \
+	  $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv; \
+	done
+
+uninstall-hook:
+	@for p in $(bin_SCRIPTS); do \
+	  f="`echo $$p|sed '$(transform)'`"; \
+	  fv="$$f-$(APIVERSION)"; \
+	  rm -f $(DESTDIR)$(bindir)/$$fv; \
+	done
+
+
+## We can't use configure to do the substitution here; we must do it
+## by hand.  We use a funny notation here to avoid configure
+## substitutions in our text.
+do_subst = sed \
+  -e 's,[@]APIVERSION[@],$(APIVERSION),g' \
+  -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+  -e 's,[@]PATH_SEPARATOR[@],$(PATH_SEPARATOR),g' \
+  -e 's,[@]PERL[@],$(PERL),g' \
+  -e 's,[@]SHELL[@],$(SHELL),g' \
+  -e 's,[@]VERSION[@],$(VERSION),g' \
+  -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \
+  -e 's,[@]datadir[@],$(datadir),g'
+
+## These files depend on Makefile so they are rebuilt if $(VERSION),
+## $(datadir) or other do_subst'ituted variables change.
+## Use chmod a-w to prevent people from editing the wrong file by accident.
+automake: automake.in Makefile
+	rm -f $@ $@.tmp
+	$(do_subst) $(srcdir)/automake.in >$@.tmp
+	chmod +x $@.tmp
+	chmod a-w $@.tmp
+	mv -f $@.tmp $@
+
+aclocal: aclocal.in Makefile
+	rm -f $@ $@.tmp
+	$(do_subst) $(srcdir)/aclocal.in >$@.tmp
+	chmod +x $@.tmp
+	chmod a-w $@.tmp
+	mv -f $@.tmp $@
+
+## The master location for INSTALL is lib/INSTALL.
+## This is where `make fetch' will install new versions.
+## Make sure we also update this copy.
+INSTALL: lib/INSTALL
+	cp $(srcdir)/lib/INSTALL $@
+
+################################################################
+##
+## Everything past here is useful to the maintainer, but probably not
+## to anybody else
+##
+
+# Some simple checks, and then ordinary check.  These are only really
+# guaranteed to work on my machine.
+maintainer-check: automake aclocal
+## This check avoids accidental configure substitutions in the source.
+## There are exactly 6 lines that should be modified.  This works out
+## to 22 lines of diffs.
+	@if test `diff $(srcdir)/automake.in automake | wc -l` -ne 22; then \
+	  echo "found too many diffs between automake.in and automake"; 1>&2; \
+	  diff -c $(srcdir)/automake.in automake; \
+	  exit 1; \
+	fi
+## Syntax check with default Perl (on my machine, Perl 5).
+	perllibdir="./lib$(PATH_SEPARATOR)$(srcdir)/lib" $(PERL) -c -w automake
+	perllibdir="./lib$(PATH_SEPARATOR)$(srcdir)/lib" $(PERL) -c -w aclocal
+## expect no instances of '${...}'.  However, $${...} is ok, since that
+## is a shell construct, not a Makefile construct.
+	@if grep -F '$${' $(srcdir)/lib/am/[a-z]*.am | \
+	       grep -F -v '$$$$'; then \
+	  echo "Found too many uses of '\$${' in the lines above." 1>&2; \
+	  exit 1;				\
+	else :; fi
+## Make sure `rm' is called with `-f'.
+	@if grep -v '^#' $(srcdir)/lib/am/[a-z]*.am $(srcdir)/tests/*.test | \
+	    grep -E '\<rm ([^-]|\-[^f ]*\>)'; then \
+	  echo "Suspicious 'rm' invocation." 1>&2; \
+	  exit 1;				\
+	else :; fi
+## Never use something like `for file in $(FILES)', this doesn't work
+## if FILES is empty or if it contains shell meta characters (e.g. $ is
+## commonly used in Java filenames).
+	@if grep 'for .* in \$$(' $(srcdir)/lib/am/[a-z]*.am; then \
+	  echo 'Use "list=$$(mumble); for var in $$$$list".' 1>&2 ; \
+	  exit 1; \
+	else :; fi
+## Make sure all invocations of mkinstalldirs are correct.
+	@if grep -n 'mkinstalldirs' $(srcdir)/lib/am/[a-z]*.am | \
+	      grep -F -v '$$(mkinstalldirs)'; then \
+	  echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
+	  exit 1; \
+	else :; fi
+## We never want to use "undef", only "delete", but for $/.
+	@if grep -n -w 'undef ' $(srcdir)/automake.in | \
+	      grep -F -v 'undef $$/'; then \
+	  echo "Found undef in automake.in; use delete instead" 1>&2; \
+	  exit 1; \
+	fi
+## We never want split (/ /,...), only split (' ', ...).
+	@if grep -n 'split (/ /' $(srcdir)/automake.in; then \
+	  echo "Found bad split in the lines above." 1>&2; \
+	  exit 1; \
+	fi
+## Look for cd within backquotes
+	@if grep -n '^[^#]*` *cd ' $(srcdir)/automake.in \
+	      $(srcdir)/lib/am/*.am; then \
+	  echo "Consider using $$$$(am__cd) in the line above." 1>&2; \
+	  exit 1; \
+	fi
+## Using @_ in a scalar context is most probably a programming error.
+	@if grep -Hn '[^) ] *= *@_' $(srcdir)/automake.in; then \
+	  echo "Using @_ in a scalar context in the lines above." 1>&2; \
+	  exit 1; \
+	fi
+## Forbid using parens with `local' to ease counting.
+	@if grep '^[ \t]*local *(' $(srcdir)/automake.in; then \
+	  echo "Don't use \`local' with parens: use several \`local' above." >&2; \
+	  exit 1; \
+	fi
+## Allow only `local $_' in Automake.
+	@if grep -v '^[ \t]*local \$$_;' $(srcdir)/automake.in | \
+	        grep '^[ \t]*local [^*]'; then \
+	  echo "Please avoid \`local'." 1>&2; \
+	  exit 1; \
+	fi
+## Don't let AMDEP_TRUE substitution appear in automake.in.
+	@if grep '@AMDEP''_TRUE@' $(srcdir)/automake.in; then \
+	  echo "Don't put AMDEP_TRUE substitution in automake.in" 1>&2; \
+	  exit 1; \
+	fi
+## Tests should never call make directly.
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*make'; then \
+	  echo 'Do not run "make" in the above tests.  Use "$$MAKE" instead.' 1>&2; \
+	  exit 1; \
+	fi
+## Tests should never call autoconf directly.
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*autoconf'; then \
+	  echo 'Do not run "autoconf" in the above tests.  Use "$$AUTOCONF" instead.' 1>&2; \
+	  exit 1; \
+	fi
+## Tests should never call autoupdate directly.
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*autoupdate'; then \
+	  echo 'Do not run "autoupdate" in the above tests.  Use "$$AUTOUPDATE" instead.' 1>&2; \
+	  exit 1; \
+	fi
+## Tests should never call automake directly.
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep -E ':[	]*automake([^:]|$$)'; then \
+	  echo 'Do not run "automake" in the above tests.  Use "$$AUTOMAKE" instead.' 1>&2;  \
+	  exit 1; \
+	fi
+## Use AUTOMAKE_fails when appropriate
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep '\$$AUTOMAKE.*&&.*exit'; then \
+	  echo 'Use AUTOMAKE_fails + grep to catch automake failures in the above tests.' 1>&2;  \
+	  exit 1; \
+	fi
+## Tests should never call aclocal directly.
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*aclocal'; then \
+	  echo 'Do not run "aclocal" in the above tests.  Use "$$ACLOCAL" instead.' 1>&2;  \
+	  exit 1; \
+	fi
+## Tests should never call perl directly.
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*perl'; then \
+	  echo 'Do not run "perl" in the above tests.  Use "$$PERL" instead.' 1>&2; \
+	  exit 1; \
+	fi
+## Overriding a Makefile macro on the command line is not portable when
+## recursive targets are used.  Better use an envvar.  SHELL is an exception,
+## POSIX says it can't come from the environment.
+	@if grep -E '\$$MAKE .*(SHELL=.*=|=.*SHELL=)' $(srcdir)/tests/*.test; then \
+	  echo 'Rewrite "$$MAKE foo=bar SHELL=$$SHELL" as "foo=bar $$MAKE -e SHELL=$$SHELL"' 1>&2; \
+	  echo ' in the above lines, it is more portable.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -v SHELL $(srcdir)/tests/*.test | grep '\$$MAKE .*=' ; then \
+	  echo 'Rewrite "$$MAKE foo=bar" as "foo=bar $$MAKE -e" in the above lines,' 1>&2; \
+	  echo 'it is more portable.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep 'SHELL=.*\$$MAKE' $(srcdir)/tests/*.test; then \
+	  echo '$$MAKE ignores the SHELL envvar, use "$$MAKE SHELL=$$SHELL" in' 1>&2; \
+	  echo 'the above lines.' 1>&2; \
+	  exit 1; \
+	fi
+## Never use `sleep 1' to create files with different timestamps.
+## Use `$sleep' instead.  Some filesystems (e.g., Windows') have only
+## a 2sec resolution.
+	@if grep -E '\bsleep +[12345]\b' $(srcdir)/tests/*.test; then \
+	  echo 'Do not use "sleep x" in the above tests.  Use "$$sleep" instead.' 1>&2; \
+	  exit 1; \
+	fi
+## fgrep and egrep are not required by POSIX.
+	@if grep -E '\b[ef]grep\b' $(srcdir)/tests/*.test ; then \
+	  echo 'Do not use egrep or fgrep in test cases.  Use $$FGREP or $$EGREP.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -E '\b[ef]grep\b' $(srcdir)/lib/am/*.am $(srcdir)/m4/*.m4; then \
+	  echo 'Do not use egrep or fgrep in the above files, they are not portable.' 1>&2; \
+	  exit 1; \
+	fi
+## Try to make sure all @...@ substitutions are covered by our
+## substitution rule.
+	@if test `grep -E '^[^#]*@[A-Za-z_0-9]+@' aclocal | wc -l` -ne 0; then \
+	  echo "Unresolved @...@ substitution in aclocal" 1>&2; \
+	  exit 1; \
+	fi
+	@if test `grep -E '^[^#]*@[A-Za-z_0-9]+@' automake | wc -l` -ne 0; then \
+	  echo "Unresolved @...@ substitution in automake" 1>&2; \
+	  exit 1; \
+	fi; \
+	if grep -E "[^\'\"]\\\$$\(DESTDIR" $(srcdir)/lib/am/*.am; then \
+	  echo 'Suspicious unquoted DESTDIR uses.' 1>&2 ; \
+	  exit 1; \
+	fi
+	@if grep '	' $(srcdir)/doc/automake.texi; then \
+	  echo 'Do not use tabs in the manual.' 1>&2; \
+	  exit 1; \
+	fi
+
+
+cvs-dist: maintainer-check
+## Make sure clcommit exists (we use it at the end of cvs-dist).
+	@if (clcommit --version)>/dev/null 2>/dev/null; then :; else \
+	  echo "Get clcommit from module cvs-utils on Savannah."; \
+	  exit 1; \
+	fi
+## Make sure the NEWS file is up-to-date.
+	@if sed 1q $(srcdir)/NEWS | grep -e "$(VERSION)" > /dev/null; then :; else \
+	  echo "NEWS not updated; not releasing" 1>&2; \
+	  exit 1;				\
+	fi
+## Build the distribution
+	$(MAKE) distcheck
+## Finally, if anything was successful, commit the last changes and tag
+## the release in the repository.  We don't use RCS keywords so it's OK
+## to distribute the files before they were committed.
+	cd $(srcdir) && clcommit && \
+	  cvs -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
+
+cvs-release: cvs-dist
+	case $(VERSION) in \
+	  *[a-z]) dest=alpha;; \
+	  *)      dest=ftp;; \
+	esac; \
+	$(srcdir)/lib/gnupload $(GNUPLOADFLAGS) \
+	  --to sources.redhat.com:~ftp/pub/automake \
+	  --to $$dest.gnu.org:automake $(DIST_ARCHIVES)
+
+cvs-diff:
+	thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \
+	if test -z "$$OLDVERSION"; then \
+	  prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
+	else prevno="$$OLDVERSION"; fi; \
+	prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \
+	cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
+	    > $(PACKAGE)-$$prevno-$(VERSION).diff
+
+## Check our path lengths.
+path-check: distdir
+	(cd $(distdir) && \
+## FIXME there's got to be a better way!  pathchk should take the list
+## of files on stdin, at least.
+	  find . -print | xargs pathchk -p); \
+	  status=$$?; \
+	  chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir); \
+	  exit $$status
+
+## Program to use to fetch files.
+WGET = wget
+WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
+
+## Files that we fetch and which we compare against.
+## FIXME should be a lot more here
+FETCHFILES = \
+INSTALL \
+config-ml.in \
+config.guess \
+config.sub \
+symlink-tree \
+texinfo.tex
+
+## Fetch the latest versions of files we care about.
+fetch:
+	rm -rf Fetchdir > /dev/null 2>&1
+	mkdir Fetchdir
+## If a get fails then that is a problem.
+	(cd Fetchdir && \
+	$(WGETSGO)/config/config/config.guess; \
+	$(WGETSGO)/config/config/config.sub; \
+	$(WGETSGO)/texinfo/texinfo/doc/texinfo.tex; \
+	$(WGETSGO)/autoconf/autoconf/INSTALL; \
+	$(WGETSGO)/gcc/gcc/config-ml.in; \
+	$(WGETSGO)/gcc/gcc/symlink-tree)
+## Don't exit after test because we want to give as many errors as
+## possible.
+	@stat=0; for file in $(FETCHFILES); do \
+	  if diff -u $(srcdir)/lib/$$file Fetchdir/$$file \
+	          >>Fetchdir/update.patch 2>/dev/null; then :; \
+	  else \
+	    stat=1; \
+	    echo "Updating $(srcdir)/lib/$$file..."; \
+	    cp Fetchdir/$$file $(srcdir)/lib/$$file; \
+	  fi; \
+	done; \
+	test $$stat = 0 || \
+	  echo "See Fetchdir/update.patch for a log of the changes."; \
+	exit $$stat
Index: /trunk/essentials/sys-devel/automake-1.9/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/Makefile.in	(revision 3089)
@@ -0,0 +1,855 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = .
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \
+	ChangeLog INSTALL NEWS THANKS TODO
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+SCRIPTS = $(bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = . doc m4 lib tests
+bin_SCRIPTS = automake aclocal
+CLEANFILES = $(bin_SCRIPTS)
+AUTOMAKESOURCES = automake.in aclocal.in
+TAGS_FILES = $(AUTOMAKESOURCES)
+EXTRA_DIST = ChangeLog.96 ChangeLog.98 ChangeLog.00 ChangeLog.01 ChangeLog.02 \
+  $(AUTOMAKESOURCES)
+
+do_subst = sed \
+  -e 's,[@]APIVERSION[@],$(APIVERSION),g' \
+  -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+  -e 's,[@]PATH_SEPARATOR[@],$(PATH_SEPARATOR),g' \
+  -e 's,[@]PERL[@],$(PERL),g' \
+  -e 's,[@]SHELL[@],$(SHELL),g' \
+  -e 's,[@]VERSION[@],$(VERSION),g' \
+  -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \
+  -e 's,[@]datadir[@],$(datadir),g'
+
+WGET = wget
+WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
+FETCHFILES = \
+INSTALL \
+config-ml.in \
+config.guess \
+config.sub \
+symlink-tree \
+texinfo.tex
+
+all: all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+install-binSCRIPTS: $(bin_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	    echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
+	    $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
+	  else :; fi; \
+	done
+
+uninstall-binSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
+	done
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	mkdir $(distdir)
+	$(mkdir_p) $(distdir)/m4 $(distdir)/tests
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+	@if find $(distdir) -type f -print | \
+	  grep '^...................................................................................................' 1>&2; then \
+	  echo 'error: the above filenames are too long' 1>&2; \
+	  exit 1; \
+	else :; fi
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(SCRIPTS)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(bindir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am: install-binSCRIPTS
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-binSCRIPTS uninstall-info-am
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
+	check-am clean clean-generic clean-recursive ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \
+	dist-tarZ dist-zip distcheck distclean distclean-generic \
+	distclean-recursive distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-binSCRIPTS install-data \
+	install-data-am install-exec install-exec-am install-exec-hook \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic \
+	maintainer-clean-recursive mostlyclean mostlyclean-generic \
+	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-binSCRIPTS uninstall-hook \
+	uninstall-info-am
+
+
+install-exec-hook:
+	@$(POST_INSTALL)
+	@for p in $(bin_SCRIPTS); do \
+	  f="`echo $$p|sed '$(transform)'`"; \
+	  fv="$$f-$(APIVERSION)"; \
+	  rm -f $(DESTDIR)$(bindir)/$$fv; \
+	  echo " $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv"; \
+	  $(LN) $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv; \
+	done
+
+uninstall-hook:
+	@for p in $(bin_SCRIPTS); do \
+	  f="`echo $$p|sed '$(transform)'`"; \
+	  fv="$$f-$(APIVERSION)"; \
+	  rm -f $(DESTDIR)$(bindir)/$$fv; \
+	done
+
+automake: automake.in Makefile
+	rm -f $@ $@.tmp
+	$(do_subst) $(srcdir)/automake.in >$@.tmp
+	chmod +x $@.tmp
+	chmod a-w $@.tmp
+	mv -f $@.tmp $@
+
+aclocal: aclocal.in Makefile
+	rm -f $@ $@.tmp
+	$(do_subst) $(srcdir)/aclocal.in >$@.tmp
+	chmod +x $@.tmp
+	chmod a-w $@.tmp
+	mv -f $@.tmp $@
+
+INSTALL: lib/INSTALL
+	cp $(srcdir)/lib/INSTALL $@
+
+################################################################
+
+# Some simple checks, and then ordinary check.  These are only really
+# guaranteed to work on my machine.
+maintainer-check: automake aclocal
+	@if test `diff $(srcdir)/automake.in automake | wc -l` -ne 22; then \
+	  echo "found too many diffs between automake.in and automake"; 1>&2; \
+	  diff -c $(srcdir)/automake.in automake; \
+	  exit 1; \
+	fi
+	perllibdir="./lib$(PATH_SEPARATOR)$(srcdir)/lib" $(PERL) -c -w automake
+	perllibdir="./lib$(PATH_SEPARATOR)$(srcdir)/lib" $(PERL) -c -w aclocal
+	@if grep -F '$${' $(srcdir)/lib/am/[a-z]*.am | \
+	       grep -F -v '$$$$'; then \
+	  echo "Found too many uses of '\$${' in the lines above." 1>&2; \
+	  exit 1;				\
+	else :; fi
+	@if grep -v '^#' $(srcdir)/lib/am/[a-z]*.am $(srcdir)/tests/*.test | \
+	    grep -E '\<rm ([^-]|\-[^f ]*\>)'; then \
+	  echo "Suspicious 'rm' invocation." 1>&2; \
+	  exit 1;				\
+	else :; fi
+	@if grep 'for .* in \$$(' $(srcdir)/lib/am/[a-z]*.am; then \
+	  echo 'Use "list=$$(mumble); for var in $$$$list".' 1>&2 ; \
+	  exit 1; \
+	else :; fi
+	@if grep -n 'mkinstalldirs' $(srcdir)/lib/am/[a-z]*.am | \
+	      grep -F -v '$$(mkinstalldirs)'; then \
+	  echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; \
+	  exit 1; \
+	else :; fi
+	@if grep -n -w 'undef ' $(srcdir)/automake.in | \
+	      grep -F -v 'undef $$/'; then \
+	  echo "Found undef in automake.in; use delete instead" 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -n 'split (/ /' $(srcdir)/automake.in; then \
+	  echo "Found bad split in the lines above." 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -n '^[^#]*` *cd ' $(srcdir)/automake.in \
+	      $(srcdir)/lib/am/*.am; then \
+	  echo "Consider using $$$$(am__cd) in the line above." 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -Hn '[^) ] *= *@_' $(srcdir)/automake.in; then \
+	  echo "Using @_ in a scalar context in the lines above." 1>&2; \
+	  exit 1; \
+	fi
+	@if grep '^[ \t]*local *(' $(srcdir)/automake.in; then \
+	  echo "Don't use \`local' with parens: use several \`local' above." >&2; \
+	  exit 1; \
+	fi
+	@if grep -v '^[ \t]*local \$$_;' $(srcdir)/automake.in | \
+	        grep '^[ \t]*local [^*]'; then \
+	  echo "Please avoid \`local'." 1>&2; \
+	  exit 1; \
+	fi
+	@if grep '@AMDEP''_TRUE@' $(srcdir)/automake.in; then \
+	  echo "Don't put AMDEP_TRUE substitution in automake.in" 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*make'; then \
+	  echo 'Do not run "make" in the above tests.  Use "$$MAKE" instead.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*autoconf'; then \
+	  echo 'Do not run "autoconf" in the above tests.  Use "$$AUTOCONF" instead.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*autoupdate'; then \
+	  echo 'Do not run "autoupdate" in the above tests.  Use "$$AUTOUPDATE" instead.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep -E ':[	]*automake([^:]|$$)'; then \
+	  echo 'Do not run "automake" in the above tests.  Use "$$AUTOMAKE" instead.' 1>&2;  \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep '\$$AUTOMAKE.*&&.*exit'; then \
+	  echo 'Use AUTOMAKE_fails + grep to catch automake failures in the above tests.' 1>&2;  \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*aclocal'; then \
+	  echo 'Do not run "aclocal" in the above tests.  Use "$$ACLOCAL" instead.' 1>&2;  \
+	  exit 1; \
+	fi
+	@if grep -v '^#' $(srcdir)/tests/*.test | grep ':[	]*perl'; then \
+	  echo 'Do not run "perl" in the above tests.  Use "$$PERL" instead.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -E '\$$MAKE .*(SHELL=.*=|=.*SHELL=)' $(srcdir)/tests/*.test; then \
+	  echo 'Rewrite "$$MAKE foo=bar SHELL=$$SHELL" as "foo=bar $$MAKE -e SHELL=$$SHELL"' 1>&2; \
+	  echo ' in the above lines, it is more portable.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -v SHELL $(srcdir)/tests/*.test | grep '\$$MAKE .*=' ; then \
+	  echo 'Rewrite "$$MAKE foo=bar" as "foo=bar $$MAKE -e" in the above lines,' 1>&2; \
+	  echo 'it is more portable.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep 'SHELL=.*\$$MAKE' $(srcdir)/tests/*.test; then \
+	  echo '$$MAKE ignores the SHELL envvar, use "$$MAKE SHELL=$$SHELL" in' 1>&2; \
+	  echo 'the above lines.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -E '\bsleep +[12345]\b' $(srcdir)/tests/*.test; then \
+	  echo 'Do not use "sleep x" in the above tests.  Use "$$sleep" instead.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -E '\b[ef]grep\b' $(srcdir)/tests/*.test ; then \
+	  echo 'Do not use egrep or fgrep in test cases.  Use $$FGREP or $$EGREP.' 1>&2; \
+	  exit 1; \
+	fi
+	@if grep -E '\b[ef]grep\b' $(srcdir)/lib/am/*.am $(srcdir)/m4/*.m4; then \
+	  echo 'Do not use egrep or fgrep in the above files, they are not portable.' 1>&2; \
+	  exit 1; \
+	fi
+	@if test `grep -E '^[^#]*@[A-Za-z_0-9]+@' aclocal | wc -l` -ne 0; then \
+	  echo "Unresolved @...@ substitution in aclocal" 1>&2; \
+	  exit 1; \
+	fi
+	@if test `grep -E '^[^#]*@[A-Za-z_0-9]+@' automake | wc -l` -ne 0; then \
+	  echo "Unresolved @...@ substitution in automake" 1>&2; \
+	  exit 1; \
+	fi; \
+	if grep -E "[^\'\"]\\\$$\(DESTDIR" $(srcdir)/lib/am/*.am; then \
+	  echo 'Suspicious unquoted DESTDIR uses.' 1>&2 ; \
+	  exit 1; \
+	fi
+	@if grep '	' $(srcdir)/doc/automake.texi; then \
+	  echo 'Do not use tabs in the manual.' 1>&2; \
+	  exit 1; \
+	fi
+
+cvs-dist: maintainer-check
+	@if (clcommit --version)>/dev/null 2>/dev/null; then :; else \
+	  echo "Get clcommit from module cvs-utils on Savannah."; \
+	  exit 1; \
+	fi
+	@if sed 1q $(srcdir)/NEWS | grep -e "$(VERSION)" > /dev/null; then :; else \
+	  echo "NEWS not updated; not releasing" 1>&2; \
+	  exit 1;				\
+	fi
+	$(MAKE) distcheck
+	cd $(srcdir) && clcommit && \
+	  cvs -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
+
+cvs-release: cvs-dist
+	case $(VERSION) in \
+	  *[a-z]) dest=alpha;; \
+	  *)      dest=ftp;; \
+	esac; \
+	$(srcdir)/lib/gnupload $(GNUPLOADFLAGS) \
+	  --to sources.redhat.com:~ftp/pub/automake \
+	  --to $$dest.gnu.org:automake $(DIST_ARCHIVES)
+
+cvs-diff:
+	thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \
+	if test -z "$$OLDVERSION"; then \
+	  prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
+	else prevno="$$OLDVERSION"; fi; \
+	prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \
+	cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
+	    > $(PACKAGE)-$$prevno-$(VERSION).diff
+
+path-check: distdir
+	(cd $(distdir) && \
+	  find . -print | xargs pathchk -p); \
+	  status=$$?; \
+	  chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir); \
+	  exit $$status
+
+fetch:
+	rm -rf Fetchdir > /dev/null 2>&1
+	mkdir Fetchdir
+	(cd Fetchdir && \
+	$(WGETSGO)/config/config/config.guess; \
+	$(WGETSGO)/config/config/config.sub; \
+	$(WGETSGO)/texinfo/texinfo/doc/texinfo.tex; \
+	$(WGETSGO)/autoconf/autoconf/INSTALL; \
+	$(WGETSGO)/gcc/gcc/config-ml.in; \
+	$(WGETSGO)/gcc/gcc/symlink-tree)
+	@stat=0; for file in $(FETCHFILES); do \
+	  if diff -u $(srcdir)/lib/$$file Fetchdir/$$file \
+	          >>Fetchdir/update.patch 2>/dev/null; then :; \
+	  else \
+	    stat=1; \
+	    echo "Updating $(srcdir)/lib/$$file..."; \
+	    cp Fetchdir/$$file $(srcdir)/lib/$$file; \
+	  fi; \
+	done; \
+	test $$stat = 0 || \
+	  echo "See Fetchdir/update.patch for a log of the changes."; \
+	exit $$stat
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/NEWS
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/NEWS	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/NEWS	(revision 3089)
@@ -0,0 +1,1302 @@
+Bugs fixed in 1.9.6:
+
+* Longstanding bugs:
+
+  - Correctly diagnose `#' comments following trailing backslash.
+
+  - Preserve backslashes preceding `##' lines.
+
+  - Preserve the order of items conditionally appended (+=) to variables.
+
+  - Fix support of installation directory names with spaces on systems
+    where mkinstalldirs cannot use `mkdir -p'.
+
+  - Avoid infinite loop in mdate-sh when TIME_STYLE is set.
+
+  - Do not output two definitions of SOURCES (an internal variable).
+    One was not formatted and could exceed the maximum line length of
+    some third-party tools (e.g., AIX 5.1 grep, breaking dependency
+    tracking).
+
+  - Do not empty info files when attempting to rebuild them without makeinfo.
+
+  - Be smarter when a Makefile.am references files in both "./dir" and
+    "dir": do not output two rules to create these directories.
+    (PR/461)
+
+  - Do not attempt to recover a missing *.elc file if it cannot be
+    created because emacs does not exist.
+
+  - Several aclocal fixes for issues occuring when configure.ac
+    includes some other m4 files explicitely with m4_include or m4_sinclude.
+    (PR/450)
+
+  - depcomp's cpp mode now understands preprocessors that output either
+    `#line 42 file' or `# 42 file'.  (Only the latter was supported.)
+
+* Other miscellaneous changes:
+
+  - Update the GPL, and the FSF postal address.
+
+  - Anticipate for python2.5 in AM_PATH_PYTHON.
+
+  - The manual should now compile without any warning from TeX.
+
+
+Bugs fixed in 1.9.5:
+
+* Longstanding bugs:
+
+  - All m4 files have been relicensed under an all-permissive license.
+
+    Previously they used a GPL license, and an all-permissive license
+    was prepended when they were copied into aclocal.m4, leading to
+    some confusion.
+
+  - aclocal now recognizes AU_ALIAS.
+
+  - Improve support for `make -k', it didn't work on cygwin.
+
+  - Fix the definition of FCLINK for preprocessed Fortran.
+
+  - Fixes for auxiliary scripts:
+
+    - depcomp's tru64 mode did not work while compiling libtool libraries
+      with static libraries disabled.
+
+    - mdate-sh now copes with Darwin's non-standard ls output.
+
+    - missing properly emulates makeinfo when neither -o nor
+      @setfilename are used.
+
+  - Don't output long variable definitions.  Automake normally tries
+    to output variable definitions as they are input, bug very long
+    lines in Makefile.in can break some sed and make implementations
+    with a limited line length.  If a line in a variable definition is
+    longer than 1000 characters, automake will wrap the definition
+    around 80 columns.  Other definitions are still output untouched.
+
+* Noteworthy manual updates:
+
+  - Hard-Coded Install Paths: New FAQ entry.
+
+  - How the Linker is Chosen: Rewritten.
+
+
+Bugs fixed in 1.9.4:
+
+* Longstanding bugs:
+
+  - Portability nits in install-sh and mdata-sh.
+
+  - Don't let `make install' fails if a _JAVA primary becomes empty
+    because of conditionals.
+
+  - Do not confuse CHANGELOG with ChangeLog on case-insensitive
+    case-preserving file systems (likewise for all automatically
+    distributed files).
+
+  - Do not embed $DESTDIR in Python's byte-code files.
+
+  - Work around programs that read stdin when checking for --version
+    and --help options (when the `std-options' is used).
+
+  - Fix AM_PATH_PYTHON to correctly define PYTHON as `:' when no minimum
+    version was supplied and no interpreter is found.
+
+* Noteworthy manual updates:
+
+  - Conditional Subdirectories: more comments about non-distributed
+    subdirectories.
+
+  - Flag Variables Ordering: new FAQ entry.
+
+  - Per-Object Flags: new FAQ entry.
+
+
+Bugs fixed in 1.9.3:
+
+* Bug introduced by 1.9:
+
+  - Dependency tracking using mode "dashmstdout" or "dashXmstdout" did
+    not work for libtool objects compiled with --tag (i.e., compiled
+    with Libtool 1.5 or later).  The compilation would succeed, but
+    `depcomp' would emit a warning and not output any dependency
+    information.
+
+* Longstanding bugs:
+
+  - Ignore comments from augmented variables, so that
+       FOO = foo # bar
+       FOO += baz
+    no longer results in `FOO = foo # bar baz'.
+
+  - `install-sh -d a/b/' failed to create `a/b/' because of the trailing `/'.
+
+  - _PROGRAMS now always create programs.  Before 1.9 it would
+    mistakenly create a libtool library if the name of the program
+    ended in `.la'.  Between 1.9 and 1.9.2 a program with such a name
+    would fail to build because half the code was assuming a program
+    was being built, while the other half was considering a library...
+
+  - `compile' now handles `*.obj' objects.
+
+  - `aclocal' recognizes AC_DEFUN_ONCE.
+
+* Noteworthy manual updates:
+
+  - LIBOBJS: more documentation and an example setup.
+  - Libtool Convenience Libraries: show how to force the linker selection.
+  - Extending: more comments about install-data-hook vs install-exec-hook.
+  - Clean: document -local targets.
+
+
+Bugs fixed in 1.9.2 (10th anniversary release):
+
+* Sort rm commands output for mostlyclean-generic, clean-generic,
+  distclean-generic and maintainer-clean-generic, so that the produced
+  Makefile is not sensitive to the way Perl sorts its hashes.
+* Support `+' in the name of directories given to `include'.
+* Preserve spaces in the arguments of `compile'.
+* `missing' will no longer try to emulate a tool that is run
+  with `--version' or `--help' as argument.
+* Noteworthy manual update:
+  - There is a new chapter about the history of Automake.
+
+
+Bugs fixed in 1.9.1:
+
+This release fixes three longstanding bugs.
+
+* Adjust #line directives in `parser.h' (when ylwrap is not used).
+  (PR/432)
+
+* Fix definition of YLWRAP when ylwrap is installed in a default
+  aux directory found in a parent package.
+
+* Properly recognize AC_CANONICAL_BUILD and AC_CANONICAL_TARGET.
+
+
+New in 1.9:
+
+* Makefile.in bloat reduction:
+
+  - Inference rules are used to compile sources in subdirectories when
+    the `subdir-objects' option is used and no per-target flags are
+    used.  This should reduce the size of some projects a lot, because
+    Automake used to output an explicit rule for each such object in
+    the past.
+
+  - Automake no longer outputs three rules (.o, .obj, .lo) for each
+    object that must be built with explicit rules.  It just outputs
+    the rules required to build the kind of object considered: either
+    the two .o and .obj rules for usual objects, or the .lo rule for
+    libtool objects.
+
+* Change to Libtool support:
+
+  - Libtool tags are used with libtool versions that support them.
+    (I.e., with Libtool 1.5 or greater.)
+
+  - Automake is now able to handle setups where a libtool library is
+    conditionally installed in different directories, as in
+
+      if COND
+        lib_LTLIBRARIES = liba.la
+      else
+        pkglib_LTLIBRARIES = liba.la
+      endif
+      liba_la_SOURCES = ...
+
+* Changes to aclocal:
+
+  - aclocal now ensures that AC_DEFUNs and AU_DEFUNs it discovers are
+    really evaluated, before it decides to include them in aclocal.m4.
+    This solves nasty problems with conditional redefinitions of
+    Autoconf macros in /usr/share/aclocal/*.m4 files causing extraneous
+    *.m4 files to be included in any project using these macros.
+    (Calls to AC_PROG_EGREP causing libtool.m4 to be included is the
+    most famous instance of this bug.)
+
+  - Do not complain about missing conditionally AC_REQUIREd macros
+    that are not actually used.  In 1.8.x aclocal would correctly
+    determine which of these macros were really needed (and include
+    only these in the package); unfortunately it would also require
+    all of them to be present in order to run.  This created
+    situations were aclocal would not work on a tarball distributing
+    all the macros it uses.  For instance running aclocal on a project
+    containing only the subset of the Gettext macros in use by the
+    project did not work, because gettext conditionally requires other
+    macros.
+
+* Portability improvements:
+
+  - Tar format can be chosen with the new options tar-v7, tar-ustar, and
+    tar-pax.  The new option filename-length-max=99 helps diagnosing
+    filenames that are too long for tar-v7.  (PR/414)
+
+  - Variables aumented with `+=' are now automatically flattened (i.e.,
+    trailing backslashes removed) and then wrapped around 80 colummns
+    (adding trailing backslashes).  In previous versions, a long series
+    of
+      VAR += value1
+      VAR += value2
+      VAR += value3
+      ...
+    would result in a single-line definition of VAR that could possibly
+    exceed the maximum line length of some make implementations.
+
+    Non-augmented variables are still output as they are defined in
+    the Makefile.am.
+
+* Miscellaneous:
+
+  - Support Fortran 90/95 with the new "fc" and "ppfc" languages.
+    Works the same as the old Fortran 77 implementation; just replace
+    F77 with FC everywhere (exception: FFLAGS becomes FCFLAGS).
+    Requires a version of autoconf which provides AC_PROG_FC (>=2.59).
+
+  - Support for conditional _LISP.
+
+  - Support for conditional -hook and -local rules (PR/428).
+
+  - Diagnose AC_CONFIG_AUX_DIR calls following AM_INIT_AUTOMAKE. (PR/49)
+
+  - Automake will not write any Makefile.ins after the first error it
+    encounters.  The previous Makefile.ins (if any) will be left in
+    place.  (Warnings will not prevent output, but remember they can
+    be turned into errors with -Werror.)
+
+  - The restriction that SUBDIRS must contain direct children is gone.
+    Do not abuse.
+
+  - The manual tells more about SUBDIRS vs. DIST_SUBDIRS.
+    It also gives an example of nested packages using AC_CONFIG_SUBDIRS.
+
+
+Bugs fixed in 1.8.5:
+
+* Long standing bugs:
+
+  - Define DIST_SUBDIRS even when the `no-dist' or `cygnus' options are used
+    so that `make distclean' and `make maintainer-clean' can work.
+
+  - Define AR and ARFLAGS even when only EXTRA_LIBRARIES are defined.
+
+  - Fix many rules to please FreeBSD make, which runs commands with `sh -e'.
+
+  - Polish diagnostic when no input file is found.
+
+
+Bugs fixed in 1.8.4:
+
+* Long standing bugs:
+
+  - Fix AM_PATH_PYTHON to correctly display $PYTHON when it has been
+    overridden by the user.
+
+  - Honor PATH_SEPARATOR in various places of the Automake package, for
+    the sake of OS/2.
+
+  - Adjust dependency tracking mode detection to ICC 8.0's new output.
+    (PR/416)
+
+  - Fix install-sh so it can install the `mv' binary... using `mv'.
+
+  - Fix tru64 dependency tracking for libtool objects.
+
+  - Work around Exuberant Ctags when creating a TAGS files in a directory
+    without files to scan but with subdirectories to include.
+
+* Bugs introduced by 1.8:
+
+  - Fix an "internal error" when @LIBOBJS@ is used in a variable that is
+    not defined in the same conditions as the _LDADD that uses it.
+
+  - Do not warn when JAVAROOT is overridden, this is legitimate.
+
+
+Bugs fixed in 1.8.3:
+
+* Long standing bugs:
+
+  - Quote filenames in installation rules, in case $DESTDIR, $prefix,
+    or any of the other *dir variables contain a space.
+
+    Please note that Automake does not and cannot support spaces in
+    filenames that are involved during the build.  This change affects
+    only installation paths, so that `make install' does not bomb out
+    in packages configured with
+      ./configure --prefix '/c/Program Files'
+
+  - Fix the depfiles output so it works with GNU sed (<4.1) even when
+    POSIXLY_CORRECT is set.
+
+  - Do not AC_SUBST(LIBOBJS) in AM_WITH_REGEX.  This macro was unusable
+    since Autoconf 2.54, which defines LIBOBJS itself.
+
+  - Fix a potential (but unlikely) race condition in parallel elisp
+    builds.  (Introduced in 1.7.3.)
+
+  - Do not assume that users override _DEPENDENCIES in all conditions
+    where Automake will try to define them.
+
+  - Do not use `mkdir -p' in mkinstalldirs, unless this is GNU mkdir.
+    Solaris 8's `mkdir -p' is not thread-safe and can break parallel
+    builds.
+
+    This fix also affects the $(mkdir_p) variable defined since
+    Automake 1.8.  It will be set to `mkdir -p' only if mkdir is GNU
+    mkdir, and to `mkinstalldirs' or `install-sh -d' otherwise.
+
+  - Secure temporary directory creation in `make distcheck'. (PR/413)
+
+  - Do not generate two build rules for `parser.h' when the
+    parser appears in two different conditionals.
+
+  - Work around a Solaris 8 /bin/sh bug in the test for dependency
+    checking.  Usually ./configure will not pick this shell; so this
+    fix only helps cases where the shell is forced to /bin/sh.
+
+* Bugs introduced by 1.8:
+
+  - In some situations (hand-written `m4_include's), aclocal would
+    call the `File::Spec->rel2abs' method, which was only introduced
+    in Perl 5.6.  This new version reestablish support Perl 5.005.
+
+    It is likely that the next major Automake releases will require at
+    least Perl 5.6.  Consider upgrading your development environment
+    if you are still using the five-year-old Perl 5.005.
+
+  - Automake would sometimes fail to define rules for targets listed
+    in variables defined in multiple conditions.  For instance on
+      if C1
+	bin_PROGRAMS = a
+      else
+	bin_PROGRAMS = b
+      endif
+    it would define only the `a.$(OBJEXT): a.c' rule and omit the
+    `b.$(OBJEXT): b.c' rule.
+
+* New sections in manual:
+
+  - Third-Party Makefiles: how to interface third party Makefiles.
+  - Upgrading: upgrading packages to newer Automake versions.
+  - Multiple Outputs: handling tools that produce many outputs.
+
+
+Bug fixed in 1.8.2:
+
+* A (well known) portability bug slipped in the changes made to
+  install-sh in Automake 1.8.1.  The broken install-sh would refuse to
+  install anything on Tru64.
+
+* Fix install rules for conditionally built python files.  (This never
+  really worked.)
+
+
+Bug fixed in 1.8.1:
+
+* Bugs introduced by 1.8:
+
+  - Fix Config.pm import error with old Perl versions (at least
+    5.005_03).  One symptom is that aclocal could not find its macro
+    directory.
+
+  - Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+    created by `make install' are always world readable, even if the
+    installer happens to have an overly restrictive umask (e.g. 077).
+    This was a mistake and has been reverted.  There are at least two
+    reasons why we must not use `-m 0755':
+      - it causes special bits like SGID to be ignored,
+      - it may be too restrictive (some setups expect 775 directories).
+
+  - Fix aclocal to honor definitions located in files which have been
+    m4_included manually.  aclocal 1.8 had been updated to check
+    m4_included files for new requirements, but forgot that these
+    m4_included files can also provide new definitions.
+
+    Note that if you have such a setup, we recommend you get rid of
+    it.  In the past, there was a reason to m4_include files manually:
+    aclocal used to duplicate entire M4 files into aclocal.m4, even
+    files that were distributed.  Some packages were therefore
+    m4_including the distributed file directly, and playing some
+    tricks to ensure aclocal would not copy that file to aclocal.m4,
+    in order to limit the amount of duplication.  Since aclocal 1.8.x
+    will precisely output m4_includes for local M4 files, we recommend
+    that you clean up your setup, removing all manual m4_includes and
+    letting aclocal output them.
+
+  - Output detailed menus in the Info version if the Automake manual,
+    so that Emacs can locate the indexes.
+
+  - configure.ac and configure were listed twice in DIST_COMMON (an
+    internal variable where Automake lists configury files to
+    distribute).  This was harmless, but unaesthetic.
+
+  - Use `chmod a-w' instead of `chmod -w' as the latter honors umask.
+    This was an issue only in the Automake package itself, not in
+    its output.
+
+  - Automake assumed that all AC_CONFIG_LINKS arguments had the form
+    DEST:SRC.  This was wrong, as some packages do
+    AC_CONFIG_LINKS($computedlinks).  This version no longer abort in
+    that situation.
+
+  - Contrary to mkinstalldirs, $(mkdir_p) was expecting exactly one
+    argument.  This caused two kinds of failures:
+      - Rules installing data in a conditionally defined directory
+        failed when that directory was undefined.  In this case no
+        argument was supplied.
+      - `make installdirs' failed, because several directories were
+        passed to $(mkdir_p).  This was an issue only on platform
+        were $(mkdir_p) is implemented with `install-sh -d'.
+    $(mkdir_p) as been changed to accept 0 or more arguments, as
+    mkinstalldirs did.
+
+* Long-standing bugs:
+
+  - Fix an unexpected diagnostic occurring when users attempt
+    to override some internal variables that Automake appends to.
+
+  - aclocal now scans configure.ac for macro definitions (PR/319).
+
+  - Fix a portability issue with OSF1/Tru64 Make.  If a directory
+    distributes files which are outside itself (this usually occurs
+    when using AC_CONFIG_AUX_DIR([../dir]) to use auxiliary files
+    from a parent package), then `make distcheck' fails due to an
+    optimization performed by OSF1/Tru64 Make in its VPATH handling.
+    (tests/subpkg2.test failure)
+
+  - Fix another portability issue with Sun and OSF1/Tru64 Make.
+    In a VPATH-build configuration, `make install' would install
+    nobase_ files to wrong locations.
+
+  - Fix a Perl `uninitialized value' diagnostic occurring when
+    automake complains that a Texinfo file does not have a
+    @setfilename statement.
+
+  - Erase config.status.lineno during `make distclean'.  This file
+    can be created by config.status.  Automake already knew about
+    configure.lineno, but forgot config.status.lineno.
+
+  - Distribute all files, even those which are built and installed
+    conditionally.  This change affects files listed in conditionally
+    defined *_HEADERS and *_PYTHON variable (unless they are nodist_*)
+    as well as those listed in conditionally defined dist_*_DATA,
+    dist_*_JAVA, dist_*_LISP, and dist_*_SCRIPTS variables.
+
+  - Fix AM_PATH_LISPDIR to avoid \? in sed regular expressions; it
+    doesn't conform to POSIX.
+
+  - Normalize help strings for configure variables and options added
+    by Automake macros.
+
+* Anticipation:
+
+  - Check for python2.4 in AM_PATH_PYTHON.
+
+* Spurious failures in test suite:
+
+  - tests/libtool5.test, tests/ltcond.test, tests/ltcond2.test,
+    tests/ltconv.test: fix failures with CVS Libtool.
+  - tests/aclocal6.test: fix failure if autom4te.cache is disabled.
+  - tests/txinfo24.test, tests/txinfo25.test, tests/txinfo28.test:
+    fix failures with old Texinfo versions.
+
+
+New in 1.8:
+
+* Meta-News
+
+  - The NEWS file is more verbose.
+
+* Requirements
+
+  - Autoconf 2.58 or greater is required.
+
+* New features
+
+  - Default source file names in the absence of a _SOURCES declaration
+    are made by removing any target extension before appending `.c', so
+    to make the libtool module `foo.la' from `foo.c', you only need to
+    do this:
+
+	lib_LTLIBRARIES = foo.la
+	foo_la_LDFLAGS  = -module
+
+    For backward compatibility, foo_la.c will be used instead of
+    foo.c if this file exists or is the explicit target of a rule.
+    However -Wobsolete will warn about this deprecated naming.
+
+  - AR's `cru' flags are now set in a global ARFLAGS variable instead
+    of being hard-coded in each $(AR) invocation, so they can be
+    substituted from configure.ac.  This has been requested by people
+    dealing with non-POSIX ar implementations.
+
+  - New warning option: -Woverride.  This will warn about any user
+    target or variable definitions which override Automake
+    definitions.
+
+  - Texinfo rules back up and restore info files when makeinfo fails.
+
+  - Texinfo rules now support the `html' target.
+    Running this requires Texinfo 4.0 or greater.
+
+    `html' is a new recursive target, so if your package mixes
+    hand-crafted `Makefile.in's with Automake-generated
+    `Makefile.in's, you should adjust the former to support (or
+    ignore) this target so that `make html' recurses successfully.  If
+    you had a custom `html' rule in your `Makefile.am', it's better to
+    rename it as `html-local', otherwise your rule will override
+    Automake's new rule (you can check that by running `automake
+    -Woverride') and that will stop the recursion to subdirectories.
+
+    Last but not least, this `html' rule is declared PHONY, even when
+    overridden.  Fortunately, it appears that few packages use a
+    non-PHONY `html' rule.
+
+  - Any file which is m4_included from configure.ac will appear as a
+    configure and Makefile.in dependency, and will be automatically
+    distributed.
+
+  - The rules for rebuilding Makefiles and Makefile.ins will now
+    rebuild all Makefiles and all Makefile.ins at once when one of
+    configure's dependencies has changed.  This is considerably faster
+    than previous implementations, where config.status and automake
+    were run separately in each directory (this still happens when you
+    change a Makefile.am locally, without touching configure.ac or
+    friends).  Doing this also solves a longstanding issue: these
+    rebuild rules failed to work when adding new directories to the
+    tree, forcing you to run automake manually.
+
+  - For similar reasons, the rules to rebuild configure,
+    config.status, and aclocal.m4 are now defined in all directories.
+    Note that if you were using the CONFIG_STATUS_DEPENDENCIES and
+    CONFIGURE_DEPENDENCIES (formerly undocumented) variables, you
+    should better define them in all directories.  This is easily done
+    using an AC_SUBST (make sure you prefix these dependencies with
+    $(top_srcdir) since this variable will appear at different
+    levels of the build tree).
+
+  - aclocal will now use `m4_include' instead of copying local m4
+    files into aclocal.m4.  (Local m4 files are those you ship with
+    your project, other files will be copied as usual.)
+
+    Because m4_included files are automatically distributed, it means
+    for most projects there is no point in EXTRA_DISTing the list of
+    m4 files which are used.  (You can probably get rid of
+    m4/Makefile.am if you had one.)
+
+  - aclocal will avoid touching aclocal.m4 when possible, so that
+    Autom4te's cache isn't needlessly invalidated.  This behavior can
+    be switched off with the new `--force' option.
+
+  - aclocal now uses Autoconf's --trace to detect macros which are
+    actually used and will no longer include unused macros simply
+    because they where mentioned.  This was often the case for macros
+    called conditionally.
+
+  - New options no-dist and no-dist-gzip.
+
+  - compile, depcomp, elisp-comp, install-sh, mdate-sh, mkinstalldirs,
+    py-compile, and ylwrap, now all understand --version and --help.
+
+  - Automake will now recognize AC_CONFIG_LINKS so far as removing created
+    links as part of the distclean target and including source files in
+    distributions.
+
+  - AM_PATH_PYTHON now supports ACTION-IF-FOUND and ACTION-IF-NOT-FOUND
+    argument.  The latter can be used to override the default behavior
+    (which is to abort).
+
+  - Automake will exit with $? = 63 on version mismatch.  (So does
+    Autoconf 2.58)  missing knows this, and in this case it will
+    emulate the tools as if they were absent.  Because older versions
+    of Automake and Autoconf did not use this exit code, this change
+    will only be useful in projects generated with future versions of
+    these tools.
+
+  - When using AC_CONFIG_FILES with multiple input files, Automake
+    generates the first ".in" input file for which a ".am" exists.
+    (Former versions would try to use only the first input file.)
+
+  - lisp_DATA is now allowed.  If you are using the empty ELCFILES
+    idiom to disable byte-compilation of lisp_LISP files, it is
+    recommended that you switch to using lisp_DATA.  Note that
+    this is not strictly equivalent: lisp_DATA will install elisp
+    files even if emacs is not installed, while *_LISP do not
+    install anything unless emacs is found.
+
+  - Makefiles will prefer `mkdir -p' over mkinstalldirs if it is
+    available.  This selection is achieved through the Makefile
+    variable $(mkdir_p) that is set by AM_INIT_AUTOMAKE to either
+    `mkdir -m 0755 -p --', `$(mkinstalldirs) -m 0755', or
+    `$(install_sh) -m 0755 -d'.
+
+* Obsolete features
+
+  - Because `mkdir -p' is available on most platforms, and we can use
+    `install-sh -d' when it is not, the use of the mkinstalldirs
+    script is being phased out.  `automake --add-missing' no longer
+    installs it, and if you remove mkinstalldirs from your package,
+    automake will define $(mkinstalldirs) as an alias for $(mkdir_p).
+
+    Gettext 0.12.1 still requires mkinstalldirs.  Fortunately
+    gettextize and autopoint will install it when needed.  Automake
+    will continue to define the $(mkinstalldirs) and to distribute
+    mkinstalldirs when this script is in the source tree.
+
+  - AM_PROG_CC_STDC is now empty.  The content of this macro was
+    merged in AC_PROG_CC.  If your code uses $am_cv_prog_cc_stdc, you
+    should adjust it to use $ac_cv_prog_cc_stdc instead.  (This
+    renaming should be safe, even if you have to support several,
+    versions of Automake, because AC_PROG_CC defines this variable
+    since Autoconf 2.54.)
+
+  - Some users where using the undocumented ACLOCAL_M4_SOURCES
+    variable to override the aclocal.m4 dependencies computed
+    (inaccurately) by older versions of Automake.  Because Automake
+    now tracks configure's m4 dependencies accurately (see m4_include
+    above), the use of ACLOCAL_M4_SOURCES should be considered
+    obsolete and will be flagged as such when running `automake
+    -Wobsolete'.
+
+* Bug fixes
+
+  - Defining programs conditionally using Automake conditionals no
+    longer leads to a combinatorial explosion.  The following
+    construct used to be troublesome when used with dozens of
+    conditions.
+
+      bin_PROGRAMS = a
+      if COND1
+        bin_PROGRAMS += a1
+      endif
+      if COND2
+        bin_PROGRAMS += a2
+      endif
+      if COND3
+        bin_PROGRAMS += a3
+      endif
+      ...
+
+    Likewise for _SOURCES, _LDADD, and _LIBADD variables.
+
+  - Due to implementation constraints, previous versions of Automake
+    proscribed multiple conditional definitions of some variables
+    like bin_PROGRAMS:
+
+      if COND1
+        bin_PROGRAMS = a1
+      endif
+      if COND2
+        bin_PROGRAMS = a2
+      endif
+
+    All _PROGRAMS, _LDADD, and _LIBADD variables were affected.
+    This restriction has been lifted, and these variables now
+    support multiple conditional definitions as do other variables.
+
+  - Cleanup the definitions of $(distdir) and $(top_distdir).
+    $(top_distdir) now points to the root of the distribution
+    directory created during `make dist', as it did in Automake 1.4,
+    not to the root of the build tree as it did in intervening
+    versions.  Furthermore these two variables are now only defined in
+    the top level Makefile, and passed to sub-directories when running
+    `make dist'.
+
+  - The --no-force option now correctly checks the Makefile.in's
+    dependencies before deciding not to update it.
+
+  - Do not assume that make files are called Makefile in cleaning rules.
+
+  - Update .info files in the source tree, not in the build tree.  This
+    is what the GNU Coding Standard recommend.  Only Automake 1.7.x
+    used to update these files in the build tree (previous versions did
+    it in the source tree too), and it caused several problems, varying
+    from mere annoyance to portability issues.
+
+  - COPYING, COPYING.LIB, and COPYING.LESSER are no longer overwritten
+    when --add-missing and --force-missing are used.  For backward
+    compatibility --add-missing will continue to install COPYING (in
+    `gnu' strictness) when none of these three files exist, but this
+    use is deprecated: you should better choose a license yourself and
+    install it once for all in your source tree (and in your code
+    management system).
+
+  - Fix ylwrap so that it does not overwrite header files that haven't
+    changed, as the inline rule already does.
+
+  - User-defined rules override automake-defined rules for the same
+    targets, even when rules do not have commands.  This is not new
+    (and was documented), however some of the automake-generated
+    rules have escaped this principle in former Automake versions.
+    Rules for the following targets are affected by this fix:
+
+       clean, clean-am, dist-all, distclean, distclean-am, dvi, dvi-am,
+       info, info-am, install-data-am, install-exec-am, install-info,
+       install-info-am, install-man, installcheck-am, maintainer-clean,
+       maintainer-clean-am, mostlyclean, mostlyclean-am, pdf, pdf-am,
+       ps, ps-am, uninstall-am, uninstall-info, uninstall-man
+
+    Practically it means that an attempt to supplement the dependencies
+    of some target, as in
+
+       clean: my-clean-rule
+
+    will now *silently override* the automake definition of the
+    rule for this target.  Running `automake -Woverride' will diagnose
+    all such overriding definitions.
+
+    It should be noted that almost all these targets support a *-local
+    variant that is meant to supplement the automake-defined rule
+    (See node `Extending' in the manual).  The above rule should
+    be rewritten as
+
+      clean-local: my-clean-rule
+
+    These *-local targets have been documented since at least
+    Automake 1.2, so you should not fear the change if you have
+    to support multiple automake versions.
+
+* Miscellaneous
+
+  - The Automake manual is now distributed under the terms of the GNU FDL.
+
+  - Targets dist-gzip, dist-bzip2, dist-tarZ, dist-zip are always defined.
+
+  - core dumps are no longer removed by the cleaning rules.  There are
+    at least three reasons for this:
+      1. These files should not be created by any build step,
+	 so their removal do not fit any of the cleaning rules.
+	 Actually, they may be precious to the developer.
+      2. If such file is created during a build, then it's clearly a
+         bug Automake should not hide.  Not removing the file will
+         cause `make distcheck' to complain about its presence.
+      3. Operating systems have different naming conventions for
+         core dump files.  A core file on one system might be a
+	 completely legitimate data file on another system.
+
+  - RUNTESTFLAGS, CTAGSFLAGS, ETAGSFLAGS, JAVACFLAGS are no longer
+    defined by Automake.  This means that any definition in the
+    environment will be used, unless overridden in the Makefile.am or
+    on the command line.  The old behavior, where these variables were
+    defined empty in each Makefile, can be obtained by AC_SUBSTing or
+    AC_ARG_VARing each variable from configure.ac.
+
+  - CONFIGURE_DEPENDENCIES and CONFIG_STATUS_DEPENDENCIES are now
+    documented.  (The is not a new feature, these variables have
+    been there since at least Automake 1.4.)
+
+
+Bugs fixed in 1.7.9:
+* Fix install-strip to work with nobase_ binaries.
+* Fix renaming of #line directives in ylwrap.
+* Rebuild with Autoconf 2.59.  (1.7.8 was not installable with pdksh.)
+
+
+Bugs fixed in 1.7.8:
+* Remove spurious blank lines in cleaning rules introduced in 1.7.7.
+* Fix detection of Debian's install-info, broken since version 1.5.
+  (Debian bug #213524).
+* Honor -module if it appears in AM_LDFLAGS (i.e., relax name checking)
+  This was only done for libfoo_LDFLAGS and LDFLAGS in previous versions.
+
+
+Bugs fixed in 1.7.7:
+* The implementation of automake's --no-force option is unreliable,
+  so this option is ignored in this version.  A real fix will appear in
+  Automake 1.8.  (Debian Bug #206299)
+* AM_PATH_PYTHON: really check the whole list of interpreters if no
+  argument is given.  (PR/399)
+* Do not warn about leading `_' in variable names, even with -Wportability.
+* Support user redefinitions of TEXINFO_TEX.
+* depcomp: support AIX Compiler version 6.
+* Fix missing rebuilds during `make dist' with BSD make.
+  (Could produce tarballs containing out-of-date files.)
+* Resurrect multilib support.
+* Noteworthy manual updates:
+  - Extending aclocal: how to write m4 macros that won't trigger warnings
+    with Automake 1.8.
+  - A Shared Library: Rewrite and split into subsections.
+
+
+Bugs fixed in 1.7.6:
+* Fix depcomp's icc mode for ICC 7.1.
+* Diagnose calls to AC_CONFIG_FILES and friends with not enough arguments.
+* Fix maintainer-clean's removal of autom4te.cache in VPATH builds.
+* Fix AM_PATH_LISPDIR to work with POSIXLY_CORRECT=1.
+* Fix the location reported in some diagnostics related to AUTOMAKE_OPTIONS.
+* Remove Latin-1 characters from elisp-comp.
+* Update the manual's @dircategory to match the Free Software Directory.
+
+
+Bugs fixed in 1.7.5:
+* Update install-sh's license to remove an advertising clause.
+  (Debian bug #191717)
+* Fix a bug introduced in 1.7.4, related to BUILT_SOURCE handling,
+  that caused invalid Makefile.ins to be generated.
+* Make sure AM_MAKE_INCLUDE doesn't fail when a `doit' file exists.
+* New FAQ entry: renamed objects.
+
+
+Bugs fixed in 1.7.4:
+* Tweak the TAGS rule to support Exuberant Ctags (in addition to
+  the Emacs implementation)
+* Fix output of aclocal.m4 dependencies in subdirectories.
+* Use `mv -f' instead of `mv' in fastdep rules.
+* Upgrade mdate-sh to work on OS/2.
+* Don't byte-compile elisp files when ELCFILES is set empty.
+  (this documented feature was broken by 1.7.3)
+* Diagnose trailing backslashes on last line of Makefile.am.
+* Diagnose whitespace following trailing backslashes.
+* Multiple tests are now correctly supported in DEJATOOL. (PR/388)
+* Fix rebuilt rules for AC_CONFIG_FILES([Makefile:Makefile.in:Makefile.bot])
+  Makefiles. (PR/389)
+* `make install' will build `BUILT_SOURCES' first.
+* Minor documentation fixes.
+
+
+Bugs fixed in 1.7.3:
+* Fix stamp files numbering (when using multiple AC_CONFIG_HEADERS).
+* Query distutils for `pythondir' and `pythonexecdir', instead of
+  using an hardcoded path.  This should allow builds on 64-bit
+  distributions that usually use lib64/ instead of lib/.
+* AM_PATH_PYTHON will also search for python2.3.
+* elisp files are now built all at once instead of one by one. Besides
+  incurring a speed-up, this is required to support interdependent elisp files.
+* Support for DJGPP:
+  - `make distcheck' will now work in `_inst/' and `_build' instead
+    of `=inst/' and `=build/'
+  - use `_dirstamp' when the file-system doesn't support `.dirstamp'
+  - install/uninstall `*.i[0-9][0-9]'-style info files
+  - more changes that affect only the Automake package (not its output)
+* Fix some incompatibilities with upcoming perl-5.10.
+* Properly quote AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION when defining
+  PACKAGE and VERSION.
+* depcomp fixes:
+  - dashmstdout and dashXmstdout modes: don't use `-o /dev/null', this
+    is troublesome with gcc and Solaris compilers. (PR/385)
+  - makedepend mode: work with Libtool. (PR/385 too)
+  - support for ICC.
+* better support for unusual gettext setups, such as multiple po/ directories
+  (PR/381):
+  - Flag missing po/ and intl/ directories as warnings, not errors.
+  - Disable these warnings if po/ does not exist.
+* Noteworthy manual updates:
+  - New FAQ chapter.
+  - Document how AC_CONFIG_AUX_DIR interacts with missing files.
+    (Debian Bug #39542)
+  - Document `AM_YFLAGS = -d'.  (PR/382)
+
+
+Bugs fixed in 1.7.2:
+* Fix installation and uninstallation of Info files built in subdirectories.
+* Do not run `./configure --with-included-gettext' during `make distcheck'
+  if AM_GNU_GETTEXT([external]) is used.
+* Correctly uninstall renamed man pages.
+* Do not strip escaped newline in variables defined in one condition
+  and augmented in another condition.
+* Fix ansi2knr rules for LIBOBJS sources.
+* Clean all known Texinfo index files, not only those which appear to
+  be used, because we cannot know wich indexes are used in included files.
+  (PR/375, Debian Bug #168671)
+* Honor only the first @setfilename seen in a Texinfo file.
+* Treat "required file X not found" diagnostics as errors (exit status 1).
+* Don't complain that a required file is not found when it is a Makefile
+  target. (PR/357)
+* Don't use single suffix inference rules when building `.info'-less
+  Info files, for the sake of Solaris make.
+* The `check' target now depends on `$(BUILT_SOURCES)'. (PR/359)
+* Recognize multiple inference rules such as `.a.b .c.d:'. (PR/371)
+* Warn about multiple inference rules when -Wportability is used. (PR/372)
+* Fix building of deansified files from subdirectories. (PR/370)
+* Add missing `fi' in the .c->.obj rules.
+* Improve install-sh to work even when names contain spaces or certain
+  (but not all) shell metachars.
+* Fix the following spurious failures in the test suite:
+  depcomp2.test, gnits2.test, gnits3.test, python3.test, texinfo13.test
+* Noteworthy manual updates:
+  - Augment the section about BUILT_SOURCES.
+  - Mention that AM_PROG_CC_STDC is a relic that is better avoided today.
+
+
+Bugs fixed in 1.7.1:
+* Honor `ansi2knr' for files built in subdirectories, or using per-targets
+  flags.
+* Aclocal should now recognize macro names containing parentheses, e.g.
+  AC_DEFUN([AC_LANG_PREPROC(Fortran 90)], [...]).
+* Erase *.sum and *.log files created by DejaGnu, during `make distclean'.
+  (Debian Bug#153697)
+* Install Python files even if they were built.  (PR/369)
+* Have stamp-vti dependent upon configure instead of configure.ac, as the
+  version might not be defined in the latter. (PR/358)
+* Reorder arguments passed to a couple of commands, so things works
+  when POSIXLY_CORRECT=1.
+* Fix a regex that can cause Perl to segfault on large input.
+  (Debian Bug#162583)
+* Fix distribution of packages that have some sources defined conditionally,
+  as in the `Conditional compilation using Automake conditionals' example
+  of the manual.
+* Fix spurious test suite failures on IRIX.
+* Don't report a required variable as undefined if it has been
+  defined conditionally for the "right" conditions.
+* Fix cleaning of the /tmp subdirectory used by `make distcheck', in case
+  `make distcheck' fails.
+* Fix distribution of included Makefile fragment, so we don't create
+  spurious directories in the distribution. (PR/366)
+* Don't complain that a target lacks `.$(EXEEXT)' when it has it.
+
+
+New in 1.7:
+* Autoconf 2.54 is required.
+* `aclocal' and `automake' will no longer warn about obsolete
+  configure macros.  This is done by `autoconf -Wobsolete'.
+* AM_CONFIG_HEADER, AM_SYS_POSIX_TERMIOS and
+  AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL are obsolete (although still
+  supported).  You should use AC_CONFIG_HEADERS, AC_SYS_POSIX_TERMIOS,
+  and AC_HEADER_TIOCGWINSZ instead.  `autoupdate' can upgrade
+  `configure.ac' for you.
+* Support for per-program and per-library `_CPPFLAGS'.
+* New `ctags' target (builds CTAGS files).
+* Support for -Wmumble and -Wno-mumble, where mumble is a warning category
+  (see `automake --help' or the manual for a list of them).
+* Honor the WARNINGS environment variable.
+* Omit the call to depcomp when using gcc3: call the compiler directly.
+* A new option, std-options, tests that programs support --help and --version
+  when `make installcheck' is run.  This is enabled by --gnits.
+* Texinfo rules now support the `ps' and `pdf' targets.
+* Info files are now created in the build directory, not the source directory.
+* info_TEXINFOS supports files in subdirectories (this requires Texinfo 4.1
+  or greater).
+* `make distcheck' will enforce DESTDIR support by attempting
+  a DESTDIR install.
+* `+=' can be used in conditionals, even if the augmented variable
+  was defined for another condition.
+* Makefile fragments (inserted with `include') are always distributed.
+* Use Autoconf's --trace interface to inspect configure.ac and get
+  a more accurate view of it.
+* Add support for extending aclocal's default macro search path
+  using a `dirlist' file within the aclocal directory.
+* automake --output-dir is deprecated.
+* The part of the distcheck target that checks whether uninstall actually
+  removes all installed files has been moved in a separate target,
+  distuninstallcheck, so it can be overridden easily.
+* Many bug fixes.
+
+
+New in 1.6.3:
+* Support for AM_INIT_GETTEXT([external])
+* Bug fixes, including:
+  - Fix Automake's own `make install' so it works even if `ln' doesn't.
+  - nobase_ programs and scripts honor --program-transform correctly.
+  - Erase configure.lineno during `make distclean'.
+  - Erase YACC and LEX outputs during `make maintainer-clean'.
+
+
+New in 1.6.2:
+* Many bug fixes, including:
+  - Requiring the current version works.
+  - Fix "$@" portability issues (for Zsh).
+  - Fix output of dummy dependency files in presence of post-processed
+    Makefile.in's.
+  - Don't compute dependencies in background to avoid races with libtool.
+  - Fix handling of _OBJECTS variables for targets sharing source variables.
+  - Check dependency mode for Java when AM_PROG_GCJ is used.
+
+
+New in 1.6.1:
+* automake --output-dir is deprecated
+* Many bug fixes, including:
+  - Don't choke on AM_LDFLAGS definitions.
+  - Clean libtool objects from subdirectories.
+  - Allow configure variables with reserved suffix and unknown prefix
+    (e.g. AC_SUBST(mumble_LDFLAGS) when 'mumble' is not a target).
+  - Fix the definition of AUTOMAKE and ACLOCAL in configure.
+
+
+New in 1.6:
+* Autoconf 2.52 is required.
+* automake no longer run libtoolize.
+  This is the job of autoreconf (from GNU Autoconf).
+* `dist' generates all the archive flavors, as did `dist-all'.
+* `dist-gzip' generates the Gzip tar file only.
+* Combining Automake Makefile conditionals no longer lead to a combinatorial
+  explosion.  Makefile.in's keep a reasonable size.
+* AM_FUNC_ERROR_AT_LINE, AM_FUNC_STRTOD, AM_FUNC_OBSTACK, AM_PTRDIFF_T
+  are no longer shipped, since Autoconf 2.52 provides them (both as AM_
+  and AC_).
+* `#line' of Lex and Yacc files are properly set.
+* EXTRA_DIST can contain generated directories.
+* Support for dot-less extensions in suffix rules.
+* The part of the distcheck target that checks whether distclean actually
+  cleans all built files has been moved in a separate target, distcleancheck,
+  so it can be overridden easily.
+* `make distcheck' will pass additional options defined in
+  $(DISTCHECK_CONFIGURE_FLAGS) to configure.
+* Fixed CDPATH portability problems, in particular for MacOS X.
+* Fixed handling of nobase_ targets.
+* Fixed support of implicit rules leading to .lo objects.
+* Fixed late inclusion of --add-missing files (e.g. depcomp) in DIST_COMMON
+* Added uninstall-hook target
+* `AC_INIT AM_INIT_AUTOMAKE(tarname,version)' is an obsolete construct.
+  You can now use `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' instead.
+  (Note that "pkgname" is not "tarname", see the manual for details.)
+  It is also possible to pass a list of global Automake options as
+  first argument to this new form of AM_INIT_AUTOMAKE.
+* Compiler-based assembler is now called `CCAS'; people expected `AS'
+  to be a real assembler.
+* AM_INIT_AUTOMAKE will set STRIP itself when it needs it.  Adding
+  AC_CHECK_TOOL([STRIP], [strip]) manually is no longer required.
+* aclocal and automake are also installed with the version number
+  appended, and some of the install directory names have changed.
+  This lets you have multiple versions installed simultaneously.
+* Support for parsers and lexers in subdirectories.
+
+
+New in 1.5:
+* Support for `configure.ac'.
+* Support for `else COND', `endif COND' and negated conditions `!COND'.
+* `make dist-all' is much faster.
+* Allows '@' AC_SUBSTs in macro names.
+* Faster AM_INIT_AUTOMAKE (requires update of `missing' script)
+* User-side dependency tracking.  Developers no longer need GNU make
+* Python support
+* Uses DIST_SUBDIRS in some situations when SUBDIRS is conditional
+* Most files are correctly handled if they appear in subdirs
+  For instance, a _DATA file can appear in a subdir
+* GNU tar is no longer required for `make dist'
+* Added support for `dist_' and `nodist_' prefixes
+* Added support for `nobase_' prefix
+* Compiled Java support
+* Support for per-executable and per-library compilation flags
+* Many bug fixes
+
+
+New in 1.4:
+* Added support for the Fortran 77 programming language.
+* Re-indexed the Automake Texinfo manual.
+* Added `AM_FOOFLAGS' variable for each compiler invocation;
+  e.g. AM_CFLAGS can be used in Makefile.am to set C compiler flags
+* Support for latest autoconf, including support for objext
+* Can now put `.' in SUBDIRS to control build order
+* `include' command and `+=' support for macro assignment
+* Dependency tracking no long susceptible to deleted header file problem
+* Maintainer mode now a conditional.  @MAINT@ is now an anachronism.
+* Bug fixes
+
+
+New in 1.3:
+* Bug fixes
+* Better Cygwin32 support
+* Support for suffix rules with _SOURCES variables
+* New options `readme-alpha' and `check-news'; Gnits mode sets these
+* @LEXLIB@ no longer required when lex source seen
+  Lex support in `missing', and new lex macro.  Update your missing script.
+* Built-in support for assembly
+* aclocal gives error if `AM_' macro not found
+* Passed YFLAGS, not YACCFLAGS, to yacc
+* AM_PROG_CC_STDC does not have to come before AC_PROG_CPP
+* Dependencies computed as a side effect of compilation
+* Preliminary support for Java
+* DESTDIR support at "make install" time
+* Improved ansi2knr support; you must use the latest ansi2knr.c (included)
+
+
+New in 1.2:
+* Bug fixes
+* Better DejaGnu support
+* Added no-installinfo option
+* Added Emacs Lisp support
+* Added --no-force option
+* Included `aclocal' program
+* Automake will now generate rules to regenerate aclocal.m4, if appropriate
+* Now uses `AM_' macro names everywhere
+* ansi2knr option can have directory prefix (eg `../lib/ansi2knr')
+  ansi2knr now works correctly on K&R sources
+* Better C++, yacc, lex support
+* Will compute _DEPENDENCIES variables automatically if not supplied
+* Will interpolate $(...) and ${...} when examining contents of a variable
+* .deps files now in build directory, not source directory; dependency
+  handling generally rewritten
+* DATA, MANS and BUILT_SOURCES no longer included in distribution
+* can now put config.h into a subdir
+* Added dist-all target
+* Support for install-info program (see texinfo 3.9)
+* Support for "yacc -d"
+* configure substitutions are automatically discovered and included
+  in generated Makefile.in
+* Special --cygnus mode
+* OMIT_DEPENDENCIES can now hold list of dependencies to be omitted
+  when making distribution.  Some dependencies are auto-ignored.
+* Changed how libraries are specified in _LIBRARIES variable
+* Full libtool support, from Gord Matzigkeit
+* No longer have to explicitly touch stamp-h when using AC_CONFIG_HEADER;
+  AM_CONFIG_HEADER handles it automatically
+* Texinfo output files no longer need .info extension
+* Added `missing' support
+* Cygwin32 support
+* Conditionals in Makefile.am, from Ian Taylor
+
+
+New in 1.0:
+* Bug fixes
+* distcheck target runs install and installcheck targets
+* Added preliminary support for DejaGnu.
+
+
+New in 0.33:
+* More bug fixes
+* More checking
+* More libtool fixes from Gord Matzigkeit; libtool support is still
+  preliminary however
+* Added support for jm_MAINTAINER_MODE
+* dist-zip support
+* New "distcheck" target
+
+
+New in 0.32:
+* Many bug fixes
+* mkinstalldirs and mdate-sh now appear in directory specified by
+  AC_CONFIG_AUX_DIR.
+* Removed DIST_SUBDIRS, DIST_OTHER
+* AC_ARG_PROGRAM only required when an actual program exists
+* dist-hook target now run before distribution packaged up; idea from
+  Dieter Baron.  Other hooks exist, too.
+* Preliminary (unfinished) support for libtool
+* Added short option names.
+* Better "dist" support when gluing together multiple packages
+
+
+New in 0.31:
+* Bug fixes
+* Documentation updates (many from François Pinard)
+* strictness `normal' now renamed to `foreign'
+* Renamed --install-missing to --add-missing
+* Now handles AC_CONFIG_AUX_DIR
+* Now handles TESTS macro
+* DIST_OTHER renamed to EXTRA_DIST
+* DIST_SUBDIRS is deprecated
+* @ALLOCA@ and @LIBOBJS@ now work in _LDADD variables
+* Better error messages in many cases
+* Program names are canonicalized
+* Added "check" prefix; from Gord Matzigkeit
+
+
+New in 0.30:
+* Bug fixes
+* configure.in scanner knows about AC_PATH_XTRA, AC_OUTPUT ":" syntax
+* Beginnings of a test suite
+* Automatically adds -I options for $(srcdir), ".", and path to config.h
+* Doesn't print anything when running
+* Beginnings of MAINT_CHARSET support
+* Can specify version in AUTOMAKE_OPTIONS
+* Most errors recognizable by Emacs' M-x next-error
+* Added --verbose option
+* All "primary" variables now obsolete; use EXTRA_PRIMARY to supply
+  configure-generated names
+* Required macros now distributed in aclocal.m4
+* New documentation
+* --strictness=gnu is default
+
+
+New in 0.29:
+* Many bug fixes
+* More sophisticated configure.in scanning; now understands ALLOCA and
+  LIBOBJS directly, handles AC_CONFIG_HEADER more precisely, etc.
+* TEXINFOS and MANS now obsolete; use info_TEXINFOS and man_MANS instead.
+* CONFIG_HEADER variable now obsolete
+* Can handle multiple Texinfo sources
+* Allow hierarchies deeper than 2.  From Gord Matzigkeit.
+* HEADERS variable no longer needed; now can put .h files directly into
+  foo_SOURCES variable.
+* Automake automatically rebuilds files listed in AC_OUTPUT.  The
+  corresponding ".in" files are included in the distribution.
+
+
+New in 0.28:
+* Added --gnu and --gnits options
+* More standards checking
+* Bug fixes
+* Cleaned up 'dist' targets
+* Added AUTOMAKE_OPTIONS variable and several options
+* Now scans configure.in to get some information (preliminary)
+
+
+New in 0.27:
+* Works with Perl 4 again
+
+
+New in 0.26:
+* Added --install-missing option.
+* Pretty-prints generated macros and rules
+* Comments in Makefile.am are placed more intelligently in Makefile.in
+* Generates .PHONY target
+* Rule or macro in Makefile.am now overrides contents of Automake file
+* Substantial cleanups from François Pinard
+
+
+New in 0.25:
+* Bug fixes.
+* Works with Perl 4 again.
+
+
+New in 0.24:
+* New uniform naming scheme.
+* --strictness option
+* Works with Perl 5
+* '.c' files corresponding to '.y' or '.l' files are automatically
+  distributed.
+* Many bug fixes and cleanups
+
+
+New in 0.23:
+* Allow objects to be conditionally included in libraries via lib_LIBADD.
+
+
+New in 0.22:
+* Bug fixes in 'clean' code.
+* Now generates 'installdirs' target.
+* man page installation reworked.
+* 'make dist' no longer re-creates all Makefile.in's.
+
+
+New in 0.21:
+* Reimplemented in Perl
+* Added --amdir option (for debugging)
+* Texinfo support cleaned up.
+* Automatic de-ANSI-fication cleaned up.
+* Cleaned up 'clean' targets.
+
+
+New in 0.20:
+* Automatic dependency tracking
+* More documentation
+* New variables DATA and PACKAGEDATA
+* SCRIPTS installed using $(INSTALL_SCRIPT)
+* No longer uses double-colon rules
+* Bug fixes
+* Changes in advance of internationalization
+
+-----
+
+Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+2004, 2005  Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Automake; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/README
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/README	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/README	(revision 3089)
@@ -0,0 +1,57 @@
+This is Automake, a Makefile generator.  It was inspired by the 4.4BSD
+make and include files, but aims to be portable and to conform to the
+GNU Coding Standards for Makefile variables and targets.
+
+Automake is a Perl script.  The input files are called Makefile.am.
+The output files are called Makefile.in; they are intended for use
+with Autoconf.  Automake requires certain things to be done in your
+configure.ac.
+
+Variable assignment lines in Makefile.am pull in defaults from various
+little *.am files.
+
+To use Automake, replace your Makefile.in files with Makefile.am
+files.  Read the documentation to see what to do.
+
+This package also includes the "aclocal" program.  aclocal is a
+program to generate an `aclocal.m4' based on the contents of
+`configure.ac'.  It is useful as an extensible, maintainable mechanism
+for augmenting autoconf.  It is intended that other package authors
+will write m4 macros which can be automatically used by aclocal.
+
+Automake has a page on the web.  See:
+
+	http://sources.redhat.com/automake/
+
+The mailing list automake@gnu.org is for discussion of Automake and
+its interactions with other configuration/portability tools like
+Autoconf or Libtool.  Write to automake-request@gnu.org if you want to
+join.
+
+Mail suggestions and bug reports to bug-automake@gnu.org, patches
+to automake-patches@gnu.org.
+
+New releases are announced to autotools-announce@gnu.org.  Write to
+autotools-announce-request@gnu.org if you want to receive them.
+
+-----
+
+Copyright (C) 1994, 1995, 1996, 1997, 1998, 2001, 2003
+  Free Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
Index: /trunk/essentials/sys-devel/automake-1.9/THANKS
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/THANKS	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/THANKS	(revision 3089)
@@ -0,0 +1,284 @@
+Automake was originally written by David J. MacKenzie <djm@uunet.uu.net>.
+It would not be what it is today without the invaluable help of these
+people:
+
+Adam J. Richter		adam@yggdrasil.com
+Adrian Bunk		bunk@fs.tum.de
+Akim Demaille		akim@freefriends.org
+Alan Modra		amodra@bigpond.net.au
+Alex Hornby		alex@anvil.co.uk
+Alexander Mai		st002279@hrzpub.tu-darmstadt.de
+Alexander V. Lukyanov	lav@yars.free.net
+Alexander Turbov	zaufi@sendmail.ru
+Alexandre Duret-Lutz	duret_g@epita.fr
+Alexey Mahotkin		alexm@hsys.msk.ru
+Andreas Buening		andreas.buening@nexgo.de
+Andreas Schwab		schwab@suse.de
+Andrew Cagney		cagney@tpgi.com.au
+Andrew Suffield		asuffield@debian.org
+Andris Pavenis		pavenis@lanet.lv
+Angus Leeming		a.leeming@ic.ac.uk
+Anthony Green		green@cygnus.com
+Arkadiusz Miskiewicz	misiek@pld.ORG.PL
+Art Haas		ahaas@neosoft.com
+Assar Westerlund	assar@sics.se
+Axel Belinfante		Axel.Belinfante@cs.utwente.nl
+Bernard Giroud		bernard.giroud@creditlyonnais.ch
+Bernard Urban		Bernard.Urban@meteo.fr
+Bernd Jendrissek	berndfoobar@users.sourceforge.net
+Bill Currie		bcurrie@tssc.co.nz
+Bill Davidson		bill@kayhay.com
+Bill Fenner		fenner@parc.xerox.com
+Bob Friesenhahn		bfriesen@simple.dallas.tx.us
+Bob Proulx		rwp@hprwp.fc.hp.com
+Braden N. McDaniel	braden@endoframe.com
+Brendan O'Dea		bod@compusol.com.au
+Brian Ford		ford@vss.fsi.com
+Brian Gough		bjg@network-theory.co.uk
+Brian Jones		cbj@nortel.net
+Bruce Korb		bkorb@gnu.org
+Bruno Haible		haible@ilog.fr
+Charles Wilson		cwilson@ece.gatech.edu
+Chris Provenzano	proven@io.proven.org
+Christian Cornelssen	ccorn@cs.tu-berlin.de
+Dalibor Topic		robilad@kaffe.org
+danbp			danpb@nospam.postmaster.co.uk
+Daniel Jacobowitz	drow@false.org
+Dave Brolley		brolley@redhat.com
+Dave Morrison		dave@bnl.gov
+David A. Swierczek	swiercze@mr.med.ge.com
+David Pashley		david@davidpashley.com
+David Zaroski		cz253@cleveland.Freenet.Edu
+Dean Povey		dpovey@wedgetail.com
+Derek R. Price		derek.price@openavenue.com
+Didier Cassirame	faded@free.fr
+Dieter Baron		dillo@stieltjes.smc.univie.ac.at
+Dmitry Mikhin		dmitrym@acres.com.au
+Doug Evans		devans@cygnus.com
+Duncan Gibson		duncan@thermal.esa.int
+Ed Hartnett		ed@unidata.ucar.edu
+Eleftherios Gkioulekas	lf@amath.washington.edu
+Elena A. Vengerova	helen@oktetlabs.ru
+Elmar Hoffmann		elho@elho.net
+Elrond			Elrond@Wunder-Nett.org
+Enrico Scholz		enrico.scholz@informatik.tu-chemnitz.de
+Erez Zadok		ezk@cs.columbia.edu
+Eric Blake		ebb9@byu.net
+Eric Magnien		emagnien@club-internet.fr
+Eric Siegerman		erics_97@pobox.com
+Eric Sunshine		sunshine@sunshineco.com
+Erick Branderhorst	branderh@iaehv.nl
+Erik Lindahl		E.Lindahl@chem.rug.nl
+Esben Haabendal Soerensen bart@kom.aau.dk
+Ezra Peisach		epeisach@MED-XTAL.BU.EDU
+Flavien Astraud		flav42@yahoo.fr
+FranÃ§ois Pinard		pinard@iro.umontreal.ca
+Fred Fish		fnf@ninemoons.com
+Ganesan Rajagopal	rganesan@novell.com
+Garrett D'Amore		garrett@qualcomm.com
+Garth Corral		garthc@inktomi.com
+Gary V Vaughan		gvaughan@oranda.demon.co.uk
+Glenn Amerine		glenn@pie.mhsc.org
+Gord Matzigkeit		gord@gnu.ai.mit.edu
+Gordon Sadler		gbsadler1@lcisp.com
+Greg A. Woods		woods@most.weird.com
+Greg Schafer		gschafer@zip.com.au
+Guido Draheim		guidod@gmx.de
+Gustavo Carneiro	gjc@inescporto.pt
+Gwenole Beauchesne      gbeauchesne@mandrakesoft.com
+H.J. Lu			hjl@lucon.org
+H.Merijn Brand		h.m.brand@hccnet.nl
+Harald Dunkel		harald@CoWare.com
+Harlan Stenn		Harlan.Stenn@pfcs.com
+He Li  			tippa000@yahoo.com
+Henrik Frystyk Nielsen	frystyk@w3.org
+Ian Lance Taylor	ian@cygnus.com
+Imacat			imacat@mail.imacat.idv.tw
+Inoue			inoue@ainet.or.jp
+James Amundson		amundson@users.sourceforge.net
+James Henstridge	james@daa.com.au
+James R. Van Zandt	jrv@vanzandt.mv.com
+James Youngman		jay@gnu.org
+Janos Farkas		chexum@shadow.banki.hu
+Jared Davis		abiword@aiksaurus.com
+Jason Duell		jcduell@lbl.gov
+Jason Molenda		crash@cygnus.co.jp
+Jeff Bailey		Jbailey@phn.ca
+Jeff Garzik		jgarzik@pobox.com
+Jeff Squyres		jsquyres@lam-mpi.org
+Jens Elkner		elkner@imsgroup.de
+Jens KrÃŒger		jens_krueger@physik.tu-muenchen.de
+Jens Petersen		petersen@redhat.com
+Jeremy Nimmer		jwnimmer@alum.mit.edu
+Jerome Lovy		jlovy@multimania.com
+Jerome Santini		santini@chambord.univ-orleans.fr
+Jim Meyering		meyering@na-net.ornl.gov
+Jochen Kuepper		jochen@uni-duesseldorf.de
+Joel N. Weber II	nemo@koa.iolani.honolulu.hi.us
+Joerg-Martin Schwarz	jms@jms.prima.ruhr.de
+Johan Danielsson	joda@pdc.kth.se
+Johannes Nicolai	johannes.nicolai@student.hpi.uni-potsdam.de
+John Pierce		hawkfan@pyrotechnics.com
+John W. Coomes		jcoomes@eng.Sun.COM
+Josh MacDonald		jmacd@cs.berkeley.edu
+Joshua Cowan		jcowan@jcowan.reslife.okstate.edu
+js pendry		js.pendry@msdw.com
+Juergen A. Erhard	jae@laden.ilk.de
+Juergen Keil		jk@tools.de
+Julien Sopena		julien.sopena@lip6.fr
+Karl Berry		kb@cs.umb.edu
+Karl Heuer		kwzh@gnu.org
+Kelley Cook		kcook@gcc.gnu.org
+Kevin Dalley		kevin@aimnet.com
+Kevin P. Fleming.	kpfleming@cox.net
+Kevin Ryde		user42@zip.com.au
+Kevin Street		street@iname.com
+Klaus Reichl		Klaus.Reichl@alcatel.at
+L. Peter Deutsch	ghost@aladdin.com
+Ladislav Strojil	Ladislav.Strojil@seznam.cz
+Larry Jones		larry.jones@sdrc.com
+Lars Hecking		lhecking@nmrc.ucc.ie
+Lars J. Aas		larsa@sim.no
+Laurent Morichetti	laurentm@cup.hp.com
+Leo Davis		ldavis@fonix.com
+Leonardo Boiko		leoboiko@conectiva.com.br
+Loulou Pouchet		loulou@lrde.epita.fr
+Maciej Stachowiak	mstachow@mit.edu
+Maciej W. Rozycki	macro@ds2.pg.gda.pl
+Manu Rouat		emmanuel.rouat@wanadoo.fr
+Marcus Brinkmann	Marcus.Brinkmann@ruhr-uni-bochum.de
+Marcus G. Daniels	mgd@ute.santafe.edu
+Marius Vollmer		mvo@zagadka.ping.de
+Mark D. Baushke		mdb@cvshome.org
+Mark Eichin		eichin@cygnus.com
+Mark Elbrecht		snowball3@bigfoot.com
+Mark Galassi		rosalia@nis.lanl.gov
+Mark Mitchell		mark@codesourcery.com
+Mark Phillips		msp@nortelnetworks.com
+Markku Rossi		mtr@ngs.fi
+Markus F.X.J. Oberhumer	k3040e4@wildsau.idv-edu.uni-linz.ac.at
+Martin Bravenboer       martin@cs.uu.nl
+Martin Frydl		martin@idoox.com
+Mathias Doreille	doreille@smr.ch
+Mathias Froehlich	M.Froehlich@science-computing.de
+Matt Leach		mleach@cygnus.com
+Matthew D. Langston	langston@SLAC.Stanford.EDU
+Matthias Andree		matthias.andree@gmx.de
+Matthias Clasen		clasen@mathematik.uni-freiburg.de
+Maxim Sinev		good@goods.ru
+Merijn de Jonge		M.de.Jonge@cwi.nl
+Michael Brantley	Michael-Brantley@deshaw.com
+Michel de Ruiter	mdruiter@cs.vu.nl
+Mike Castle		dalgoda@ix.netcom.com
+Mike Nolta		mrnolta@princeton.edu
+Miles Bader		miles@ccs.mt.nec.co.jp
+Miloslav Trmac		trmac@popelka.ms.mff.cuni.cz
+Miodrag Vallat		miodrag@ifrance.com
+Mirko Streckenbach	strecken@infosun.fmi.uni-passau.de
+Miroslaw Dobrzanski-Neumann mne@mosaic-ag.com
+Morten Eriksen		mortene@sim.no
+Motoyuki Kasahara	m-kasahr@sra.co.jp
+Nathanael Nerode	neroden@twcny.rr.com
+Nelson H. F. Beebe	beebe@math.utah.edu
+Nicholas Wourms		nwourms@netscape.net
+Nicolas Joly		njoly@pasteur.fr
+Nicolas Thiery		nthiery@Icare.mines.edu
+Nik A. Melchior		nam1@cse.wustl.edu
+NISHIDA Keisuke		knishida@nn.iij4u.or.jp
+Noah Friedman		friedman@gnu.ai.mit.edu
+Norman Gray		norman@astro.gla.ac.uk
+Nyul Laszlo		nyul@sol.cc.u-szeged.hu
+OKUJI Yoshinori		okuji@kuicr.kyoto-u.ac.jp
+Olivier Louchart-Fletcher olivier@zipworld.com.au
+Olly Betts		olly@muscat.co.uk
+Oren Ben-Kiki		oren@ben-kiki.org
+Owen Taylor		otaylor@redhat.com
+Patrick Welche		prlw1@newn.cam.ac.uk
+Patrik Weiskircher	me@justp.at
+Paul Berrevoets		paul@swi.com
+Paul D. Smith		psmith@BayNetworks.COM
+Paul Eggert 		eggert@twinsun.com
+Paul Jarc		prj@po.cwru.edu
+Paul Martinolich	martinol@datasync.com
+Paul Thomas		PTHOMAS@novell.com
+Pavel Roskin		pavel_roskin@geocities.com
+Per Bothner		bothner@cygnus.com
+Per Cederqvist		ceder@lysator.liu.se
+Per Oyvind Hvidsten	poeh@enter.vg
+Peter Breitenlohner     peb@mppmu.mpg.de
+Peter Eisentraut	peter_e@gmx.net
+Peter Gavin		pgavin@debaser.kicks-ass.org
+Peter Mattis		petm@scam.XCF.Berkeley.EDU
+Peter Muir		iyhi@yahoo.com
+Peter O'Gorman		peter@pogma.com
+Peter Seiderer		seiderer123@ciselant.de
+Petter Reinholdtsen	pere@hungry.com
+Phil Edwards		phil@jaj.com
+Phil Nelson		phil@cs.wwu.edu
+Philip Fong		pwlfong@users.sourceforge.net
+Philip S Tellis		philip@ncst.ernet.in
+ÐÑÑ
+Ð°Ð»ÑÑÐºÐžÐ¹ Ð®ÑÐžÐ¹ ÐÐœÐŽÑÐµÐµÐ²ÐžÑ pooh@cryptopro.ru
+Rainer Orth		ro@techfak.uni-bielefeld.de
+Rafael Laboissiere	laboissiere@psy.mpg.de
+Raja R Harinath		harinath@cs.umn.edu
+Ralf Corsepius		corsepiu@faw.uni-ulm.de
+Ralf Wildenhues		Ralf.Wildenhues@gmx.de
+Ralph Schleicher	rs@purple.UL.BaWue.DE
+RamÃ³n GarcÃ­a FernÃ¡ndez	ramon@jl1.quim.ucm.es
+Rich Wales		richw@webcom.com
+Richard Boulton		richard@tartarus.org
+Richard Dawe		rich@phekda.freeserve.co.uk
+Rob Savoye		rob@cygnus.com
+Robert Bihlmeyer	robbe@orcus.priv.at
+Robert Boehne		rboehne@ricardo-us.com
+Robert Collins		robert.collins@itdomain.com.au
+Roberto Bagnara		bagnara@cs.unipr.it
+Roman Fietze		roman.fietze@telemotive.de
+Ronald Landheer		ronald@landheer.com
+Rusty Ballinger		rusty@rlyeh.engr.sgi.com
+Ryan T. Sammartino	ryants@shaw.ca
+Sam Hocevar		sam@zoy.org
+Sander Niemeijer	niemeijer@science-and-technology.nl
+Santiago Vila		sanvila@unex.es
+Scott James Remnant	scott@netsplit.com
+Sergey Vlasov		vsu@mivlgu.murom.ru
+Seth Alves		alves@hungry.com
+Shuhei Amakawa		sa264@cam.ac.uk
+Shigio Yamaguchi	shigio@tamacom.com
+Simon Josefsson		jas@extundo.com
+Simon Richter		sjr@debian.org
+Stefan Nordhausen	nordhaus@informatik.hu-berlin.de
+Stepan Kasal		kasal@math.cas.cz
+Steve M. Robbins	steve@nyongwa.montreal.qc.ca
+Sven Verdoolaege	skimo@kotnet.org
+Tamara L. Dahlgren	dahlgren1@llnl.gov
+Tatu Ylonen		ylo@ssh.fi
+Teun Burgers		burgers@ecn.nl
+The Crimson Binome	steve@nyongwa.montreal.qc.ca
+Thien-Thi Nguyen	ttn@glug.org
+Thomas Fitzsimmons	fitzsim@redhat.com
+Thomas Gagne		tgagne@ix.netcom.com
+Thomas Morgan		tmorgan@pobox.com
+Thomas Tanner		tanner@ffii.org
+Tim Goodwin		tjg@star.le.ac.uk
+Tim Mooney		mooney@dogbert.cc.ndsu.NoDak.edu
+Tim Van Holder		tim.van.holder@pandora.be
+Toshio Kuratomi		toshio@tiki-lounge.com
+Tom Epperly		tepperly@llnl.gov
+Ulrich Drepper		drepper@gnu.ai.mit.edu
+Ulrich Eckhardt		eckhardt@satorlaser.com
+VÃ¡clav Haisman		V.Haisman@sh.cvut.cz
+Vadim Zeitlin		Vadim.zeitlin@dptmaths.ens-cachan.fr
+Vincent Lefevre		vincent@vinc17.org
+Volker Boerchers	vboerchers@tecon.de
+Werner John		john@oswf.de
+Werner Koch		wk@isil.d.shuttle.de
+William S Fulton	wsf@fultondesigns.co.uk
+Yann Droneaud		ydroneaud@meuh.eu.org
+Zack Weinberg		zack@codesourcery.com
+
+;; Local Variables:
+;; mode: text
+;; coding: utf-8
+;; End:
Index: /trunk/essentials/sys-devel/automake-1.9/TODO
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/TODO	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/TODO	(revision 3089)
@@ -0,0 +1,592 @@
+We should arrange so that install-%DIR%%PRIMARY% is run conditionally
+when %DIR%_%PRIMARY% is defined conditionally.  Currently it is always
+run, and that will therefore always create %DIR% (unless %DIR%dir is
+also defined conditionally).  Likewise, installdirs should not
+create %DIR% in conditions were no %DIR%_%PRIMARY% is enabled.
+
+we can't seem to AC_SUBST(pkgdatadir)
+the version from header-vars overrides
+why is that?
+
+check should depend on all
+  from ben elliston
+
+the new YFLAGS code doesn't correctly handle srcdir
+
+allow foo_NAME to rename an object (library or program)
+at build/install time
+
+remove _LTLIBRARIES and just use _LIBRARIES
+then use this for zip/jar as well
+
+for 1.5
+investigate problems with conditionally defined libraries
+
+add an error if the user makefile.am violates our
+   namespace rules
+
+we need a document describing automake from the end user's point of view
+eg describe INSTALL_HEADER there, among other things
+
+* maintainer-clean
+
+Akim:
+> @@ -31,5 +31,9 @@
+>  DISTCLEAN	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+>
+>  maintainer-clean-generic:
+> +## FIXME: shouldn't we really print these messages before running
+> +## the dependencies?
+> +	@echo "This command is intended for maintainers to use"
+> +	@echo "it deletes files that may require special tools to rebuild."
+> 	  -rm -f Makefile.in
+
+Tom:
+> I'd like to eventually fix the FIXME comment by having
+> maintainer-clean look like:
+>
+>     maintainer-clean:
+> 	  @echo ...
+> 	  $(MAKE) whatever
+>
+> We're left with the question of whether we should repeat them in every
+> subdir.
+
+*
+Alexandre Oliva:
+> Hmm...  Interesting.  It must have been a side effect of the enabling
+> of forced `relink' on GNU/Linux/x86.  Anyway, on platforms that
+> actually require relinking, this problem remains, and I see no way to
+> overcome it other than arranging for automake to install libraries
+> before executables, as you suggest.  This shouldn't be a big problem,
+> anyway.
+>
+> A bigger problem could show up if two libraries in the same directory,
+> one dependent on the other, are installed concurrently.  If relinking
+> is needed for the dependent library, we have a problem.  It appears to
+> me that user will have to live without `make -j install', in this
+> case.
+
+Alex Hornby
+> Here's an Automake patch and changelog entry allow make -j install on
+> such degenerate systems (and Linux with buggy libtool <g>)
+>
+> If you install to locations other that bin_ and lib_ then a larger fix
+> is necessary, but this should fix the 90% case.
+
+* think about how per-object flags should work.  in particular:
+  * how should they be specified?
+    using the object name is confusing when .lo/.obj in use
+    however, the object name provides a nice interaction with
+    per-exe flags
+  * how should they interact with per-executable flags?
+  [ this is probably a feature in search of a problem ]
+
+* cross-compilation support:
+  programs built and used by the build process need to be
+  built for CC_FOR_BUILD
+  introduce a new prefxi for this, e.g. `build_PROGRAMS'
+  [ we can do this in an automatic way I think.
+    unfortunately it isn't that useful until autoconf has support
+    for this sort of thing as well ]
+
+* distcheck should make sure that each file that uses _() is
+  listed in POTFILES.in
+  From Jim Meyering:
+    # Verify that all source files using _() are listed in po/POTFILES.in.
+    po-check:
+	    grep -E -v '^(#|$$)' po/POTFILES.in | sort > $@-1
+	    grep -E -l '\b_\(' lib/*.c src/*.c | sort > $@-2
+	    diff -u $@-1 $@-2
+	    rm -f $@-1 $@-2
+
+* one performance enhancement would be to have autoconf write
+  a single file containing all the macro assignments.
+  then read this file via `include'
+  unfortunately this can't be done because of conditionals
+  -- but it could be made to work if we also changed:
+    * automake to rewrite @FOO@ to $(FOO), and
+    * the implementation of conditionals to rely on some new
+      config.status magic
+
+* support prog_LIBS as override for LIBS
+
+* Test subdir-objects option with yacc, lex, ansi2knr
+  Our locking scheme won't prevent a parallel make from losing
+  if there are two `bar.o' files and the timing is just right
+  This only happens with parallel make and no-`-c -o' compiler,
+  so it probably isn't very important
+  `-c -o' when doing libtool
+  try to find a losing compiler and see if it really works.
+  (actually: hack config.cache and do it)
+
+* per-exe flags
+** LIBOBJS shouldn't be used when there are per-exe flags (?)
+
+* Support subdir-objects with fortran
+
+* Allow creation of Java .zip/.jar files in natural way
+  If you are building a compiled Java library, then the .zip/.jar
+  ought to be made automatically.
+
+* Run automake before libtool.  It will report an error but
+  still won't put the file into the disty.  This is wrong.
+  From Mark H Wilkinson <mhw@kremvax.demon.co.uk>
+
+* examine possibility of using any character in a macro name
+  and rewriting names automatically.  this means we must rewrite
+  all references as well.
+  [ this is a 2.0-style feature ]
+
+* `distcheck' and `dist' should depend on `all'
+
+* Add code to generate foo-config script like gnome, gtk
+
+* document user namespace for macro/target names
+  adopt some conventions and use uniformly
+    [ this is a good thing for the rewrite ]
+
+* distclean must remove config.status
+  can't this cause problems for maintainer-clean?
+  shouldn't maintainer-clean print the message before running
+  any part of the make?  (just to slow things down long enough
+  for the user to stop it)
+  (maybe doesn't matter since people who even know about
+  maintainer-clean already have a clue)
+
+* reintroduce AM_FUNC_FNMATCH which sets LIBOBJS
+  Then have automake know about fnmatch.h.
+    [ probably should wait for autoconf to get right functionality ]
+
+* "make diff" capability
+  look at gcc's Makefile.in to see what to do
+  or look at maint program
+
+* in --cygnus, clean-info not generated at top level
+
+* what if an element of a scanned variable looks like
+	$(FOO).$(BAR)  ?
+  or some other arbitrary thing?
+  right now we try to cope, but not very well
+    [ this is only of theoretical interest for now ]
+    [ We now have an 'inner_expand' option to traverse_recursively,
+      but it is not yet used. ]
+
+* make sure every variable that is used is also defined
+    [ we don't really look at variable uses in detail.
+      2.0 thing ]
+
+* make sure `missing' defines are generated
+
+* missing should handle install -d and rmdir -p (for uninstall)
+
+* NORMAL_INSTALL / NORMAL_UNINSTALL -vs- recursive rules
+  [ requires changes to the standard ]
+
+* should not put texiname_TEXINFOS into distribution
+  should rename this macro anyway, to foo_texi_DEPENDENCIES
+
+* For now I guess I'll just have automake give an error if it encounters
+non-C source in a libtool library specification.
+
+* must split $obj into two parts: one for libtool and one for
+  deansification.  Otherwise .S files will be deansified!
+
+* ansi2knr must currently appear in a directory that has some source
+
+* if program has the same name as a target, do something sensible:
+  - if the target is internal, rename it
+  - if the target is mandated (eg, "info"), tell the user
+    consider auto-modifying the program name to work around this
+
+* should separate actual options from strictness levels
+  strictness should only cover requirements
+  You should be able to pick and choose options
+
+* rewrite in guile (RMS request)
+at the same time, consider adding a GUI
+could use the same parsing code for the GUI and the standalone version
+that means figuring out a better representation of internal state
+[ that's easy -- anything is better than what we have now ]
+
+having just one Makefile for a project would give a big speed increase
+for a project with many directories, eg glibc.  ideally (?) you'd
+still be able to have a Makefile.am in each directory somehow; this
+might make editing conceptually easier.
+
+* finish up TAGS work
+
+* only remove libtool at top level?
+
+* clean up source directory by moving stuff into subdirs
+
+* consider adding pkglibexecdir, maybe others?
+  requests for pkg-dirs with version included
+
+Avoid loops when installing; instead unroll them in automake
+[ Impossible when @AC_SUBST@ values are used. ]
+
+Some long-term projects:
+* if $(FOO) is used somewhere, ensure FOO is defined, either by
+  user or by automake if possible
+
+[ include, += support ]
+* even better would be allowing targets in different included
+  fragments to be merged.  e.g., `install-local'.
+
+consider putting all check-* targets onto @check?
+
+take diff-n-query code from libit
+
+Per Bothner says:
+Per> 1) Being able to build a set of non-source programs
+Per> from source programs, without necessarily linking them together.
+Per> I.e. one should be able to say something like:
+Per> 	dummy_SOURCES=foo.c bar.c
+Per> and automake should realize that it needs to build foo.o and bar.o.
+Per> 2) Being intelligent about new kinds of suffixes.
+Per> If it sees:
+Per> 	SUFFIXES = .class .java
+Per> and a suffix rule of the form:
+Per> 	.java.class:
+Per> then it should be able to realize it can build .class files from
+Per> .java files, and thus be able to generate a list of
+Per> .class files from a list of .java source files.
+[What Per wanted here was a way to have automate automatically follow
+suffix rules.  So for instance if you had a `.x.y:' rule, and automake
+saw a `.x' file, it would automatically build and install the
+corresponding `.y' file.]
+
+Jim's idea: should look for @setfilename and warn if filenames too long
+* guess split size
+
+from joerg-martin schwarz:
+ -- If Makefile.am contains $(CC), $(COMPILE), $(YLWRAP), ....
+    in an explicitly written rule,  you should emit the corresponding
+    Makefile variables automatically.
+
+Configuring in the large:
+* allow hierarchy of dirs to share one aclocal.m4
+  How?
+
+consider printing full file name of Makefile.am or configure.in when
+giving error.  This would help for very large trees with many
+configure.in scripts
+
+From the GNU Standards.  These things could be checked, and probably
+should be if --gnu.
+*    Make sure that the directory into which the distribution unpacks (as
+well as any subdirectories) are all world-writable (octal mode 777).
+*   Make sure that no file name in the distribution is more than 14
+characters long.
+*    Don't include any symbolic links in the distribution itself.
+     (ditto hard links)
+*    Make sure that all the files in the distribution are world-readable.
+* standards no longer prohibit ANSI C.  What does this imply
+  for the de-ansi-fication feature? [ must keep it -- some users rely on it ]
+
+should be able to determine what is built by looking at rules (and
+configure.in).  Then built man pages (eg) could automatically be
+omitted from the distribution.
+
+Consider: "cvs" option adds some cvs-specific rules?
+
+Right now, targets generated internally (eg "install") are not
+overridable by user code.  This should probably be possible, even
+though it isn't very important.  This could be done by generating all
+internal rules via a function call instead of just appending to
+$output_rules.
+ [ this will be harder to implement when scanning a rule like all-recursive
+   from subdirs.am ]
+
+Other priorities:
+* Must rewrite am_install_var.  Should break into multiple functions.
+  This will allow the callers to be a little smarter.
+* Rewrite clean targets.
+* Fix up require_file junk.
+
+djm wants ``LINKS'' variable; list of things to link together after
+install.  In BSD environment, use:
+	LINKS = from1 to1 from2 to2 ...
+
+Need way to say there are no suffixes in a Makefile (Franc,ois'
+"override" idea suffices here)
+
+Check to make sure various scripts are executable (IE when looking for
+them in a directory)
+
+Handle dist-zoo.  Generally add more DOS support.  Maybe run "doschk"
+(why isn't this merged with "pathchk"?) when doing a dist.  Do
+whatever else François says here...
+
+Add support for html via an option.  Use texi2html.  Use
+"html_TEXINFOS", and htmldir = .../html.  Include html files in
+distribution.  Also allow "html_DATA", for raw .html files.
+  [ when will texinfo directly support html? ]
+
+uninstall and pkg-dirs should rm -rf the dir.
+
+In general most .am files should be merged into automake.  For
+instance all the "clean" targets could be merged by keeping lists of
+things to be removed.  This would be a lot nicer looking.  Note that
+the install targets probably should not be merged; it is sometimes
+useful to only install a small part.
+
+* Clean up the output:
+** Order rules sensibly
+** Ensure every line has a purpose.  Omit unused stuff
+** Eliminate extraneous rules when possible (eg 'install-am' stuff)
+** Make sure vertical spacing is correct
+Omit program transform vars from header if no program installed.  This
+is currently pretty hard to do.  (But with beautification code it
+would probably be easy)
+
+* Lex, yacc support:
+** It would be nice to automatically support using bison's better features
+  to rename the output files.  This requires autoconf support
+** Consider supporting syntax from autoconf "derived:source", eg:
+	y.tab.c:perly.y
+  for yacc and lex source
+** what if you use flex and the option to avoid -lfl?
+  should support this?
+
+* Multi-language support:
+** should have mapping of file extensions to languages
+** should automatically handle the linking issue (special-case C++)
+** must get compile rules for various languages; FORTRAN probably
+  most important unimplemented language
+This should be integrated in some way with Per's idea.
+Eg .f.o rules should be recognized & auto-handled in _SOURCES
+That way any random language can be treated with C/C++ on a first-class
+basis (maybe)
+
+It might be cool to generate .texi dependencies by grepping for
+@include.  (If done, it should be done the same way C dependencies are
+done)
+[ Ask Karl Berry for a -M option to makeinfo and texi2dvi? ]
+
+It would be good to check some parts of GNU standards.  Already check
+for install-sh and mkinstalldirs.  What else is required to be in
+package by GNU standards or by automake?
+Some things for --strictness=gnits:
+* "cd $(foo); something" is an error in a rule.  Should be:
+  "cd $(foo) && something"
+* Look for 'ln -s' and warn about using $(LN_S) and AC_PROG_LN_S
+* Look for $(LN_S) and require AC_PROG_LN_S
+
+Auto-distribute "ChangeLog.[0-9]+"?  "ChangeLog.[a-z]+"?
+
+Internationalize. [ gettext doesn't have the necessary machinery yet ]
+am_error should use printf-style arguments (for eventual gettext scheme)
+
+François says the ordering of files in a distribution should be as follows:
+* README
+* source files
+* derived files
+I agree, but I don't see how to implement this yet.
+It might be easier if "derived files" is limited to those that
+Automake itself knows about, eg output of yacc.
+
+Check all source files to make sure that FSF address is up-to-date.
+--gnits or --gnu only.
+
+Merge each -vars.am file with corresponding ".am" file.  Can do this
+because of changes to &file_contents.
+
+Should libexec programs have the name transform done on them?
+
+Order the output rules sensibly, so FOO_SOURCES and FOO_OBJECTS are
+together and rules are in the usual order.
+
+Make the output minimal: only output definitions for variables that
+are used.
+
+djm says:
+David> To avoid comments like the one about subdirs getting buried in
+David> the middle of a Makefile.in, how about pushing comments that
+David> start with ### to the top of the Makefile.in (in order)?  Sort
+David> of like how Autoconf uses diversions to force initialization
+David> code to the top of configure.
+
+Karl Berry says:
+Karl> 2) Your Makefile variable names are generally uppercase, but GNU
+Karl> generally uses lowercase. Not that it matters :-).
+
+================================================================
+
+Stuff for aclocal:
+
+probably should put each group of m4 files into a subdir owned by the
+containing application.
+
+================================================================
+
+Document:
+
+AM_MISSING_PROG
+
+how to use the generated makefiles
+ - standard targets
+ - required targets
+ - NORMAL_INSTALL junk
+
+rationale for avoiding
+	make CFLAGS="$CFLAGS" ...
+in subdirs make rule
+
+write example of using automake with dejagnu
+follow calc example in dejagnu docs
+
+document which variables are actually scanned and which are not.
+
+Document customary ordering of Makefile.am.  From François.
+
+Should include extended version of diagram from Autoconf (suggested by
+Greg Woods)
+
+Make a definition of the term "source"
+
+document how to use Automake with CVS.  Idea from Mark Galassi.  Also
+include Greg Woods' more sophisticated "cvs-dist" target.
+
+-- must document all variables that are supposed
+   to be public knowledge
+
+must document the targets required for integration with
+non-automake-using subdirs
+
+document the "make SHELL='/bin/sh -x'" trick for debugging
+
+section on relationship to GNU make.  include notes on parallel makes
+
+add a concept index
+
+move discussion of cygwin32, etags, mkid under other gnu tools
+
+CCLD, CXXLD, FLD
+
+================================================================
+
+Libraries:
+
+* Should support standalone library along with subdir library in same
+  Makefile.am.  Maybe: turn off "standalone" mode if library's Makefile.am
+  is not only one specd? [ add an option for this ]
+
+================================================================
+
+Longer term:
+
+Would it be useful to integrate in some way with the Debian package
+building utility?  Must check.  maybe it would be possible to deal
+with all the different package utilities somehow.  Lately I've been
+hearing good things about the RedHat packaging utilities.  Why are
+there so many of these?  Are they fun to write or something?
+The RedHat package utility is called RPM; see
+	ftp://ftp.redhat.com/pub/code/rpm
+It actually has problems, like no configure script and no documentation.
+
+For Cygnus it would probably be good to be able to handle the native
+package utility on each platform.  There are probably 3 or 4 of these
+(sysv, solaris?, aix?)
+
+tcl/unix/Makefile.in has some code to generate a Solaris package.
+
+Automake probably can't do all of this on its own.  A new tool might
+be a better idea
+
+I have some notes from a Debian developer on how the integration
+should work
+
+================================================================
+
+A tool to guess what the local Makefile.am should look like:
+(see Gord's Maint program!)
+
+* Probably integrate with autoscan
+* Use various simple rules to determine what to do:
+  * get name of top directory, sans version info
+  * search for .c files with 'main' in them
+    * if in main.c, use directory name for program
+    * if in more than one, generate multiple programs
+    * if not found, generate a library named after directory
+  * order subdir searches correctly: lib first, src last
+  * assume 'testsuite' dir means we are using dejagnu
+* maybe be smart about reading existing Makefile.am, so tool
+  can be run for incremental changes?  You could imagine:
+
+	Makefile.am:
+		autoproject --incremental
+
+================================================================
+
+Stuff NOT to do, and why:
+
+consider auto-including any file that matches "*.in".
+  [ no: po/Makefile.in shouldn't be included ]
+
+must look at mkid to see how it works (for subdir usage)
+  [ right now, it doesn't.  i don't see a simple fix right now ]
+
+if configure.in not found, move up a directory and try again?  This
+could eliminate a common source of problems.
+  [ this is just a bad idea ]
+
+* scripts are installed in $exec_prefix/bin, not $prefix/bin
+  Bug or feature?
+  [ the consensus on Gnits is that this isn't required.
+    doubters can work around it anyway ]
+
+Scan source directories and warn about missing files, eg .c/.h files
+that aren't mentioned?
+  [ distcheck makes this less useful ]
+
+* quoting bugs
+  - how to install file with a space in its name?
+  [ don't bother with this -- make is just too losing ]
+
+* notice when a .c file is a target somewhere, and auto-add it to
+    BUILT_SOURCES
+  [ BUILT_SOURCES are for files that need to be built before anything
+    else because of hidden dependencies (something .c files are
+    unlikely to be) ]
+
+* Scan multiple input files when Makefile is generated?
+  This would provide flexibility for large projects; subsumes
+  the "Makefile.tmpl" idea
+ [ can't do this.  must explain why in manual.
+   basically, solving all the problems is too hard
+   like: how to remove redundancies between generated .in files
+   instead should implement `include' directive for Makefile.am ]
+
+* Should be a way to have "nobuild_PROGRAMS" which aren't even built,
+  but which could be by running the magic make command.
+  [ We already have EXTRA_PROGRAMS for this. ]
+
+
+* copyright notice
+
+Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free
+Software Foundation, Inc.
+
+This file is part of GNU Automake.
+
+GNU Automake is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Automake is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with autoconf; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
+
+
+Local Variables:
+mode: outline
+End:
Index: /trunk/essentials/sys-devel/automake-1.9/aclocal.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/aclocal.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/aclocal.in	(revision 3089)
@@ -0,0 +1,700 @@
+#!@PERL@
+# -*- perl -*-
+# @configure_input@
+
+eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+    if 0;
+
+# aclocal - create aclocal.m4 by scanning configure.ac
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+#           Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Written by Tom Tromey <tromey@redhat.com>.
+
+BEGIN
+{
+  my $perllibdir = $ENV{'perllibdir'} || '@datadir@/@PACKAGE@-@APIVERSION@';
+  unshift @INC, (split '@PATH_SEPARATOR@', $perllibdir);
+}
+
+use Automake::Config;
+use Automake::General;
+use Automake::Configure_ac;
+use Automake::Channels;
+use Automake::XFile;
+use Automake::FileUtils;
+use File::Basename;
+use File::stat;
+use Cwd;
+
+# Note that this isn't pkgdatadir, but a separate directory.
+# Note also that the versioned directory is handled later.
+$acdir = '@datadir@/aclocal';
+$default_acdir = $acdir;
+# contains a list of directories, one per line, to be added
+# to the dirlist in addition to $acdir, as if -I had been
+# added to the command line.  If acdir has been redirected,
+# we will also check the specified acdir (this is done later).
+$default_dirlist = "$default_acdir/dirlist";
+
+# Some globals.
+
+# configure.ac or configure.in.
+my $configure_ac;
+
+# Output file name.
+$output_file = 'aclocal.m4';
+
+# Modification time of the youngest dependency.
+$greatest_mtime = 0;
+
+# Option --force.
+$force_output = 0;
+
+# Which macros have been seen.
+%macro_seen = ();
+
+# Which files have been seen.
+%file_seen = ();
+
+# Remember the order into which we scanned the files.
+# It's important to output the contents of aclocal.m4 in the opposite order.
+# (Definitions in first files we have scanned should override those from
+# later files.  So they must appear last in the output.)
+@file_order = ();
+
+# Map macro names to file names.
+%map = ();
+
+# Ditto, but records the last definition of each macro as returned by --trace.
+%map_traced_defs = ();
+
+# Map file names to file contents.
+%file_contents = ();
+
+# Map file names to included files (transitively closed).
+%file_includes = ();
+
+# How much to say.
+$verbose = 0;
+
+# Matches a macro definition.
+#   AC_DEFUN([macroname], ...)
+# or
+#   AC_DEFUN(macroname, ...)
+# When macroname is `['-quoted , we accept any character in the name,
+# except `]'.  Otherwise macroname stops on the first `]', `,', `)',
+# or `\n' encountered.
+$ac_defun_rx =
+  "(?:AU_ALIAS|A[CU]_DEFUN|AC_DEFUN_ONCE)\\((?:\\[([^]]+)\\]|([^],)\n]+))";
+
+# Matches an AC_REQUIRE line.
+$ac_require_rx = "AC_REQUIRE\\((?:\\[([^]]+)\\]|([^],)\n]+))\\)";
+
+# Matches an m4_include line
+$m4_include_rx = "(?:m4_)?(s?)include\\((?:\\[([^]]+)\\]|([^],)\n]+))\\)";
+
+
+
+################################################################
+
+# Check macros in acinclude.m4.  If one is not used, warn.
+sub check_acinclude ()
+{
+  foreach my $key (keys %map)
+    {
+      # FIXME: should print line number of acinclude.m4.
+      warn ("aclocal: warning: macro `$key' defined in "
+	    . "acinclude.m4 but never used\n")
+	if $map{$key} eq 'acinclude.m4' && ! $macro_seen{$key};
+    }
+}
+
+################################################################
+
+# Scan all the installed m4 files and construct a map.
+sub scan_m4_files (@)
+{
+    local (@dirlist) = @_;
+
+    # First, scan configure.ac.  It may contain macro definitions,
+    # or may include other files that define macros.
+    &scan_file ($configure_ac, 'aclocal');
+
+    # Then, scan acinclude.m4 if it exists.
+    if (-f 'acinclude.m4')
+    {
+	&scan_file ('acinclude.m4', 'aclocal');
+    }
+
+    # Finally, scan all files in our search path.
+    local ($m4dir);
+    foreach $m4dir (@dirlist)
+    {
+	if (! opendir (DIR, $m4dir))
+	  {
+	    print STDERR "aclocal: couldn't open directory `$m4dir': $!\n";
+	    exit 1;
+	  }
+
+	local ($file, $fullfile);
+	# We reverse the directory contents so that foo2.m4 gets
+	# used in preference to foo1.m4.
+	foreach $file (reverse sort grep (! /^\./, readdir (DIR)))
+	{
+	    # Only examine .m4 files.
+	    next unless $file =~ /\.m4$/;
+
+	    # Skip some files when running out of srcdir.
+	    next if $file eq 'aclocal.m4';
+
+	    $fullfile = File::Spec->canonpath ("$m4dir/$file");
+	    &scan_file ($fullfile, 'aclocal');
+	}
+	closedir (DIR);
+    }
+
+    # Construct a new function that does the searching.  We use a
+    # function (instead of just evaluating $search in the loop) so that
+    # "die" is correctly and easily propagated if run.
+    my $search = "sub search {\nmy \$found = 0;\n";
+    foreach my $key (reverse sort keys %map)
+    {
+	$search .= ('if (/\b\Q' . $key . '\E(?!\w)/) { & add_macro ("' . $key
+		    . '"); $found = 1; }' . "\n");
+    }
+    $search .= "return \$found;\n};\n";
+    eval $search;
+    die "internal error: $@\n search is $search" if $@;
+}
+
+################################################################
+
+# Add a macro to the output.
+sub add_macro ($)
+{
+    local ($macro) = @_;
+
+    # Ignore unknown required macros.  Either they are not really
+    # needed (e.g., a conditional AC_REQUIRE), in which case aclocal
+    # should be quiet, or they are needed and Autoconf itself will
+    # complain when we trace for macro usage later.
+    return unless defined $map{$macro};
+
+    print STDERR "aclocal: saw macro $macro\n" if $verbose;
+    $macro_seen{$macro} = 1;
+    &add_file ($map{$macro});
+}
+
+# scan_configure_dep ($file)
+# --------------------------
+# Scan a configure dependency (configure.ac, or separate m4 files)
+# for uses of known macros and AC_REQUIREs of possibly unknown macros.
+# Recursively scan m4_included files.
+my %scanned_configure_dep = ();
+sub scan_configure_dep ($)
+{
+  my ($file) = @_;
+  # Do not scan a file twice.
+  return ()
+    if exists $scanned_configure_dep{$file};
+  $scanned_configure_dep{$file} = 1;
+
+  my $mtime = mtime $file;
+  $greatest_mtime = $mtime if $greatest_mtime < $mtime;
+
+  my $contents = exists $file_contents{$file} ?
+    $file_contents{$file} : contents $file;
+
+  my $line = 0;
+  my @rlist = ();
+  my @ilist = ();
+  foreach (split ("\n", $contents))
+    {
+      ++$line;
+      # Remove comments from current line.
+      s/\bdnl\b.*$//;
+      s/\#.*$//;
+
+      while (/$m4_include_rx/go)
+	{
+	  my $ifile = $2 || $3;
+	  # Skip missing `sinclude'd files.
+	  next if $1 eq 's' && ! -f $ifile;
+	  push @ilist, $ifile;
+	}
+
+      while (/$ac_require_rx/go)
+	{
+	  push (@rlist, $1 || $2);
+	}
+
+      # The search function is constructed dynamically by
+      # scan_m4_files.  The last parenthetical match makes sure we
+      # don't match things that look like macro assignments or
+      # AC_SUBSTs.
+      if (! &search && /(^|\s+)(AM_[A-Z0-9_]+)($|[^\]\)=A-Z0-9_])/)
+	{
+	  # Macro not found, but AM_ prefix found.
+	  # Make this just a warning, because we do not know whether
+	  # the macro is actually used (it could be called conditionally).
+	  warn ("aclocal:$file:$line: warning: "
+		. "macro `$2' not found in library\n");
+	}
+    }
+
+  add_macro ($_) foreach (@rlist);
+  &scan_configure_dep ($_) foreach (@ilist);
+}
+
+# Add a file to output.
+sub add_file ($)
+{
+  local ($file) = @_;
+
+  # Only add a file once.
+  return if ($file_seen{$file});
+  $file_seen{$file} = 1;
+
+  scan_configure_dep $file;
+}
+
+# Point to the documentation for underquoted AC_DEFUN only once.
+my $underquoted_manual_once = 0;
+
+# scan_file ($FILE, $WHERE)
+# -------------------------
+# Scan a single M4 file ($FILE), and all files it includes.
+# Return the list of included files.
+# $WHERE is the location to use in the diagnostic if the file
+# does not exist.
+sub scan_file ($$)
+{
+  my ($file, $where) = @_;
+
+  # Do not scan the same file twice.
+  return @$file_includes{$file} if exists $file_includes{$file};
+  # Prevent potential infinite recursion (if two files include each other).
+  return () if exists $file_contents{$file};
+
+  unshift @file_order, $file;
+
+  if (! -e $file)
+    {
+      print STDERR "$where: file `$file' does not exist\n";
+      exit 1;
+    }
+
+  my $fh = new Automake::XFile $file;
+  my $contents = '';
+  my @inc_files = ();
+  my %inc_lines = ();
+  while ($_ = $fh->getline)
+    {
+      # Ignore `##' lines.
+      next if /^##/;
+
+      $contents .= $_;
+
+      while (/$ac_defun_rx/go)
+	{
+	  if (! defined $1)
+	    {
+	      print STDERR "$file:$.: warning: underquoted definition of $2\n";
+	      print STDERR "  run info '(automake)Extending aclocal'\n"
+		. "  or see http://sources.redhat.com/automake/"
+		. "automake.html#Extending-aclocal\n"
+		unless $underquoted_manual_once;
+	      $underquoted_manual_once = 1;
+	    }
+	  my $macro = $1 || $2;
+	  if (! defined $map{$macro})
+	    {
+	      print STDERR "aclocal: found macro $macro in $file: $.\n"
+		if $verbose;
+	      $map{$macro} = $file;
+	    }
+	  else
+	    {
+	      # Note: we used to give an error here if we saw a
+	      # duplicated macro.  However, this turns out to be
+	      # extremely unpopular.  It causes actual problems which
+	      # are hard to work around, especially when you must
+	      # mix-and-match tool versions.
+	      print STDERR "aclocal: ignoring macro $macro in $file: $.\n"
+		if $verbose;
+	    }
+	}
+
+      while (/$m4_include_rx/go)
+	{
+	  my $ifile = $2 || $3;
+	  # Skip missing `sinclude'd files.
+	  next if $1 eq 's' && ! -f $ifile;
+	  push (@inc_files, $ifile);
+	  $inc_lines{$ifile} = $.;
+	}
+    }
+  $file_contents{$file} = $contents;
+
+  # For some reason I don't understand, it does not work
+  # to do `map { scan_file ($_, ...) } @inc_files' below.
+  # With Perl 5.8.2 it undefines @inc_files.
+  my @copy = @inc_files;
+  my @all_inc_files = (@inc_files,
+		       map { scan_file ($_, "$file:$inc_lines{$_}") } @copy);
+  $file_includes{$file} = \@all_inc_files;
+  return @all_inc_files;
+}
+
+# strip_redundant_includes (%FILES)
+# ---------------------------------
+# Each key in %FILES is a file that must be present in the output.
+# However some of these files might already include other files in %FILES,
+# so there is no point in including them another time.
+# This removes items of %FILES which are already included by another file.
+sub strip_redundant_includes (%)
+{
+  my %files = @_;
+
+  # Always include acinclude.m4, even if it does not appear to be used.
+  $files{'acinclude.m4'} = 1 if -f 'acinclude.m4';
+  # File included by $configure_ac are redundant.
+  $files{$configure_ac} = 1;
+
+  # Files at the end of @file_order should override those at the beginning,
+  # so it is important to preserve these trailing files.  We can remove
+  # a file A if it is going to be output before a file B that includes
+  # file A, not the converse.
+  foreach my $file (reverse @file_order)
+    {
+      next unless exists $files{$file};
+      foreach my $ifile (@{$file_includes{$file}})
+	{
+	  next unless exists $files{$ifile};
+	  delete $files{$ifile};
+	  print STDERR "$ifile is already included by $file\n"
+	    if $verbose;
+	}
+    }
+
+  # configure.ac is implicitly included.
+  delete $files{$configure_ac};
+
+  return %files;
+}
+
+sub trace_used_macros ()
+{
+  my %files = map { $map{$_} => 1 } keys %macro_seen;
+  %files = strip_redundant_includes %files;
+
+  my $traces = ($ENV{AUTOM4TE} || 'autom4te');
+  $traces .= " --language Autoconf-without-aclocal-m4 ";
+  # All candidate files.
+  $traces .= join (' ', grep { exists $files{$_} } @file_order) . " ";
+  # All candidate macros.
+  $traces .= join (' ', map { "--trace='$_:\$f:\$n:\$1'" } ('AC_DEFUN',
+							    'AC_DEFUN_ONCE',
+							    'AU_DEFUN',
+							    keys %macro_seen));
+
+  print STDERR "aclocal: running $traces $configure_ac\n" if $verbose;
+
+  my $tracefh = new Automake::XFile ("$traces $configure_ac |");
+
+  my %traced = ();
+
+  while ($_ = $tracefh->getline)
+    {
+      chomp;
+      my ($file, $macro, $arg1) = split (/:/);
+
+      $traced{$macro} = 1 if $macro_seen{$macro};
+
+      $map_traced_defs{$arg1} = $file
+	if ($macro eq 'AC_DEFUN'
+	    || $macro eq 'AC_DEFUN_ONCE'
+	    || $macro eq 'AU_DEFUN');
+    }
+
+  $tracefh->close;
+
+  return %traced;
+}
+
+sub scan_configure ()
+{
+  # Make sure we include acinclude.m4 if it exists.
+  if (-f 'acinclude.m4')
+    {
+      add_file ('acinclude.m4');
+    }
+  scan_configure_dep ($configure_ac);
+}
+
+################################################################
+
+# Write output.
+sub write_aclocal ($@)
+{
+  my ($output_file, @macros) = @_;
+  my $output = '';
+
+  my %files = ();
+  # Get the list of files containing definitions for the macros used.
+  # (Filter out unused macro definitions with $map_traced_defs.  This
+  # can happen when an Autoconf macro is conditionally defined:
+  # aclocal sees the potential definition, but this definition is
+  # actually never processed and the Autoconf implementation is used
+  # instead.)
+  for my $m (@macros)
+    {
+      $files{$map{$m}} = 1 if $map{$m} eq $map_traced_defs{$m};
+    }
+  %files = strip_redundant_includes %files;
+
+  for $file (grep { exists $files{$_} } @file_order)
+    {
+      # Check the time stamp of this file, and all files it includes.
+      for my $ifile ($file, @{$file_includes{$file}})
+	{
+	  my $mtime = mtime $ifile;
+	  $greatest_mtime = $mtime if $greatest_mtime < $mtime;
+	}
+
+      # If the file to add looks like outside the project, copy it
+      # to the output.  The regex catches filenames starting with
+      # things like `/', `\', or `c:\'.
+      if ($file =~ m,^(?:\w:)?[\\/],)
+	{
+	  $output .= $file_contents{$file} . "\n";
+	}
+      else
+	{
+	  # Otherwise, simply include the file.
+	  $output .= "m4_include([$file])\n";
+	}
+    }
+
+  # Nothing to output?!
+  # FIXME: Shouldn't we diagnose this?
+  return if ! length ($output);
+
+  # We used to print `# $output_file generated automatically etc.'  But
+  # this creates spurious differences when using autoreconf.  Autoreconf
+  # creates aclocal.m4t and then rename it to aclocal.m4, but the
+  # rebuild rules generated by Automake create aclocal.m4 directly --
+  # this would gives two ways to get the same file, with a different
+  # name in the header.
+  $output = "# generated automatically by aclocal $VERSION -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+$output";
+
+  # We try not to update $output_file unless necessary, because
+  # doing so invalidate Autom4te's cache and therefore slows down
+  # tools called after aclocal.
+  #
+  # We need to overwrite $output_file in the following situations.
+  #   * The --force option is in use.
+  #   * One of the dependencies is younger.
+  #     (Not updating $output_file in this situation would cause
+  #     make to call aclocal in loop.)
+  #   * The contents of the current file are different from what
+  #     we have computed.
+  if (!$force_output
+      && $greatest_mtime < mtime ($output_file)
+      && $output eq contents ($output_file))
+    {
+      print STDERR "aclocal: $output_file unchanged\n" if $verbose;
+      return;
+    }
+
+  print STDERR "aclocal: writing $output_file\n" if $verbose;
+
+  my $out = new Automake::XFile "> $output_file";
+  print $out $output;
+  return;
+}
+
+################################################################
+
+# Print usage and exit.
+sub usage ($)
+{
+  local ($status) = @_;
+
+  print "Usage: aclocal [OPTIONS] ...\n\n";
+  print "\
+Generate `aclocal.m4' by scanning `configure.ac' or `configure.in'
+
+  --acdir=DIR           directory holding config files
+  --help                print this help, then exit
+  -I DIR                add directory to search list for .m4 files
+  --force               always update output file
+  --output=FILE         put output in FILE (default aclocal.m4)
+  --print-ac-dir        print name of directory holding m4 files
+  --verbose             don't be silent
+  --version             print version number, then exit
+
+Report bugs to <bug-automake\@gnu.org>.\n";
+
+  exit $status;
+}
+
+# Parse command line.
+sub parse_arguments (@)
+{
+  local (@arglist) = @_;
+  local (@dirlist);
+  local ($print_and_exit) = 0;
+
+  while (@arglist)
+    {
+      if ($arglist[0] =~ /^--acdir=(.+)$/)
+	{
+	  $acdir = $1;
+	}
+      elsif ($arglist[0] =~/^--output=(.+)$/)
+	{
+	  $output_file = $1;
+	}
+      elsif ($arglist[0] eq '-I')
+	{
+	  shift (@arglist);
+	  push (@dirlist, $arglist[0]);
+	}
+      elsif ($arglist[0] eq '--print-ac-dir')
+	{
+	  $print_and_exit = 1;
+	}
+      elsif ($arglist[0] eq '--force')
+	{
+	  $force_output = 1;
+	}
+      elsif ($arglist[0] eq '--verbose')
+	{
+	  ++$verbose;
+	}
+      elsif ($arglist[0] eq '--version')
+	{
+	  print "aclocal (GNU $PACKAGE) $VERSION\n";
+	  print "Written by Tom Tromey <tromey\@redhat.com>\n\n";
+	  print "Copyright (C) 2005 Free Software Foundation, Inc.\n";
+	  print "This is free software; see the source for copying conditions.  There is NO\n";
+	  print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
+	  exit 0;
+	}
+      elsif ($arglist[0] eq '--help')
+	{
+	  &usage (0);
+	}
+      else
+	{
+	  print STDERR "aclocal: unrecognized option -- `$arglist[0]'\nTry `aclocal --help' for more information.\n";
+	  exit 1;
+	}
+
+      shift (@arglist);
+    }
+
+  if ($print_and_exit)
+    {
+      print $acdir, "\n";
+      exit 0;
+    }
+
+  $default_dirlist="$acdir/dirlist"
+    if $acdir ne $default_acdir;
+
+  # Search the versioned directory near the end, and then the
+  # unversioned directory last.  Only do this if the user didn't
+  # override acdir.
+  push (@dirlist, "$acdir-$APIVERSION")
+    if $acdir eq $default_acdir;
+
+  # By default $(datadir)/aclocal doesn't exist.  We don't want to
+  # get an error in the case where we are searching the default
+  # directory and it hasn't been created.
+  push (@dirlist, $acdir)
+    unless $acdir eq $default_acdir && ! -d $acdir;
+
+  # Finally, adds any directory listed in the `dirlist' file.
+  if (open (DEFAULT_DIRLIST, $default_dirlist))
+    {
+      while (<DEFAULT_DIRLIST>)
+	{
+	  # Ignore '#' lines.
+	  next if /^#/;
+	  # strip off newlines and end-of-line comments
+	  s/\s*\#.*$//;
+	  chomp ($contents=$_);
+	  if (-d $contents )
+	    {
+	      push (@dirlist, $contents);
+	    }
+	}
+      close (DEFAULT_DIRLIST);
+    }
+
+  return @dirlist;
+}
+
+################################################################
+
+local (@dirlist) = parse_arguments (@ARGV);
+$configure_ac = require_configure_ac;
+scan_m4_files (@dirlist);
+scan_configure;
+if (! $exit_code)
+  {
+    my %macro_traced = trace_used_macros;
+    write_aclocal ($output_file, keys %macro_traced);
+  }
+check_acinclude;
+
+exit $exit_code;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/aclocal.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/aclocal.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/aclocal.m4	(revision 3089)
@@ -0,0 +1,25 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_include([m4/amversion.m4])
+m4_include([m4/auxdir.m4])
+m4_include([m4/init.m4])
+m4_include([m4/install-sh.m4])
+m4_include([m4/lead-dot.m4])
+m4_include([m4/missing.m4])
+m4_include([m4/mkdirp.m4])
+m4_include([m4/options.m4])
+m4_include([m4/runlog.m4])
+m4_include([m4/sanity.m4])
+m4_include([m4/strip.m4])
+m4_include([m4/tar.m4])
Index: /trunk/essentials/sys-devel/automake-1.9/automake.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/automake.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/automake.in	(revision 3089)
@@ -0,0 +1,7541 @@
+#!@PERL@ -w
+# -*- perl -*-
+# @configure_input@
+
+eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
+    if 0;
+
+# automake - create Makefile.in from Makefile.am
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Originally written by David Mackenzie <djm@gnu.ai.mit.edu>.
+# Perl reimplementation by Tom Tromey <tromey@redhat.com>.
+
+package Language;
+
+BEGIN
+{
+  my $perllibdir = $ENV{'perllibdir'} || '@datadir@/@PACKAGE@-@APIVERSION@';
+  unshift @INC, (split '@PATH_SEPARATOR@', $perllibdir);
+
+  # Override SHELL.  This is required on DJGPP so that system() uses
+  # bash, not COMMAND.COM which doesn't quote arguments properly.
+  # Other systems aren't expected to use $SHELL when Automake
+  # runs, but it should be safe to drop the `if DJGPP' guard if
+  # it turns up other systems need the same thing.  After all,
+  # if SHELL is used, ./configure's SHELL is always better than
+  # the user's SHELL (which may be something like tcsh).
+  $ENV{'SHELL'} = '@SHELL@' if exists $ENV{'DJGPP'};
+}
+
+use Automake::Struct;
+struct (# Short name of the language (c, f77...).
+        'name' => "\$",
+        # Nice name of the language (C, Fortran 77...).
+        'Name' => "\$",
+
+	# List of configure variables which must be defined.
+	'config_vars' => '@',
+
+        'ansi'    => "\$",
+	# `pure' is `1' or `'.  A `pure' language is one where, if
+	# all the files in a directory are of that language, then we
+	# do not require the C compiler or any code to call it.
+	'pure'   => "\$",
+
+	'autodep' => "\$",
+
+	# Name of the compiling variable (COMPILE).
+        'compiler'  => "\$",
+        # Content of the compiling variable.
+        'compile'  => "\$",
+        # Flag to require compilation without linking (-c).
+        'compile_flag' => "\$",
+        'extensions' => '@',
+	# A subroutine to compute a list of possible extensions of
+	# the product given the input extensions.
+	# (defaults to a subroutine which returns ('.$(OBJEXT)', '.lo'))
+	'output_extensions' => "\$",
+	# A list of flag variables used in 'compile'.
+	# (defaults to [])
+        'flags' => "@",
+
+	# Any tag to pass to libtool while compiling.
+	'libtool_tag' => "\$",
+
+	# The file to use when generating rules for this language.
+	# The default is 'depend2'.
+	'rule_file' => "\$",
+
+        # Name of the linking variable (LINK).
+        'linker' => "\$",
+        # Content of the linking variable.
+        'link' => "\$",
+
+        # Name of the linker variable (LD).
+        'lder' => "\$",
+        # Content of the linker variable ($(CC)).
+        'ld' => "\$",
+
+        # Flag to specify the output file (-o).
+        'output_flag' => "\$",
+        '_finish' => "\$",
+
+	# This is a subroutine which is called whenever we finally
+	# determine the context in which a source file will be
+	# compiled.
+	'_target_hook' => "\$");
+
+
+sub finish ($)
+{
+  my ($self) = @_;
+  if (defined $self->_finish)
+    {
+      &{$self->_finish} ();
+    }
+}
+
+sub target_hook ($$$$%)
+{
+    my ($self) = @_;
+    if (defined $self->_target_hook)
+    {
+	&{$self->_target_hook} (@_);
+    }
+}
+
+package Automake;
+
+use strict;
+use Automake::Config;
+use Automake::General;
+use Automake::XFile;
+use Automake::Channels;
+use Automake::ChannelDefs;
+use Automake::Configure_ac;
+use Automake::FileUtils;
+use Automake::Location;
+use Automake::Condition qw/TRUE FALSE/;
+use Automake::DisjConditions;
+use Automake::Options;
+use Automake::Version;
+use Automake::Variable;
+use Automake::VarDef;
+use Automake::Rule;
+use Automake::RuleDef;
+use Automake::Wrap 'makefile_wrap';
+use File::Basename;
+use File::Spec;
+use Carp;
+
+## ----------- ##
+## Constants.  ##
+## ----------- ##
+
+# Some regular expressions.  One reason to put them here is that it
+# makes indentation work better in Emacs.
+
+# Writing singled-quoted-$-terminated regexes is a pain because
+# perl-mode thinks of $' as the ${'} variable (instead of a $ followed
+# by a closing quote.  Letting perl-mode think the quote is not closed
+# leads to all sort of misindentations.  On the other hand, defining
+# regexes as double-quoted strings is far less readable.  So usually
+# we will write:
+#
+#  $REGEX = '^regex_value' . "\$";
+
+my $IGNORE_PATTERN = '^\s*##([^#\n].*)?\n';
+my $WHITE_PATTERN = '^\s*' . "\$";
+my $COMMENT_PATTERN = '^#';
+my $TARGET_PATTERN='[$a-zA-Z_.@%][-.a-zA-Z0-9_(){}/$+@%]*';
+# A rule has three parts: a list of targets, a list of dependencies,
+# and optionally actions.
+my $RULE_PATTERN =
+  "^($TARGET_PATTERN(?:(?:\\\\\n|\\s)+$TARGET_PATTERN)*) *:([^=].*|)\$";
+
+# Only recognize leading spaces, not leading tabs.  If we recognize
+# leading tabs here then we need to make the reader smarter, because
+# otherwise it will think rules like `foo=bar; \' are errors.
+my $ASSIGNMENT_PATTERN = '^ *([^ \t=:+]*)\s*([:+]?)=\s*(.*)' . "\$";
+# This pattern recognizes a Gnits version id and sets $1 if the
+# release is an alpha release.  We also allow a suffix which can be
+# used to extend the version number with a "fork" identifier.
+my $GNITS_VERSION_PATTERN = '\d+\.\d+([a-z]|\.\d+)?(-[A-Za-z0-9]+)?';
+
+my $IF_PATTERN = '^if\s+(!?)\s*([A-Za-z][A-Za-z0-9_]*)\s*(?:#.*)?' . "\$";
+my $ELSE_PATTERN =
+  '^else(?:\s+(!?)\s*([A-Za-z][A-Za-z0-9_]*))?\s*(?:#.*)?' . "\$";
+my $ENDIF_PATTERN =
+  '^endif(?:\s+(!?)\s*([A-Za-z][A-Za-z0-9_]*))?\s*(?:#.*)?' . "\$";
+my $PATH_PATTERN = '(\w|[+/.-])+';
+# This will pass through anything not of the prescribed form.
+my $INCLUDE_PATTERN = ('^include\s+'
+		       . '((\$\(top_srcdir\)/' . $PATH_PATTERN . ')'
+		       . '|(\$\(srcdir\)/' . $PATH_PATTERN . ')'
+		       . '|([^/\$]' . $PATH_PATTERN . '))\s*(#.*)?' . "\$");
+
+# Match `-d' as a command-line argument in a string.
+my $DASH_D_PATTERN = "(^|\\s)-d(\\s|\$)";
+# Directories installed during 'install-exec' phase.
+my $EXEC_DIR_PATTERN =
+  '^(?:bin|sbin|libexec|sysconf|localstate|lib|pkglib|.*exec.*)' . "\$";
+
+# Values for AC_CANONICAL_*
+use constant AC_CANONICAL_BUILD  => 1;
+use constant AC_CANONICAL_HOST   => 2;
+use constant AC_CANONICAL_TARGET => 3;
+
+# Values indicating when something should be cleaned.
+use constant MOSTLY_CLEAN     => 0;
+use constant CLEAN            => 1;
+use constant DIST_CLEAN       => 2;
+use constant MAINTAINER_CLEAN => 3;
+
+# Libtool files.
+my @libtool_files = qw(ltmain.sh config.guess config.sub);
+# ltconfig appears here for compatibility with old versions of libtool.
+my @libtool_sometimes = qw(ltconfig ltcf-c.sh ltcf-cxx.sh ltcf-gcj.sh);
+
+# Commonly found files we look for and automatically include in
+# DISTFILES.
+my @common_files =
+    (qw(ABOUT-GNU ABOUT-NLS AUTHORS BACKLOG COPYING COPYING.DOC COPYING.LIB
+	COPYING.LESSER ChangeLog INSTALL NEWS README THANKS TODO
+	ansi2knr.1 ansi2knr.c compile config.guess config.rpath config.sub
+	depcomp elisp-comp install-sh libversion.in mdate-sh missing
+	mkinstalldirs py-compile texinfo.tex ylwrap),
+     @libtool_files, @libtool_sometimes);
+
+# Commonly used files we auto-include, but only sometimes.  This list
+# is used for the --help output only.
+my @common_sometimes =
+  qw(aclocal.m4 acconfig.h config.h.top config.h.bot configure
+     configure.ac configure.in stamp-vti);
+
+# Standard directories from the GNU Coding Standards, and additional
+# pkg* directories from Automake.  Stored in a hash for fast member check.
+my %standard_prefix =
+    map { $_ => 1 } (qw(bin data exec include info lib libexec lisp
+			localstate man man1 man2 man3 man4 man5 man6
+			man7 man8 man9 oldinclude pkgdatadir
+			pkgincludedir pkglibdir sbin sharedstate
+			sysconf));
+
+# Copyright on generated Makefile.ins.
+my $gen_copyright = "\
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+";
+
+# These constants are returned by lang_*_rewrite functions.
+# LANG_SUBDIR means that the resulting object file should be in a
+# subdir if the source file is.  In this case the file name cannot
+# have `..' components.
+use constant LANG_IGNORE  => 0;
+use constant LANG_PROCESS => 1;
+use constant LANG_SUBDIR  => 2;
+
+# These are used when keeping track of whether an object can be built
+# by two different paths.
+use constant COMPILE_LIBTOOL  => 1;
+use constant COMPILE_ORDINARY => 2;
+
+# We can't always associate a location to a variable or a rule,
+# when its defined by Automake.  We use INTERNAL in this case.
+use constant INTERNAL => new Automake::Location;
+
+
+
+## ---------------------------------- ##
+## Variables related to the options.  ##
+## ---------------------------------- ##
+
+# TRUE if we should always generate Makefile.in.
+my $force_generation = 1;
+
+# From the Perl manual.
+my $symlink_exists = (eval 'symlink ("", "");', $@ eq '');
+
+# TRUE if missing standard files should be installed.
+my $add_missing = 0;
+
+# TRUE if we should copy missing files; otherwise symlink if possible.
+my $copy_missing = 0;
+
+# TRUE if we should always update files that we know about.
+my $force_missing = 0;
+
+
+## ---------------------------------------- ##
+## Variables filled during files scanning.  ##
+## ---------------------------------------- ##
+
+# Name of the configure.ac file.
+my $configure_ac;
+
+# Files found by scanning configure.ac for LIBOBJS.
+my %libsources = ();
+
+# Names used in AC_CONFIG_HEADER call.
+my @config_headers = ();
+
+# Names used in AC_CONFIG_LINKS call.
+my @config_links = ();
+
+# Directory where output files go.  Actually, output files are
+# relative to this directory.
+my $output_directory;
+
+# List of Makefile.am's to process, and their corresponding outputs.
+my @input_files = ();
+my %output_files = ();
+
+# Complete list of Makefile.am's that exist.
+my @configure_input_files = ();
+
+# List of files in AC_CONFIG_FILES/AC_OUTPUT without Makefile.am's,
+# and their outputs.
+my @other_input_files = ();
+# Where each AC_CONFIG_FILES/AC_OUTPUT/AC_CONFIG_LINK/AC_CONFIG_HEADER appears.
+# The keys are the files created by these macros.
+my %ac_config_files_location = ();
+
+# Directory to search for configure-required files.  This
+# will be computed by &locate_aux_dir and can be set using
+# AC_CONFIG_AUX_DIR in configure.ac.
+# $CONFIG_AUX_DIR is the `raw' directory, valid only in the source-tree.
+my $config_aux_dir = '';
+my $config_aux_dir_set_in_configure_ac = 0;
+# $AM_CONFIG_AUX_DIR is prefixed with $(top_srcdir), so it can be used
+# in Makefiles.
+my $am_config_aux_dir = '';
+
+# Whether AM_GNU_GETTEXT has been seen in configure.ac.
+my $seen_gettext = 0;
+# Whether AM_GNU_GETTEXT([external]) is used.
+my $seen_gettext_external = 0;
+# Where AM_GNU_GETTEXT appears.
+my $ac_gettext_location;
+
+# Lists of tags supported by Libtool.
+my %libtool_tags = ();
+
+# Most important AC_CANONICAL_* macro seen so far.
+my $seen_canonical = 0;
+# Location of that macro.
+my $canonical_location;
+
+# Where AM_MAINTAINER_MODE appears.
+my $seen_maint_mode;
+
+# Actual version we've seen.
+my $package_version = '';
+
+# Where version is defined.
+my $package_version_location;
+
+# TRUE if we've seen AC_ENABLE_MULTILIB.
+my $seen_multilib = 0;
+
+# TRUE if we've seen AM_PROG_CC_C_O
+my $seen_cc_c_o = 0;
+
+# Where AM_INIT_AUTOMAKE is called;
+my $seen_init_automake = 0;
+
+# TRUE if we've seen AM_AUTOMAKE_VERSION.
+my $seen_automake_version = 0;
+
+# Hash table of discovered configure substitutions.  Keys are names,
+# values are `FILE:LINE' strings which are used by error message
+# generation.
+my %configure_vars = ();
+
+# Files included by $configure_ac.
+my @configure_deps = ();
+
+# Greatest timestamp of configure's dependencies.
+my $configure_deps_greatest_timestamp = 0;
+
+# Hash table of AM_CONDITIONAL variables seen in configure.
+my %configure_cond = ();
+
+# This maps extensions onto language names.
+my %extension_map = ();
+
+# List of the DIST_COMMON files we discovered while reading
+# configure.in
+my $configure_dist_common = '';
+
+# This maps languages names onto objects.
+my %languages = ();
+
+# List of targets we must always output.
+# FIXME: Complete, and remove falsely required targets.
+my %required_targets =
+  (
+   'all'          => 1,
+   'dvi'	  => 1,
+   'pdf'	  => 1,
+   'ps'		  => 1,
+   'info'	  => 1,
+   'install-info' => 1,
+   'install'      => 1,
+   'install-data' => 1,
+   'install-exec' => 1,
+   'uninstall'    => 1,
+
+   # FIXME: Not required, temporary hacks.
+   # Well, actually they are sort of required: the -recursive
+   # targets will run them anyway...
+   'dvi-am'          => 1,
+   'pdf-am'          => 1,
+   'ps-am'           => 1,
+   'info-am'         => 1,
+   'install-data-am' => 1,
+   'install-exec-am' => 1,
+   'installcheck-am' => 1,
+   'uninstall-am' => 1,
+
+   'install-man' => 1,
+  );
+
+# Set to 1 if this run will create the Makefile.in that distribute
+# the files in config_aux_dir.
+my $automake_will_process_aux_dir = 0;
+
+# The name of the Makefile currently being processed.
+my $am_file = 'BUG';
+
+
+
+################################################################
+
+## ------------------------------------------ ##
+## Variables reset by &initialize_per_input.  ##
+## ------------------------------------------ ##
+
+# Basename and relative dir of the input file.
+my $am_file_name;
+my $am_relative_dir;
+
+# Same but wrt Makefile.in.
+my $in_file_name;
+my $relative_dir;
+
+# Greatest timestamp of the output's dependencies (excluding
+# configure's dependencies).
+my $output_deps_greatest_timestamp;
+
+# These two variables are used when generating each Makefile.in.
+# They hold the Makefile.in until it is ready to be printed.
+my $output_rules;
+my $output_vars;
+my $output_trailer;
+my $output_all;
+my $output_header;
+
+# This is the conditional stack, updated on if/else/endif, and
+# used to build Condition objects.
+my @cond_stack;
+
+# This holds the set of included files.
+my @include_stack;
+
+# This holds a list of directories which we must create at `dist'
+# time.  This is used in some strange scenarios involving weird
+# AC_OUTPUT commands.
+my %dist_dirs;
+
+# List of dependencies for the obvious targets.
+my @all;
+my @check;
+my @check_tests;
+
+# Keys in this hash table are files to delete.  The associated
+# value tells when this should happen (MOSTLY_CLEAN, DIST_CLEAN, etc.)
+my %clean_files;
+
+# Keys in this hash table are object files or other files in
+# subdirectories which need to be removed.  This only holds files
+# which are created by compilations.  The value in the hash indicates
+# when the file should be removed.
+my %compile_clean_files;
+
+# Keys in this hash table are directories where we expect to build a
+# libtool object.  We use this information to decide what directories
+# to delete.
+my %libtool_clean_directories;
+
+# Value of `$(SOURCES)', used by tags.am.
+my @sources;
+# Sources which go in the distribution.
+my @dist_sources;
+
+# This hash maps object file names onto their corresponding source
+# file names.  This is used to ensure that each object is created
+# by a single source file.
+my %object_map;
+
+# This hash maps object file names onto an integer value representing
+# whether this object has been built via ordinary compilation or
+# libtool compilation (the COMPILE_* constants).
+my %object_compilation_map;
+
+
+# This keeps track of the directories for which we've already
+# created dirstamp code.  Keys are directories, values are stamp files.
+# Several keys can share the same stamp files if they are equivalent
+# (as are `.//foo' and `foo').
+my %directory_map;
+
+# All .P files.
+my %dep_files;
+
+# This is a list of all targets to run during "make dist".
+my @dist_targets;
+
+# Keys in this hash are the basenames of files which must depend on
+# ansi2knr.  Values are either the empty string, or the directory in
+# which the ANSI source file appears; the directory must have a
+# trailing `/'.
+my %de_ansi_files;
+
+# This is the name of the redirect `all' target to use.
+my $all_target;
+
+# This keeps track of which extensions we've seen (that we care
+# about).
+my %extension_seen;
+
+# This is random scratch space for the language finish functions.
+# Don't randomly overwrite it; examine other uses of keys first.
+my %language_scratch;
+
+# We keep track of which objects need special (per-executable)
+# handling on a per-language basis.
+my %lang_specific_files;
+
+# This is set when `handle_dist' has finished.  Once this happens,
+# we should no longer push on dist_common.
+my $handle_dist_run;
+
+# Used to store a set of linkers needed to generate the sources currently
+# under consideration.
+my %linkers_used;
+
+# True if we need `LINK' defined.  This is a hack.
+my $need_link;
+
+# Was get_object_extension run?
+# FIXME: This is a hack. a better switch should be found.
+my $get_object_extension_was_run;
+
+# Record each file processed by make_paragraphs.
+my %transformed_files;
+
+################################################################
+
+# var_SUFFIXES_trigger ($TYPE, $VALUE)
+# ------------------------------------
+# This is called by Automake::Variable::define() when SUFFIXES
+# is defined ($TYPE eq '') or appended ($TYPE eq '+').
+# The work here needs to be performed as a side-effect of the
+# macro_define() call because SUFFIXES definitions impact
+# on $KNOWN_EXTENSIONS_PATTERN which is used used when parsing
+# the input am file.
+sub var_SUFFIXES_trigger ($$)
+{
+    my ($type, $value) = @_;
+    accept_extensions (split (' ', $value));
+}
+Automake::Variable::hook ('SUFFIXES', \&var_SUFFIXES_trigger);
+
+################################################################
+
+## --------------------------------- ##
+## Forward subroutine declarations.  ##
+## --------------------------------- ##
+sub register_language (%);
+sub file_contents_internal ($$$%);
+sub define_files_variable ($\@$$);
+
+
+# &initialize_per_input ()
+# ------------------------
+# (Re)-Initialize per-Makefile.am variables.
+sub initialize_per_input ()
+{
+    reset_local_duplicates ();
+
+    $am_file_name = '';
+    $am_relative_dir = '';
+
+    $in_file_name = '';
+    $relative_dir = '';
+
+    $output_deps_greatest_timestamp = 0;
+
+    $output_rules = '';
+    $output_vars = '';
+    $output_trailer = '';
+    $output_all = '';
+    $output_header = '';
+
+    Automake::Options::reset;
+    Automake::Variable::reset;
+    Automake::Rule::reset;
+
+    @cond_stack = ();
+
+    @include_stack = ();
+
+    %dist_dirs = ();
+
+    @all = ();
+    @check = ();
+    @check_tests = ();
+
+    %clean_files = ();
+
+    @sources = ();
+    @dist_sources = ();
+
+    %object_map = ();
+    %object_compilation_map = ();
+
+    %directory_map = ();
+
+    %dep_files = ();
+
+    @dist_targets = ();
+
+    %de_ansi_files = ();
+
+    $all_target = '';
+
+    %extension_seen = ();
+
+    %language_scratch = ();
+
+    %lang_specific_files = ();
+
+    $handle_dist_run = 0;
+
+    $need_link = 0;
+
+    $get_object_extension_was_run = 0;
+
+    %compile_clean_files = ();
+
+    # We always include `.'.  This isn't strictly correct.
+    %libtool_clean_directories = ('.' => 1);
+
+    %transformed_files = ();
+}
+
+
+################################################################
+
+# Initialize our list of languages that are internally supported.
+
+# C.
+register_language ('name' => 'c',
+		   'Name' => 'C',
+		   'config_vars' => ['CC'],
+		   'ansi' => 1,
+		   'autodep' => '',
+		   'flags' => ['CFLAGS', 'CPPFLAGS'],
+		   'compiler' => 'COMPILE',
+		   'compile' => '$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)',
+		   'lder' => 'CCLD',
+		   'ld' => '$(CC)',
+		   'linker' => 'LINK',
+		   'link' => '$(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'compile_flag' => '-c',
+		   'libtool_tag' => 'CC',
+		   'extensions' => ['.c'],
+		   '_finish' => \&lang_c_finish);
+
+# C++.
+register_language ('name' => 'cxx',
+		   'Name' => 'C++',
+		   'config_vars' => ['CXX'],
+		   'linker' => 'CXXLINK',
+		   'link' => '$(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'autodep' => 'CXX',
+		   'flags' => ['CXXFLAGS', 'CPPFLAGS'],
+		   'compile' => '$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)',
+		   'compiler' => 'CXXCOMPILE',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'libtool_tag' => 'CXX',
+		   'lder' => 'CXXLD',
+		   'ld' => '$(CXX)',
+		   'pure' => 1,
+		   'extensions' => ['.c++', '.cc', '.cpp', '.cxx', '.C']);
+
+# Objective C.
+register_language ('name' => 'objc',
+		   'Name' => 'Objective C',
+		   'config_vars' => ['OBJC'],
+		   'linker' => 'OBJCLINK',,
+ 		   'link' => '$(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'autodep' => 'OBJC',
+		   'flags' => ['OBJCFLAGS', 'CPPFLAGS'],
+		   'compile' => '$(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)',
+		   'compiler' => 'OBJCCOMPILE',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'lder' => 'OBJCLD',
+		   'ld' => '$(OBJC)',
+		   'pure' => 1,
+		   'extensions' => ['.m']);
+
+# Headers.
+register_language ('name' => 'header',
+		   'Name' => 'Header',
+		   'extensions' => ['.h', '.H', '.hxx', '.h++', '.hh',
+				    '.hpp', '.inc'],
+		   # No output.
+		   'output_extensions' => sub { return () },
+		   # Nothing to do.
+		   '_finish' => sub { });
+
+# Yacc (C & C++).
+register_language ('name' => 'yacc',
+		   'Name' => 'Yacc',
+		   'config_vars' => ['YACC'],
+		   'flags' => ['YFLAGS'],
+		   'compile' => '$(YACC) $(YFLAGS) $(AM_YFLAGS)',
+		   'compiler' => 'YACCCOMPILE',
+		   'extensions' => ['.y'],
+		   'output_extensions' => sub { (my $ext = $_[0]) =~ tr/y/c/;
+						return ($ext,) },
+		   'rule_file' => 'yacc',
+		   '_finish' => \&lang_yacc_finish,
+		   '_target_hook' => \&lang_yacc_target_hook);
+register_language ('name' => 'yaccxx',
+		   'Name' => 'Yacc (C++)',
+		   'config_vars' => ['YACC'],
+		   'rule_file' => 'yacc',
+		   'flags' => ['YFLAGS'],
+		   'compiler' => 'YACCCOMPILE',
+		   'compile' => '$(YACC) $(YFLAGS) $(AM_YFLAGS)',
+		   'extensions' => ['.y++', '.yy', '.yxx', '.ypp'],
+		   'output_extensions' => sub { (my $ext = $_[0]) =~ tr/y/c/;
+						return ($ext,) },
+		   '_finish' => \&lang_yacc_finish,
+		   '_target_hook' => \&lang_yacc_target_hook);
+
+# Lex (C & C++).
+register_language ('name' => 'lex',
+		   'Name' => 'Lex',
+		   'config_vars' => ['LEX'],
+		   'rule_file' => 'lex',
+		   'flags' => ['LFLAGS'],
+		   'compile' => '$(LEX) $(LFLAGS) $(AM_LFLAGS)',
+		   'compiler' => 'LEXCOMPILE',
+		   'extensions' => ['.l'],
+		   'output_extensions' => sub { (my $ext = $_[0]) =~ tr/l/c/;
+						return ($ext,) },
+		   '_finish' => \&lang_lex_finish,
+		   '_target_hook' => \&lang_lex_target_hook);
+register_language ('name' => 'lexxx',
+		   'Name' => 'Lex (C++)',
+		   'config_vars' => ['LEX'],
+		   'rule_file' => 'lex',
+		   'flags' => ['LFLAGS'],
+		   'compile' => '$(LEX) $(LFLAGS) $(AM_LFLAGS)',
+		   'compiler' => 'LEXCOMPILE',
+		   'extensions' => ['.l++', '.ll', '.lxx', '.lpp'],
+		   'output_extensions' => sub { (my $ext = $_[0]) =~ tr/l/c/;
+						return ($ext,) },
+		   '_finish' => \&lang_lex_finish,
+		   '_target_hook' => \&lang_lex_target_hook);
+
+# Assembler.
+register_language ('name' => 'asm',
+		   'Name' => 'Assembler',
+		   'config_vars' => ['CCAS', 'CCASFLAGS'],
+
+		   'flags' => ['CCASFLAGS'],
+		   # Users can set AM_ASFLAGS to includes DEFS, INCLUDES,
+		   # or anything else required.  They can also set AS.
+		   'compile' => '$(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)',
+		   'compiler' => 'CCASCOMPILE',
+		   'compile_flag' => '-c',
+		   'extensions' => ['.s', '.S'],
+
+		   # With assembly we still use the C linker.
+		   '_finish' => \&lang_c_finish);
+
+# Fortran 77
+register_language ('name' => 'f77',
+		   'Name' => 'Fortran 77',
+		   'linker' => 'F77LINK',
+		   'link' => '$(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'flags' => ['FFLAGS'],
+		   'compile' => '$(F77) $(AM_FFLAGS) $(FFLAGS)',
+		   'compiler' => 'F77COMPILE',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'libtool_tag' => 'F77',
+		   'lder' => 'F77LD',
+		   'ld' => '$(F77)',
+		   'pure' => 1,
+		   'extensions' => ['.f', '.for']);
+
+# Fortran
+register_language ('name' => 'fc',
+		   'Name' => 'Fortran',
+		   'linker' => 'FCLINK',
+		   'link' => '$(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'flags' => ['FCFLAGS'],
+		   'compile' => '$(FC) $(AM_FCFLAGS) $(FCFLAGS)',
+		   'compiler' => 'FCCOMPILE',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'lder' => 'FCLD',
+		   'ld' => '$(FC)',
+		   'pure' => 1,
+		   'extensions' => ['.f90', '.f95']);
+
+# Preprocessed Fortran
+register_language ('name' => 'ppfc',
+		   'Name' => 'Preprocessed Fortran',
+		   'config_vars' => ['FC'],
+		   'linker' => 'FCLINK',
+		   'link' => '$(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'lder' => 'FCLD',
+		   'ld' => '$(FC)',
+		   'flags' => ['FCFLAGS', 'CPPFLAGS'],
+		   'compiler' => 'PPFCCOMPILE',
+		   'compile' => '$(FC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'libtool_tag' => 'FC',
+		   'pure' => 1,
+		   'extensions' => ['.F90','.F95']);
+
+# Preprocessed Fortran 77
+#
+# The current support for preprocessing Fortran 77 just involves
+# passing `$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS)
+# $(CPPFLAGS)' as additional flags to the Fortran 77 compiler, since
+# this is how GNU Make does it; see the `GNU Make Manual, Edition 0.51
+# for `make' Version 3.76 Beta' (specifically, from info file
+# `(make)Catalogue of Rules').
+#
+# A better approach would be to write an Autoconf test
+# (i.e. AC_PROG_FPP) for a Fortran 77 preprocessor, because not all
+# Fortran 77 compilers know how to do preprocessing.  The Autoconf
+# macro AC_PROG_FPP should test the Fortran 77 compiler first for
+# preprocessing capabilities, and then fall back on cpp (if cpp were
+# available).
+register_language ('name' => 'ppf77',
+		   'Name' => 'Preprocessed Fortran 77',
+		   'config_vars' => ['F77'],
+		   'linker' => 'F77LINK',
+		   'link' => '$(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'lder' => 'F77LD',
+		   'ld' => '$(F77)',
+		   'flags' => ['FFLAGS', 'CPPFLAGS'],
+		   'compiler' => 'PPF77COMPILE',
+		   'compile' => '$(F77) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_FFLAGS) $(FFLAGS)',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'libtool_tag' => 'F77',
+		   'pure' => 1,
+		   'extensions' => ['.F']);
+
+# Ratfor.
+register_language ('name' => 'ratfor',
+		   'Name' => 'Ratfor',
+		   'config_vars' => ['F77'],
+		   'linker' => 'F77LINK',
+		   'link' => '$(F77LD) $(AM_FFLAGS) $(FFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'lder' => 'F77LD',
+		   'ld' => '$(F77)',
+		   'flags' => ['RFLAGS', 'FFLAGS'],
+		   # FIXME also FFLAGS.
+		   'compile' => '$(F77) $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)',
+		   'compiler' => 'RCOMPILE',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'libtool_tag' => 'F77',
+		   'pure' => 1,
+		   'extensions' => ['.r']);
+
+# Java via gcj.
+register_language ('name' => 'java',
+		   'Name' => 'Java',
+		   'config_vars' => ['GCJ'],
+		   'linker' => 'GCJLINK',
+		   'link' => '$(GCJLD) $(AM_GCJFLAGS) $(GCJFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@',
+		   'autodep' => 'GCJ',
+		   'flags' => ['GCJFLAGS'],
+		   'compile' => '$(GCJ) $(AM_GCJFLAGS) $(GCJFLAGS)',
+		   'compiler' => 'GCJCOMPILE',
+		   'compile_flag' => '-c',
+		   'output_flag' => '-o',
+		   'libtool_tag' => 'GCJ',
+		   'lder' => 'GCJLD',
+		   'ld' => '$(GCJ)',
+		   'pure' => 1,
+		   'extensions' => ['.java', '.class', '.zip', '.jar']);
+
+################################################################
+
+# Error reporting functions.
+
+# err_am ($MESSAGE, [%OPTIONS])
+# -----------------------------
+# Uncategorized errors about the current Makefile.am.
+sub err_am ($;%)
+{
+  msg_am ('error', @_);
+}
+
+# err_ac ($MESSAGE, [%OPTIONS])
+# -----------------------------
+# Uncategorized errors about configure.ac.
+sub err_ac ($;%)
+{
+  msg_ac ('error', @_);
+}
+
+# msg_am ($CHANNEL, $MESSAGE, [%OPTIONS])
+# ---------------------------------------
+# Messages about about the current Makefile.am.
+sub msg_am ($$;%)
+{
+  my ($channel, $msg, %opts) = @_;
+  msg $channel, "${am_file}.am", $msg, %opts;
+}
+
+# msg_ac ($CHANNEL, $MESSAGE, [%OPTIONS])
+# ---------------------------------------
+# Messages about about configure.ac.
+sub msg_ac ($$;%)
+{
+  my ($channel, $msg, %opts) = @_;
+  msg $channel, $configure_ac, $msg, %opts;
+}
+
+################################################################
+
+# subst ($TEXT)
+# -------------
+# Return a configure-style substitution using the indicated text.
+# We do this to avoid having the substitutions directly in automake.in;
+# when we do that they are sometimes removed and this causes confusion
+# and bugs.
+sub subst ($)
+{
+    my ($text) = @_;
+    return '@' . $text . '@';
+}
+
+################################################################
+
+
+# $BACKPATH
+# &backname ($REL-DIR)
+# --------------------
+# If I `cd $REL-DIR', then to come back, I should `cd $BACKPATH'.
+# For instance `src/foo' => `../..'.
+# Works with non strictly increasing paths, i.e., `src/../lib' => `..'.
+sub backname ($)
+{
+    my ($file) = @_;
+    my @res;
+    foreach (split (/\//, $file))
+    {
+	next if $_ eq '.' || $_ eq '';
+	if ($_ eq '..')
+	{
+	    pop @res;
+	}
+	else
+	{
+	    push (@res, '..');
+	}
+    }
+    return join ('/', @res) || '.';
+}
+
+################################################################
+
+
+# Handle AUTOMAKE_OPTIONS variable.  Return 1 on error, 0 otherwise.
+sub handle_options
+{
+  my $var = var ('AUTOMAKE_OPTIONS');
+  if ($var)
+    {
+      # FIXME: We should disallow conditional definitions of AUTOMAKE_OPTIONS.
+      if (process_option_list ($var->rdef (TRUE)->location,
+			       $var->value_as_list_recursive (cond_filter =>
+							      TRUE)))
+	{
+	  return 1;
+	}
+    }
+
+  if ($strictness == GNITS)
+    {
+      set_option ('readme-alpha', INTERNAL);
+      set_option ('std-options', INTERNAL);
+      set_option ('check-news', INTERNAL);
+    }
+
+  return 0;
+}
+
+# shadow_unconditionally ($varname, $where)
+# -----------------------------------------
+# Return a $(variable) that contains all possible values
+# $varname can take.
+# If the VAR wasn't defined conditionally, return $(VAR).
+# Otherwise we create a am__VAR_DIST variable which contains
+# all possible values, and return $(am__VAR_DIST).
+sub shadow_unconditionally ($$)
+{
+  my ($varname, $where) = @_;
+  my $var = var $varname;
+  if ($var->has_conditional_contents)
+    {
+      $varname = "am__${varname}_DIST";
+      my @files = uniq ($var->value_as_list_recursive);
+      define_pretty_variable ($varname, TRUE, $where, @files);
+    }
+  return "\$($varname)"
+}
+
+# get_object_extension ($EXTENSION)
+# ---------------------------------
+# Prefix $EXTENSION with $U if ansi2knr is in use.
+sub get_object_extension ($)
+{
+    my ($extension) = @_;
+
+    # Check for automatic de-ANSI-fication.
+    $extension = '$U' . $extension
+      if option 'ansi2knr';
+
+    $get_object_extension_was_run = 1;
+
+    return $extension;
+}
+
+
+# Call finish function for each language that was used.
+sub handle_languages
+{
+    if (! option 'no-dependencies')
+    {
+	# Include auto-dep code.  Don't include it if DEP_FILES would
+	# be empty.
+	if (&saw_sources_p (0) && keys %dep_files)
+	{
+	    # Set location of depcomp.
+	    &define_variable ('depcomp',
+			      "\$(SHELL) $am_config_aux_dir/depcomp",
+			      INTERNAL);
+	    &define_variable ('am__depfiles_maybe', 'depfiles', INTERNAL);
+
+	    require_conf_file ("$am_file.am", FOREIGN, 'depcomp');
+
+	    my @deplist = sort keys %dep_files;
+	    # Generate each `include' individually.  Irix 6 make will
+	    # not properly include several files resulting from a
+	    # variable expansion; generating many separate includes
+	    # seems safest.
+	    $output_rules .= "\n";
+	    foreach my $iter (@deplist)
+ 	    {
+		$output_rules .= (subst ('AMDEP_TRUE')
+				  . subst ('am__include')
+				  . ' '
+				  . subst ('am__quote')
+				  . $iter
+				  . subst ('am__quote')
+				  . "\n");
+	    }
+
+	    # Compute the set of directories to remove in distclean-depend.
+	    my @depdirs = uniq (map { dirname ($_) } @deplist);
+	    $output_rules .= &file_contents ('depend',
+					     new Automake::Location,
+					     DEPDIRS => "@depdirs");
+	}
+    }
+    else
+    {
+	&define_variable ('depcomp', '', INTERNAL);
+	&define_variable ('am__depfiles_maybe', '', INTERNAL);
+    }
+
+    my %done;
+
+    # Is the c linker needed?
+    my $needs_c = 0;
+    foreach my $ext (sort keys %extension_seen)
+    {
+	next unless $extension_map{$ext};
+
+	my $lang = $languages{$extension_map{$ext}};
+
+	my $rule_file = $lang->rule_file || 'depend2';
+
+	# Get information on $LANG.
+	my $pfx = $lang->autodep;
+	my $fpfx = ($pfx eq '') ? 'CC' : $pfx;
+
+	my ($AMDEP, $FASTDEP) =
+	  (option 'no-dependencies' || $lang->autodep eq 'no')
+	  ? ('FALSE', 'FALSE') : ('AMDEP', "am__fastdep$fpfx");
+
+	my %transform = ('EXT'     => $ext,
+			 'PFX'     => $pfx,
+			 'FPFX'    => $fpfx,
+			 'AMDEP'   => $AMDEP,
+			 'FASTDEP' => $FASTDEP,
+			 '-c'      => $lang->compile_flag || '',
+			 'MORE-THAN-ONE'
+			           => (count_files_for_language ($lang->name) > 1));
+
+	# Generate the appropriate rules for this extension.
+	if (((! option 'no-dependencies') && $lang->autodep ne 'no')
+	    || defined $lang->compile)
+	{
+	    # Some C compilers don't support -c -o.  Use it only if really
+	    # needed.
+	    my $output_flag = $lang->output_flag || '';
+	    $output_flag = '-o'
+	      if (! $output_flag
+		  && $lang->name eq 'c'
+		  && option 'subdir-objects');
+
+	    # Compute a possible derived extension.
+	    # This is not used by depend2.am.
+	    my $der_ext = (&{$lang->output_extensions} ($ext))[0];
+
+	    # When we output an inference rule like `.c.o:' we
+	    # have two cases to consider: either subdir-objects
+	    # is used, or it is not.
+	    #
+	    # In the latter case the rule is used to build objects
+	    # in the current directory, and dependencies always
+	    # go into `./$(DEPDIR)/'.  We can hard-code this value.
+	    #
+	    # In the former case the rule can be used to build
+	    # objects in sub-directories too.  Dependencies should
+	    # go into the appropriate sub-directories, e.g.,
+	    # `sub/$(DEPDIR)/'.  The value of this directory
+	    # need the be computed on-the-fly.
+	    #
+	    # DEPBASE holds the name of this directory, plus the
+	    # basename part of the object file (extensions Po, TPo,
+	    # Plo, TPlo will be added later as appropriate).  It is
+	    # either hardcoded, or a shell variable (`$depbase') that
+	    # will be computed by the rule.
+	    my $depbase =
+	      option ('subdir-objects') ? '$$depbase' : '$(DEPDIR)/$*';
+	    $output_rules .=
+	      file_contents ($rule_file,
+			     new Automake::Location,
+			     %transform,
+			     GENERIC   => 1,
+
+			     'DERIVED-EXT' => $der_ext,
+
+			     DEPBASE   => $depbase,
+			     BASE      => '$*',
+			     SOURCE    => '$<',
+			     OBJ       => '$@',
+			     OBJOBJ    => '$@',
+			     LTOBJ     => '$@',
+
+			     COMPILE   => '$(' . $lang->compiler . ')',
+			     LTCOMPILE => '$(LT' . $lang->compiler . ')',
+			     -o        => $output_flag,
+			     SUBDIROBJ => !! option 'subdir-objects');
+	}
+
+	# Now include code for each specially handled object with this
+	# language.
+	my %seen_files = ();
+	foreach my $file (@{$lang_specific_files{$lang->name}})
+	{
+	    my ($derived, $source, $obj, $myext, %file_transform) = @$file;
+
+	    # We might see a given object twice, for instance if it is
+	    # used under different conditions.
+	    next if defined $seen_files{$obj};
+	    $seen_files{$obj} = 1;
+
+	    prog_error ("found " . $lang->name .
+			" in handle_languages, but compiler not defined")
+	      unless defined $lang->compile;
+
+	    my $obj_compile = $lang->compile;
+
+	    # Rewrite each occurrence of `AM_$flag' in the compile
+	    # rule into `${derived}_$flag' if it exists.
+	    for my $flag (@{$lang->flags})
+	      {
+		my $val = "${derived}_$flag";
+		$obj_compile =~ s/\(AM_$flag\)/\($val\)/
+		  if set_seen ($val);
+	      }
+
+	    my $libtool_tag = '';
+	    if ($lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag})
+	      {
+		$libtool_tag = '--tag=' . $lang->libtool_tag . ' '
+	      }
+
+	    my $obj_ltcompile =
+	      "\$(LIBTOOL) $libtool_tag--mode=compile $obj_compile";
+
+	    # We _need_ `-o' for per object rules.
+	    my $output_flag = $lang->output_flag || '-o';
+
+	    my $depbase = dirname ($obj);
+	    $depbase = ''
+		if $depbase eq '.';
+	    $depbase .= '/'
+		unless $depbase eq '';
+	    $depbase .= '$(DEPDIR)/' . basename ($obj);
+
+	    # Support for deansified files in subdirectories is ugly
+	    # enough to deserve an explanation.
+	    #
+	    # A Note about normal ansi2knr processing first.  On
+	    #
+	    #   AUTOMAKE_OPTIONS = ansi2knr
+	    #   bin_PROGRAMS = foo
+	    #   foo_SOURCES = foo.c
+	    #
+	    # we generate rules similar to:
+	    #
+	    #   foo: foo$U.o; link ...
+	    #   foo$U.o: foo$U.c; compile ...
+	    #   foo_.c: foo.c; ansi2knr ...
+	    #
+	    # this is fairly compact, and will call ansi2knr depending
+	    # on the value of $U (`' or `_').
+	    #
+	    # It's harder with subdir sources. On
+	    #
+	    #   AUTOMAKE_OPTIONS = ansi2knr
+	    #   bin_PROGRAMS = foo
+	    #   foo_SOURCES = sub/foo.c
+	    #
+	    # we have to create foo_.c in the current directory.
+	    # (Unless the user asks 'subdir-objects'.)  This is important
+	    # in case the same file (`foo.c') is compiled from other
+	    # directories with different cpp options: foo_.c would
+	    # be preprocessed for only one set of options if it were
+	    # put in the subdirectory.
+	    #
+	    # Because foo$U.o must be built from either foo_.c or
+	    # sub/foo.c we can't be as concise as in the first example.
+	    # Instead we output
+	    #
+	    #   foo: foo$U.o; link ...
+	    #   foo_.o: foo_.c; compile ...
+	    #   foo.o: sub/foo.c; compile ...
+	    #   foo_.c: foo.c; ansi2knr ...
+	    #
+	    # This is why we'll now transform $rule_file twice
+	    # if we detect this case.
+	    # A first time we output the compile rule with `$U'
+	    # replaced by `_' and the source directory removed,
+	    # and another time we simply remove `$U'.
+	    #
+	    # Note that at this point $source (as computed by
+	    # &handle_single_transform) is `sub/foo$U.c'.
+	    # This can be confusing: it can be used as-is when
+	    # subdir-objects is set, otherwise you have to know
+	    # it really means `foo_.c' or `sub/foo.c'.
+	    my $objdir = dirname ($obj);
+	    my $srcdir = dirname ($source);
+	    if ($lang->ansi && $obj =~ /\$U/)
+	      {
+		prog_error "`$obj' contains \$U, but `$source' doesn't."
+		  if $source !~ /\$U/;
+
+		(my $source_ = $source) =~ s/\$U/_/g;
+		# Output an additional rule if _.c and .c are not in
+		# the same directory.  (_.c is always in $objdir.)
+		if ($objdir ne $srcdir)
+		  {
+		    (my $obj_ = $obj) =~ s/\$U/_/g;
+		    (my $depbase_ = $depbase) =~ s/\$U/_/g;
+		    $source_ = basename ($source_);
+
+		    $output_rules .=
+		      file_contents ($rule_file,
+				     new Automake::Location,
+				     %transform,
+				     GENERIC   => 0,
+
+				     DEPBASE   => $depbase_,
+				     BASE      => $obj_,
+				     SOURCE    => $source_,
+				     OBJ       => "$obj_$myext",
+				     OBJOBJ    => "$obj_.obj",
+				     LTOBJ     => "$obj_.lo",
+
+				     COMPILE   => $obj_compile,
+				     LTCOMPILE => $obj_ltcompile,
+				     -o        => $output_flag,
+				     %file_transform);
+		    $obj =~ s/\$U//g;
+		    $depbase =~ s/\$U//g;
+		    $source =~ s/\$U//g;
+		  }
+	      }
+
+	    $output_rules .=
+	      file_contents ($rule_file,
+			     new Automake::Location,
+			     %transform,
+			     GENERIC   => 0,
+
+			     DEPBASE   => $depbase,
+			     BASE      => $obj,
+			     SOURCE    => $source,
+			     # Use $myext and not `.o' here, in case
+			     # we are actually building a new source
+			     # file -- e.g. via yacc.
+			     OBJ       => "$obj$myext",
+			     OBJOBJ    => "$obj.obj",
+			     LTOBJ     => "$obj.lo",
+
+			     COMPILE   => $obj_compile,
+			     LTCOMPILE => $obj_ltcompile,
+			     -o        => $output_flag,
+			     %file_transform);
+	}
+
+	# The rest of the loop is done once per language.
+	next if defined $done{$lang};
+	$done{$lang} = 1;
+
+	# Load the language dependent Makefile chunks.
+	my %lang = map { uc ($_) => 0 } keys %languages;
+	$lang{uc ($lang->name)} = 1;
+	$output_rules .= file_contents ('lang-compile',
+					new Automake::Location,
+					%transform, %lang);
+
+	# If the source to a program consists entirely of code from a
+	# `pure' language, for instance C++ for Fortran 77, then we
+	# don't need the C compiler code.  However if we run into
+	# something unusual then we do generate the C code.  There are
+	# probably corner cases here that do not work properly.
+	# People linking Java code to Fortran code deserve pain.
+	$needs_c ||= ! $lang->pure;
+
+	define_compiler_variable ($lang)
+	  if ($lang->compile);
+
+	define_linker_variable ($lang)
+	  if ($lang->link);
+
+	require_variables ("$am_file.am", $lang->Name . " source seen",
+			   TRUE, @{$lang->config_vars});
+
+	# Call the finisher.
+	$lang->finish;
+
+	# Flags listed in `->flags' are user variables (per GNU Standards),
+	# they should not be overridden in the Makefile...
+	my @dont_override = @{$lang->flags};
+	# ... and so is LDFLAGS.
+	push @dont_override, 'LDFLAGS' if $lang->link;
+
+	foreach my $flag (@dont_override)
+	  {
+	    my $var = var $flag;
+	    if ($var)
+	      {
+		for my $cond ($var->conditions->conds)
+		  {
+		    if ($var->rdef ($cond)->owner == VAR_MAKEFILE)
+		      {
+			msg_cond_var ('gnu', $cond, $flag,
+				      "`$flag' is a user variable, "
+				      . "you should not override it;\n"
+				      . "use `AM_$flag' instead.");
+		      }
+		  }
+	      }
+	  }
+    }
+
+    # If the project is entirely C++ or entirely Fortran 77 (i.e., 1
+    # suffix rule was learned), don't bother with the C stuff.  But if
+    # anything else creeps in, then use it.
+    $needs_c = 1
+      if $need_link || suffix_rules_count > 1;
+
+    if ($needs_c)
+      {
+	&define_compiler_variable ($languages{'c'})
+	  unless defined $done{$languages{'c'}};
+	define_linker_variable ($languages{'c'});
+      }
+}
+
+# Check to make sure a source defined in LIBOBJS is not explicitly
+# mentioned.  This is a separate function (as opposed to being inlined
+# in handle_source_transform) because it isn't always appropriate to
+# do this check.
+sub check_libobjs_sources
+{
+  my ($one_file, $unxformed) = @_;
+
+  foreach my $prefix ('', 'EXTRA_', 'dist_', 'nodist_',
+		      'dist_EXTRA_', 'nodist_EXTRA_')
+    {
+      my @files;
+      my $varname = $prefix . $one_file . '_SOURCES';
+      my $var = var ($varname);
+      if ($var)
+	{
+	  @files = $var->value_as_list_recursive;
+	}
+      elsif ($prefix eq '')
+	{
+	  @files = ($unxformed . '.c');
+	}
+      else
+	{
+	  next;
+	}
+
+      foreach my $file (@files)
+	{
+	  err_var ($prefix . $one_file . '_SOURCES',
+		   "automatically discovered file `$file' should not" .
+		   " be explicitly mentioned")
+	    if defined $libsources{$file};
+	}
+    }
+}
+
+
+# @OBJECTS
+# handle_single_transform ($VAR, $TOPPARENT, $DERIVED, $OBJ, $FILE, %TRANSFORM)
+# -----------------------------------------------------------------------------
+# Does much of the actual work for handle_source_transform.
+# Arguments are:
+#   $VAR is the name of the variable that the source filenames come from
+#   $TOPPARENT is the name of the _SOURCES variable which is being processed
+#   $DERIVED is the name of resulting executable or library
+#   $OBJ is the object extension (e.g., `$U.lo')
+#   $FILE the source file to transform
+#   %TRANSFORM contains extras arguments to pass to file_contents
+#     when producing explicit rules
+# Result is a list of the names of objects
+# %linkers_used will be updated with any linkers needed
+sub handle_single_transform ($$$$$%)
+{
+    my ($var, $topparent, $derived, $obj, $_file, %transform) = @_;
+    my @files = ($_file);
+    my @result = ();
+    my $nonansi_obj = $obj;
+    $nonansi_obj =~ s/\$U//g;
+
+    # Turn sources into objects.  We use a while loop like this
+    # because we might add to @files in the loop.
+    while (scalar @files > 0)
+    {
+	$_ = shift @files;
+
+        # Configure substitutions in _SOURCES variables are errors.
+        if (/^\@.*\@$/)
+        {
+	  my $parent_msg = '';
+	  $parent_msg = "\nand is referred to from `$topparent'"
+	    if $topparent ne $var->name;
+	  err_var ($var,
+		   "`" . $var->name . "' includes configure substitution `$_'"
+		   . $parent_msg . ";\nconfigure " .
+		   "substitutions are not allowed in _SOURCES variables");
+	  next;
+        }
+
+        # If the source file is in a subdirectory then the `.o' is put
+        # into the current directory, unless the subdir-objects option
+        # is in effect.
+
+        # Split file name into base and extension.
+        next if ! /^(?:(.*)\/)?([^\/]*)($KNOWN_EXTENSIONS_PATTERN)$/;
+        my $full = $_;
+        my $directory = $1 || '';
+        my $base = $2;
+        my $extension = $3;
+
+        # We must generate a rule for the object if it requires its own flags.
+        my $renamed = 0;
+        my ($linker, $object);
+
+	# This records whether we've seen a derived source file (e.g.
+	# yacc output).
+	my $derived_source = 0;
+
+	# This holds the `aggregate context' of the file we are
+	# currently examining.  If the file is compiled with
+	# per-object flags, then it will be the name of the object.
+	# Otherwise it will be `AM'.  This is used by the target hook
+	# language function.
+	my $aggregate = 'AM';
+
+        $extension = &derive_suffix ($extension, $nonansi_obj);
+        my $lang;
+        if ($extension_map{$extension} &&
+            ($lang = $languages{$extension_map{$extension}}))
+	{
+            # Found the language, so see what it says.
+            &saw_extension ($extension);
+
+            # Note: computed subr call.  The language rewrite function
+            # should return one of the LANG_* constants.  It could
+            # also return a list whose first value is such a constant
+            # and whose second value is a new source extension which
+            # should be applied.  This means this particular language
+            # generates another source file which we must then process
+            # further.
+            my $subr = \&{'lang_' . $lang->name . '_rewrite'};
+            my ($r, $source_extension)
+		= &$subr ($directory, $base, $extension);
+            # Skip this entry if we were asked not to process it.
+            next if $r == LANG_IGNORE;
+
+            # Now extract linker and other info.
+            $linker = $lang->linker;
+
+            my $this_obj_ext;
+	    if (defined $source_extension)
+	    {
+		$this_obj_ext = $source_extension;
+		$derived_source = 1;
+	    }
+	    elsif ($lang->ansi)
+	    {
+		$this_obj_ext = $obj;
+	    }
+	    else
+	    {
+		$this_obj_ext = $nonansi_obj;
+	    }
+	    $object = $base . $this_obj_ext;
+
+	    # Do we have per-executable flags for this executable?
+	    my $have_per_exec_flags = 0;
+	    foreach my $flag (@{$lang->flags})
+	      {
+		if (set_seen ("${derived}_$flag"))
+		  {
+		    $have_per_exec_flags = 1;
+		    last;
+		  }
+	      }
+
+            if ($have_per_exec_flags)
+            {
+                # We have a per-executable flag in effect for this
+                # object.  In this case we rewrite the object's
+                # name to ensure it is unique.  We also require
+                # the `compile' program to deal with compilers
+                # where `-c -o' does not work.
+
+                # We choose the name `DERIVED_OBJECT' to ensure
+                # (1) uniqueness, and (2) continuity between
+                # invocations.  However, this will result in a
+                # name that is too long for losing systems, in
+                # some situations.  So we provide _SHORTNAME to
+                # override.
+
+                my $dname = $derived;
+		my $var = var ($derived . '_SHORTNAME');
+                if ($var)
+                {
+                    # FIXME: should use the same Condition as
+                    # the _SOURCES variable.  But this is really
+                    # silly overkill -- nobody should have
+                    # conditional shortnames.
+                    $dname = $var->variable_value;
+                }
+                $object = $dname . '-' . $object;
+
+                require_conf_file ("$am_file.am", FOREIGN, 'compile')
+                    if $lang->name eq 'c';
+
+		prog_error ($lang->name . " flags defined without compiler")
+		  if ! defined $lang->compile;
+
+                $renamed = 1;
+            }
+
+            # If rewrite said it was ok, put the object into a
+            # subdir.
+            if ($r == LANG_SUBDIR && $directory ne '')
+            {
+                $object = $directory . '/' . $object;
+            }
+
+	    # If the object file has been renamed (because per-target
+	    # flags are used) we cannot compile the file with an
+	    # inference rule: we need an explicit rule.
+	    #
+	    # If the source is in a subdirectory and the object is in
+	    # the current directory, we also need an explicit rule.
+	    #
+	    # If both source and object files are in a subdirectory
+	    # (this happens when the subdir-objects option is used),
+	    # then the inference will work.
+	    #
+	    # The latter case deserves a historical note.  When the
+	    # subdir-objects option was added on 1999-04-11 it was
+	    # thought that inferences rules would work for
+	    # subdirectory objects too.  Later, on 1999-11-22,
+	    # automake was changed to output explicit rules even for
+	    # subdir-objects.  Nobody remembers why, but this occured
+	    # soon after the merge of the user-dep-gen-branch so it
+	    # might be related.  In late 2003 people complained about
+	    # the size of the generated Makefile.ins (libgcj, with
+	    # 2200+ subdir objects was reported to have a 9MB
+	    # Makefile), so we now rely on inference rules again.
+	    # Maybe we'll run across the same issue as in the past,
+	    # but at least this time we can document it.  However since
+	    # dependency tracking has evolved it is possible that
+	    # our old problem no longer exists.
+	    # Using inference rules for subdir-objects has been tested
+	    # with GNU make, Solaris make, Ultrix make, BSD make,
+	    # HP-UX make, and OSF1 make successfully.
+            if ($renamed ||
+		($directory ne '' && ! option 'subdir-objects'))
+            {
+                my $obj_sans_ext = substr ($object, 0,
+					   - length ($this_obj_ext));
+		my $full_ansi = $full;
+		if ($lang->ansi && option 'ansi2knr')
+		  {
+		    $full_ansi =~ s/$KNOWN_EXTENSIONS_PATTERN$/\$U$&/;
+		    $obj_sans_ext .= '$U';
+		  }
+
+		my @specifics = ($full_ansi, $obj_sans_ext,
+				 # Only use $this_obj_ext in the derived
+				 # source case because in the other case we
+				 # *don't* want $(OBJEXT) to appear here.
+				 ($derived_source ? $this_obj_ext : '.o'));
+
+		# If we renamed the object then we want to use the
+		# per-executable flag name.  But if this is simply a
+		# subdir build then we still want to use the AM_ flag
+		# name.
+		if ($renamed)
+		  {
+		    unshift @specifics, $derived;
+		    $aggregate = $derived;
+		  }
+		else
+		  {
+		    unshift @specifics, 'AM';
+		  }
+
+		# Each item on this list is a reference to a list consisting
+		# of four values followed by additional transform flags for
+		# file_contents.   The four values are the derived flag prefix
+		# (e.g. for `foo_CFLAGS', it is `foo'), the name of the
+		# source file, the base name of the output file, and
+		# the extension for the object file.
+                push (@{$lang_specific_files{$lang->name}},
+		      [@specifics, %transform]);
+            }
+        }
+        elsif ($extension eq $nonansi_obj)
+        {
+            # This is probably the result of a direct suffix rule.
+            # In this case we just accept the rewrite.
+            $object = "$base$extension";
+            $linker = '';
+        }
+        else
+        {
+            # No error message here.  Used to have one, but it was
+            # very unpopular.
+	    # FIXME: we could potentially do more processing here,
+	    # perhaps treating the new extension as though it were a
+	    # new source extension (as above).  This would require
+	    # more restructuring than is appropriate right now.
+            next;
+        }
+
+	err_am "object `$object' created by `$full' and `$object_map{$object}'"
+	  if (defined $object_map{$object}
+	      && $object_map{$object} ne $full);
+
+	my $comp_val = (($object =~ /\.lo$/)
+			? COMPILE_LIBTOOL : COMPILE_ORDINARY);
+	(my $comp_obj = $object) =~ s/\.lo$/.\$(OBJEXT)/;
+	if (defined $object_compilation_map{$comp_obj}
+	    && $object_compilation_map{$comp_obj} != 0
+	    # Only see the error once.
+	    && ($object_compilation_map{$comp_obj}
+		!= (COMPILE_LIBTOOL | COMPILE_ORDINARY))
+	    && $object_compilation_map{$comp_obj} != $comp_val)
+	  {
+	    err_am "object `$comp_obj' created both with libtool and without";
+	  }
+	$object_compilation_map{$comp_obj} |= $comp_val;
+
+	if (defined $lang)
+	{
+	    # Let the language do some special magic if required.
+	    $lang->target_hook ($aggregate, $object, $full, %transform);
+	}
+
+	if ($derived_source)
+	  {
+	    prog_error ($lang->name . " has automatic dependency tracking")
+	      if $lang->autodep ne 'no';
+	    # Make sure this new source file is handled next.  That will
+	    # make it appear to be at the right place in the list.
+	    unshift (@files, $object);
+	    # Distribute derived sources unless the source they are
+	    # derived from is not.
+	    &push_dist_common ($object)
+	      unless ($topparent =~ /^(?:nobase_)?nodist_/);
+	    next;
+	  }
+
+        $linkers_used{$linker} = 1;
+
+        push (@result, $object);
+
+        if (! defined $object_map{$object})
+        {
+            my @dep_list = ();
+            $object_map{$object} = $full;
+
+            # If resulting object is in subdir, we need to make
+            # sure the subdir exists at build time.
+            if ($object =~ /\//)
+            {
+                # FIXME: check that $DIRECTORY is somewhere in the
+                # project
+
+		# For Java, the way we're handling it right now, a
+		# `..' component doesn't make sense.
+                if ($lang->name eq 'java' && $object =~ /(\/|^)\.\.\//)
+		  {
+		    err_am "`$full' should not contain a `..' component";
+		  }
+
+		# Make sure object is removed by `make mostlyclean'.
+		$compile_clean_files{$object} = MOSTLY_CLEAN;
+		# If we have a libtool object then we also must remove
+		# the ordinary .o.
+		if ($object =~ /\.lo$/)
+		{
+		    (my $xobj = $object) =~ s,lo$,\$(OBJEXT),;
+		    $compile_clean_files{$xobj} = MOSTLY_CLEAN;
+
+		    # Remove any libtool object in this directory.
+		    $libtool_clean_directories{$directory} = 1;
+		}
+
+                push (@dep_list, require_build_directory ($directory));
+
+                # If we're generating dependencies, we also want
+                # to make sure that the appropriate subdir of the
+                # .deps directory is created.
+		push (@dep_list,
+		      require_build_directory ($directory . '/$(DEPDIR)'))
+		  unless option 'no-dependencies';
+            }
+
+            &pretty_print_rule ($object . ':', "\t", @dep_list)
+                if scalar @dep_list > 0;
+        }
+
+        # Transform .o or $o file into .P file (for automatic
+        # dependency code).
+        if ($lang && $lang->autodep ne 'no')
+        {
+            my $depfile = $object;
+            $depfile =~ s/\.([^.]*)$/.P$1/;
+            $depfile =~ s/\$\(OBJEXT\)$/o/;
+            $dep_files{dirname ($depfile) . '/$(DEPDIR)/'
+			   . basename ($depfile)} = 1;
+        }
+    }
+
+    return @result;
+}
+
+
+# $LINKER
+# define_objects_from_sources ($VAR, $OBJVAR, $NODEFINE, $ONE_FILE,
+#                              $OBJ, $PARENT, $TOPPARENT, $WHERE, %TRANSFORM)
+# ---------------------------------------------------------------------------
+# Define an _OBJECTS variable for a _SOURCES variable (or subvariable)
+#
+# Arguments are:
+#   $VAR is the name of the _SOURCES variable
+#   $OBJVAR is the name of the _OBJECTS variable if known (otherwise
+#     it will be generated and returned).
+#   $NODEFINE is a boolean: if true, $OBJVAR will not be defined (but
+#     work done to determine the linker will be).
+#   $ONE_FILE is the canonical (transformed) name of object to build
+#   $OBJ is the object extension (i.e. either `.o' or `.lo').
+#   $TOPPARENT is the _SOURCES variable being processed.
+#   $WHERE context into which this definition is done
+#   %TRANSFORM extra arguments to pass to file_contents when producing
+#     rules
+#
+# Result is a pair ($LINKER, $OBJVAR):
+#    $LINKER is a boolean, true if a linker is needed to deal with the objects
+sub define_objects_from_sources ($$$$$$$%)
+{
+  my ($var, $objvar, $nodefine, $one_file,
+      $obj, $topparent, $where, %transform) = @_;
+
+  my $needlinker = "";
+
+  transform_variable_recursively
+    ($var, $objvar, 'am__objects', $nodefine, $where,
+     # The transform code to run on each filename.
+     sub {
+       my ($subvar, $val, $cond, $full_cond) = @_;
+       my @trans = handle_single_transform ($subvar, $topparent,
+					    $one_file, $obj, $val,
+					    %transform);
+       $needlinker = "true" if @trans;
+       return @trans;
+     });
+
+  return $needlinker;
+}
+
+
+# handle_source_transform ($CANON_TARGET, $TARGET, $OBJEXT, $WHERE, %TRANSFORM)
+# -----------------------------------------------------------------------------
+# Handle SOURCE->OBJECT transform for one program or library.
+# Arguments are:
+#   canonical (transformed) name of target to build
+#   actual target of object to build
+#   object extension (i.e. either `.o' or `$o'.
+#   location of the source variable
+#   extra arguments to pass to file_contents when producing rules
+# Return result is name of linker variable that must be used.
+# Empty return means just use `LINK'.
+sub handle_source_transform ($$$$%)
+{
+    # one_file is canonical name.  unxformed is given name.  obj is
+    # object extension.
+    my ($one_file, $unxformed, $obj, $where, %transform) = @_;
+
+    my ($linker) = '';
+
+    # No point in continuing if _OBJECTS is defined.
+    return if reject_var ($one_file . '_OBJECTS',
+			  $one_file . '_OBJECTS should not be defined');
+
+    my %used_pfx = ();
+    my $needlinker;
+    %linkers_used = ();
+    foreach my $prefix ('', 'EXTRA_', 'dist_', 'nodist_',
+			'dist_EXTRA_', 'nodist_EXTRA_')
+    {
+	my $varname = $prefix . $one_file . "_SOURCES";
+	my $var = var $varname;
+	next unless $var;
+
+	# We are going to define _OBJECTS variables using the prefix.
+	# Then we glom them all together.  So we can't use the null
+	# prefix here as we need it later.
+	my $xpfx = ($prefix eq '') ? 'am_' : $prefix;
+
+	# Keep track of which prefixes we saw.
+	$used_pfx{$xpfx} = 1
+	  unless $prefix =~ /EXTRA_/;
+
+	push @sources, "\$($varname)";
+ 	push @dist_sources, shadow_unconditionally ($varname, $where)
+ 	  unless (option ('no-dist') || $prefix =~ /^nodist_/);
+
+	$needlinker |=
+	    define_objects_from_sources ($varname,
+					 $xpfx . $one_file . '_OBJECTS',
+					 $prefix =~ /EXTRA_/,
+					 $one_file, $obj, $varname, $where,
+					 DIST_SOURCE => ($prefix !~ /^nodist_/),
+					 %transform);
+    }
+    if ($needlinker)
+    {
+	$linker ||= &resolve_linker (%linkers_used);
+    }
+
+    my @keys = sort keys %used_pfx;
+    if (scalar @keys == 0)
+    {
+	# The default source for libfoo.la is libfoo.c, but for
+	# backward compatibility we first look at libfoo_la.c
+	my $old_default_source = "$one_file.c";
+	(my $default_source = $unxformed) =~ s,(\.[^./\\]*)?$,.c,;
+	if ($old_default_source ne $default_source
+	    && (rule $old_default_source
+		|| rule '$(srcdir)/' . $old_default_source
+		|| rule '${srcdir}/' . $old_default_source
+		|| -f $old_default_source))
+	  {
+	    my $loc = $where->clone;
+	    $loc->pop_context;
+	    msg ('obsolete', $loc,
+		 "the default source for `$unxformed' has been changed "
+		 . "to `$default_source'.\n(Using `$old_default_source' for "
+		 . "backward compatibility.)");
+	    $default_source = $old_default_source;
+	  }
+	# If a rule exists to build this source with a $(srcdir)
+	# prefix, use that prefix in our variables too.  This is for
+	# the sake of BSD Make.
+	if (rule '$(srcdir)/' . $default_source
+	    || rule '${srcdir}/' . $default_source)
+	  {
+	    $default_source = '$(srcdir)/' . $default_source;
+	  }
+
+	&define_variable ($one_file . "_SOURCES", $default_source, $where);
+	push (@sources, $default_source);
+	push (@dist_sources, $default_source);
+
+	%linkers_used = ();
+	my (@result) =
+	  handle_single_transform ($one_file . '_SOURCES',
+				   $one_file . '_SOURCES',
+				   $one_file, $obj,
+				   $default_source, %transform);
+	$linker ||= &resolve_linker (%linkers_used);
+	define_pretty_variable ($one_file . '_OBJECTS', TRUE, $where, @result);
+    }
+    else
+    {
+	@keys = map { '$(' . $_ . $one_file . '_OBJECTS)' } @keys;
+	define_pretty_variable ($one_file . '_OBJECTS', TRUE, $where, @keys);
+    }
+
+    # If we want to use `LINK' we must make sure it is defined.
+    if ($linker eq '')
+    {
+	$need_link = 1;
+    }
+
+    return $linker;
+}
+
+
+# handle_lib_objects ($XNAME, $VAR)
+# ---------------------------------
+# Special-case ALLOCA and LIBOBJS substitutions in _LDADD or _LIBADD variables.
+# Also, generate _DEPENDENCIES variable if appropriate.
+# Arguments are:
+#   transformed name of object being built, or empty string if no object
+#   name of _LDADD/_LIBADD-type variable to examine
+# Returns 1 if LIBOBJS seen, 0 otherwise.
+sub handle_lib_objects
+{
+  my ($xname, $varname) = @_;
+
+  my $var = var ($varname);
+  prog_error "handle_lib_objects: `$varname' undefined"
+    unless $var;
+  prog_error "handle_lib_objects: unexpected variable name `$varname'"
+    unless $varname =~ /^(.*)(?:LIB|LD)ADD$/;
+  my $prefix = $1 || 'AM_';
+
+  my $seen_libobjs = 0;
+  my $flagvar = 0;
+
+  transform_variable_recursively
+    ($varname, $xname . '_DEPENDENCIES', 'am__DEPENDENCIES',
+     ! $xname, INTERNAL,
+     # Transformation function, run on each filename.
+     sub {
+       my ($subvar, $val, $cond, $full_cond) = @_;
+
+       if ($val =~ /^-/)
+	 {
+	   # Skip -lfoo and -Ldir silently; these are explicitly allowed.
+	   if ($val !~ /^-[lL]/ &&
+	       # Skip -dlopen and -dlpreopen; these are explicitly allowed
+	       # for Libtool libraries or programs.  (Actually we are a bit
+	       # laxest here since this code also applies to non-libtool
+	       # libraries or programs, for which -dlopen and -dlopreopen
+	       # are pure non-sence.  Diagnosting this doesn't seems very
+	       # important: the developer will quickly get complaints from
+	       # the linker.)
+	       $val !~ /^-dl(?:pre)?open$/ &&
+	       # Only get this error once.
+	       ! $flagvar)
+	     {
+	       $flagvar = 1;
+	       # FIXME: should display a stack of nested variables
+	       # as context when $var != $subvar.
+	       err_var ($var, "linker flags such as `$val' belong in "
+			. "`${prefix}LDFLAGS");
+	     }
+	   return ();
+	 }
+       elsif ($val !~ /^\@.*\@$/)
+	 {
+	   # Assume we have a file of some sort, and output it into the
+	   # dependency variable.  Autoconf substitutions are not output;
+	   # rarely is a new dependency substituted into e.g. foo_LDADD
+	   # -- but bad things (e.g. -lX11) are routinely substituted.
+	   # Note that LIBOBJS and ALLOCA are exceptions to this rule,
+	   # and handled specially below.
+	   return $val;
+	 }
+       elsif ($val =~ /^\@(LT)?LIBOBJS\@$/)
+	 {
+	   handle_LIBOBJS ($subvar, $cond, $1);
+	   $seen_libobjs = 1;
+	   return $val;
+	 }
+       elsif ($val =~ /^\@(LT)?ALLOCA\@$/)
+	 {
+	   handle_ALLOCA ($subvar, $cond, $1);
+	   return $val;
+	 }
+       else
+	 {
+	   return ();
+	 }
+     });
+
+  return $seen_libobjs;
+}
+
+sub handle_LIBOBJS ($$$)
+{
+  my ($var, $cond, $lt) = @_;
+  $lt ||= '';
+  my $myobjext = ($1 ? 'l' : '') . 'o';
+
+  $var->requires_variables ("\@${lt}LIBOBJS\@ used", $lt . 'LIBOBJS')
+    if ! keys %libsources;
+
+  foreach my $iter (keys %libsources)
+    {
+      if ($iter =~ /\.[cly]$/)
+	{
+	  &saw_extension ($&);
+	  &saw_extension ('.c');
+	}
+
+      if ($iter =~ /\.h$/)
+	{
+	  require_file_with_macro ($cond, $var, FOREIGN, $iter);
+	}
+      elsif ($iter ne 'alloca.c')
+	{
+	  my $rewrite = $iter;
+	  $rewrite =~ s/\.c$/.P$myobjext/;
+	  $dep_files{'$(DEPDIR)/' . $rewrite} = 1;
+	  $rewrite = "^" . quotemeta ($iter) . "\$";
+	  # Only require the file if it is not a built source.
+	  my $bs = var ('BUILT_SOURCES');
+	  if (! $bs || ! grep (/$rewrite/, $bs->value_as_list_recursive))
+	    {
+	      require_file_with_macro ($cond, $var, FOREIGN, $iter);
+	    }
+	}
+    }
+}
+
+sub handle_ALLOCA ($$$)
+{
+  my ($var, $cond, $lt) = @_;
+  my $myobjext = ($lt ? 'l' : '') . 'o';
+  $lt ||= '';
+  $var->requires_variables ("\@${lt}ALLOCA\@ used", $lt . 'ALLOCA');
+  $dep_files{'$(DEPDIR)/alloca.P' . $myobjext} = 1;
+  require_file_with_macro ($cond, $var, FOREIGN, 'alloca.c');
+  &saw_extension ('c');
+}
+
+# Canonicalize the input parameter
+sub canonicalize
+{
+    my ($string) = @_;
+    $string =~ tr/A-Za-z0-9_\@/_/c;
+    return $string;
+}
+
+# Canonicalize a name, and check to make sure the non-canonical name
+# is never used.  Returns canonical name.  Arguments are name and a
+# list of suffixes to check for.
+sub check_canonical_spelling
+{
+  my ($name, @suffixes) = @_;
+
+  my $xname = &canonicalize ($name);
+  if ($xname ne $name)
+    {
+      foreach my $xt (@suffixes)
+	{
+	  reject_var ("$name$xt", "use `$xname$xt', not `$name$xt'");
+	}
+    }
+
+  return $xname;
+}
+
+
+# handle_compile ()
+# -----------------
+# Set up the compile suite.
+sub handle_compile ()
+{
+    return
+      unless $get_object_extension_was_run;
+
+    # Boilerplate.
+    my $default_includes = '';
+    if (! option 'nostdinc')
+      {
+	$default_includes = ' -I. -I$(srcdir)';
+
+	my $var = var 'CONFIG_HEADER';
+	if ($var)
+	  {
+	    foreach my $hdr (split (' ', $var->variable_value))
+	      {
+		$default_includes .= ' -I' . dirname ($hdr);
+	      }
+	  }
+      }
+
+    my (@mostly_rms, @dist_rms);
+    foreach my $item (sort keys %compile_clean_files)
+    {
+	if ($compile_clean_files{$item} == MOSTLY_CLEAN)
+	{
+	    push (@mostly_rms, "\t-rm -f $item");
+	}
+	elsif ($compile_clean_files{$item} == DIST_CLEAN)
+	{
+	    push (@dist_rms, "\t-rm -f $item");
+	}
+	else
+	{
+	  prog_error 'invalid entry in %compile_clean_files';
+	}
+    }
+
+    my ($coms, $vars, $rules) =
+      &file_contents_internal (1, "$libdir/am/compile.am",
+			       new Automake::Location,
+			       ('DEFAULT_INCLUDES' => $default_includes,
+				'MOSTLYRMS' => join ("\n", @mostly_rms),
+				'DISTRMS' => join ("\n", @dist_rms)));
+    $output_vars .= $vars;
+    $output_rules .= "$coms$rules";
+
+    # Check for automatic de-ANSI-fication.
+    if (option 'ansi2knr')
+      {
+	my ($ansi2knr_filename, $ansi2knr_where) = @{option 'ansi2knr'};
+	my $ansi2knr_dir = '';
+
+	require_variables ($ansi2knr_where, "option `ansi2knr' is used",
+			   TRUE, "ANSI2KNR", "U");
+
+	# topdir is where ansi2knr should be.
+	if ($ansi2knr_filename eq 'ansi2knr')
+	  {
+	    # Only require ansi2knr files if they should appear in
+	    # this directory.
+	    require_file ($ansi2knr_where, FOREIGN,
+			  'ansi2knr.c', 'ansi2knr.1');
+
+	    # ansi2knr needs to be built before subdirs, so unshift it.
+	    unshift (@all, '$(ANSI2KNR)');
+	  }
+	else
+	  {
+	    $ansi2knr_dir = dirname ($ansi2knr_filename);
+	  }
+
+	$output_rules .= &file_contents ('ansi2knr',
+					 new Automake::Location,
+					 'ANSI2KNR-DIR' => $ansi2knr_dir);
+
+    }
+}
+
+# handle_libtool ()
+# -----------------
+# Handle libtool rules.
+sub handle_libtool
+{
+  return unless var ('LIBTOOL');
+
+  # Libtool requires some files, but only at top level.
+  require_conf_file_with_macro (TRUE, 'LIBTOOL', FOREIGN, @libtool_files)
+    if $relative_dir eq '.';
+
+  my @libtool_rms;
+  foreach my $item (sort keys %libtool_clean_directories)
+    {
+      my $dir = ($item eq '.') ? '' : "$item/";
+      # .libs is for Unix, _libs for DOS.
+      push (@libtool_rms, "\t-rm -rf ${dir}.libs ${dir}_libs");
+    }
+
+  # Output the libtool compilation rules.
+  $output_rules .= &file_contents ('libtool',
+				   new Automake::Location,
+				   LTRMS => join ("\n", @libtool_rms));
+}
+
+# handle_programs ()
+# ------------------
+# Handle C programs.
+sub handle_programs
+{
+  my @proglist = &am_install_var ('progs', 'PROGRAMS',
+				  'bin', 'sbin', 'libexec', 'pkglib',
+				  'noinst', 'check');
+  return if ! @proglist;
+
+  my $seen_global_libobjs =
+    var ('LDADD') && &handle_lib_objects ('', 'LDADD');
+
+  foreach my $pair (@proglist)
+    {
+      my ($where, $one_file) = @$pair;
+
+      my $seen_libobjs = 0;
+      my $obj = get_object_extension '.$(OBJEXT)';
+
+      # Strip any $(EXEEXT) suffix the user might have added, or this
+      # will confuse &handle_source_transform and &check_canonical_spelling.
+      # We'll add $(EXEEXT) back later anyway.
+      $one_file =~ s/\$\(EXEEXT\)$//;
+
+      # Canonicalize names and check for misspellings.
+      my $xname = &check_canonical_spelling ($one_file, '_LDADD', '_LDFLAGS',
+					     '_SOURCES', '_OBJECTS',
+					     '_DEPENDENCIES');
+
+      $where->push_context ("while processing program `$one_file'");
+      $where->set (INTERNAL->get);
+
+      my $linker = &handle_source_transform ($xname, $one_file, $obj, $where,
+					     NONLIBTOOL => 1, LIBTOOL => 0);
+
+      if (var ($xname . "_LDADD"))
+	{
+	  $seen_libobjs = &handle_lib_objects ($xname, $xname . '_LDADD');
+	}
+      else
+	{
+	  # User didn't define prog_LDADD override.  So do it.
+	  &define_variable ($xname . '_LDADD', '$(LDADD)', $where);
+
+	  # This does a bit too much work.  But we need it to
+	  # generate _DEPENDENCIES when appropriate.
+	  if (var ('LDADD'))
+	    {
+	      $seen_libobjs = &handle_lib_objects ($xname, 'LDADD');
+	    }
+	}
+
+      reject_var ($xname . '_LIBADD',
+		  "use `${xname}_LDADD', not `${xname}_LIBADD'");
+
+      set_seen ($xname . '_DEPENDENCIES');
+      set_seen ($xname . '_LDFLAGS');
+
+      # Determine program to use for link.
+      my $xlink;
+      if (var ($xname . '_LINK'))
+	{
+	  $xlink = $xname . '_LINK';
+	}
+      else
+	{
+	  $xlink = $linker ? $linker : 'LINK';
+	}
+
+      # If the resulting program lies into a subdirectory,
+      # make sure this directory will exist.
+      my $dirstamp = require_build_directory_maybe ($one_file);
+
+      $output_rules .= &file_contents ('program',
+				       $where,
+				       PROGRAM  => $one_file,
+				       XPROGRAM => $xname,
+				       XLINK    => $xlink,
+				       DIRSTAMP => $dirstamp,
+				       EXEEXT   => '$(EXEEXT)');
+
+      if ($seen_libobjs || $seen_global_libobjs)
+	{
+	  if (var ($xname . '_LDADD'))
+	    {
+	      &check_libobjs_sources ($xname, $xname . '_LDADD');
+	    }
+	  elsif (var ('LDADD'))
+	    {
+	      &check_libobjs_sources ($xname, 'LDADD');
+	    }
+	}
+    }
+}
+
+
+# handle_libraries ()
+# -------------------
+# Handle libraries.
+sub handle_libraries
+{
+  my @liblist = &am_install_var ('libs', 'LIBRARIES',
+				 'lib', 'pkglib', 'noinst', 'check');
+  return if ! @liblist;
+
+  my @prefix = am_primary_prefixes ('LIBRARIES', 0, 'lib', 'pkglib',
+				    'noinst', 'check');
+
+  if (@prefix)
+    {
+      my $var = rvar ($prefix[0] . '_LIBRARIES');
+      $var->requires_variables ('library used', 'RANLIB');
+    }
+
+  &define_variable ('AR', 'ar', INTERNAL);
+  &define_variable ('ARFLAGS', 'cru', INTERNAL);
+
+  foreach my $pair (@liblist)
+    {
+      my ($where, $onelib) = @$pair;
+
+      my $seen_libobjs = 0;
+      # Check that the library fits the standard naming convention.
+      my $bn = basename ($onelib);
+      if ($bn !~ /^lib.*\.a$/)
+	{
+	  $bn =~ s/^(?:lib)?(.*?)(?:\.[^.]*)?$/lib$1.a/;
+	  my $suggestion = dirname ($onelib) . "/$bn";
+	  $suggestion =~ s|^\./||g;
+	  msg ('error-gnu/warn', $where,
+	       "`$onelib' is not a standard library name\n"
+	       . "did you mean `$suggestion'?")
+	}
+
+      $where->push_context ("while processing library `$onelib'");
+      $where->set (INTERNAL->get);
+
+      my $obj = get_object_extension '.$(OBJEXT)';
+
+      # Canonicalize names and check for misspellings.
+      my $xlib = &check_canonical_spelling ($onelib, '_LIBADD', '_SOURCES',
+					    '_OBJECTS', '_DEPENDENCIES',
+					    '_AR');
+
+      if (! var ($xlib . '_AR'))
+	{
+	  &define_variable ($xlib . '_AR', '$(AR) $(ARFLAGS)', $where);
+	}
+
+      # Generate support for conditional object inclusion in
+      # libraries.
+      if (var ($xlib . '_LIBADD'))
+	{
+	  if (&handle_lib_objects ($xlib, $xlib . '_LIBADD'))
+	    {
+	      $seen_libobjs = 1;
+	    }
+	}
+      else
+	{
+	  &define_variable ($xlib . "_LIBADD", '', $where);
+	}
+
+      reject_var ($xlib . '_LDADD',
+		  "use `${xlib}_LIBADD', not `${xlib}_LDADD'");
+
+      # Make sure we at look at this.
+      set_seen ($xlib . '_DEPENDENCIES');
+
+      &handle_source_transform ($xlib, $onelib, $obj, $where,
+				NONLIBTOOL => 1, LIBTOOL => 0);
+
+      # If the resulting library lies into a subdirectory,
+      # make sure this directory will exist.
+      my $dirstamp = require_build_directory_maybe ($onelib);
+
+      $output_rules .= &file_contents ('library',
+				       $where,
+				       LIBRARY  => $onelib,
+				       XLIBRARY => $xlib,
+				       DIRSTAMP => $dirstamp);
+
+      if ($seen_libobjs)
+	{
+	  if (var ($xlib . '_LIBADD'))
+	    {
+	      &check_libobjs_sources ($xlib, $xlib . '_LIBADD');
+	    }
+	}
+    }
+}
+
+
+# handle_ltlibraries ()
+# ---------------------
+# Handle shared libraries.
+sub handle_ltlibraries
+{
+  my @liblist = &am_install_var ('ltlib', 'LTLIBRARIES',
+				 'noinst', 'lib', 'pkglib', 'check');
+  return if ! @liblist;
+
+  my @prefix = am_primary_prefixes ('LTLIBRARIES', 0, 'lib', 'pkglib',
+				    'noinst', 'check');
+
+  if (@prefix)
+    {
+      my $var = rvar ($prefix[0] . '_LTLIBRARIES');
+      $var->requires_variables ('Libtool library used', 'LIBTOOL');
+    }
+
+  my %instdirs = ();
+  my %instconds = ();
+  my %liblocations = ();	# Location (in Makefile.am) of each library.
+
+  foreach my $key (@prefix)
+    {
+      # Get the installation directory of each library.
+      (my $dir = $key) =~ s/^nobase_//;
+      my $var = rvar ($key . '_LTLIBRARIES');
+
+      # We reject libraries which are installed in several places
+      # in the same condition, because we can only specify one
+      # `-rpath' option.
+      $var->traverse_recursively
+	(sub
+	 {
+	   my ($var, $val, $cond, $full_cond) = @_;
+	   my $hcond = $full_cond->human;
+	   my $where = $var->rdef ($cond)->location;
+	   # A library cannot be installed in different directory
+	   # in overlapping conditions.
+	   if (exists $instconds{$val})
+	     {
+	       my ($msg, $acond) =
+		 $instconds{$val}->ambiguous_p ($val, $full_cond);
+
+	       if ($msg)
+		 {
+		   error ($where, $msg, partial => 1);
+
+		   my $dirtxt = "installed in `$dir'";
+		   $dirtxt = "built for `$dir'"
+		     if $dir eq 'EXTRA' || $dir eq 'noinst' || $dir eq 'check';
+		   my $dircond =
+		     $full_cond->true ? "" : " in condition $hcond";
+
+		   error ($where, "`$val' should be $dirtxt$dircond ...",
+			  partial => 1);
+
+		   my $hacond = $acond->human;
+		   my $adir = $instdirs{$val}{$acond};
+		   my $adirtxt = "installed in `$adir'";
+		   $adirtxt = "built for `$adir'"
+		     if ($adir eq 'EXTRA' || $adir eq 'noinst'
+			 || $adir eq 'check');
+		   my $adircond = $acond->true ? "" : " in condition $hacond";
+
+		   my $onlyone = ($dir ne $adir) ?
+		     ("\nLibtool libraries can be built for only one "
+		      . "destination.") : "";
+
+		   error ($liblocations{$val}{$acond},
+			  "... and should also be $adirtxt$adircond.$onlyone");
+		   return;
+		 }
+	     }
+	   else
+	     {
+	       $instconds{$val} = new Automake::DisjConditions;
+	     }
+	   $instdirs{$val}{$full_cond} = $dir;
+	   $liblocations{$val}{$full_cond} = $where;
+	   $instconds{$val} = $instconds{$val}->merge ($full_cond);
+	 },
+	 sub
+	 {
+	   return ();
+	 },
+         skip_ac_subst => 1);
+    }
+
+  foreach my $pair (@liblist)
+    {
+      my ($where, $onelib) = @$pair;
+
+      my $seen_libobjs = 0;
+      my $obj = get_object_extension '.lo';
+
+      # Canonicalize names and check for misspellings.
+      my $xlib = &check_canonical_spelling ($onelib, '_LIBADD', '_LDFLAGS',
+					    '_SOURCES', '_OBJECTS',
+					    '_DEPENDENCIES');
+
+      # Check that the library fits the standard naming convention.
+      my $libname_rx = '^lib.*\.la';
+      my $ldvar = var ("${xlib}_LDFLAGS") || var ('AM_LDFLAGS');
+      my $ldvar2 = var ('LDFLAGS');
+      if (($ldvar && grep (/-module/, $ldvar->value_as_list_recursive))
+	  || ($ldvar2 && grep (/-module/, $ldvar2->value_as_list_recursive)))
+	{
+	  # Relax name checking for libtool modules.
+	  $libname_rx = '\.la';
+	}
+
+      my $bn = basename ($onelib);
+      if ($bn !~ /$libname_rx$/)
+	{
+          my $type = 'library';
+          if ($libname_rx eq '\.la')
+	    {
+	      $bn =~ s/^(lib|)(.*?)(?:\.[^.]*)?$/$1$2.la/;
+              $type = 'module';
+	    }
+          else
+	    {
+	      $bn =~ s/^(?:lib)?(.*?)(?:\.[^.]*)?$/lib$1.la/;
+	    }
+	  my $suggestion = dirname ($onelib) . "/$bn";
+	  $suggestion =~ s|^\./||g;
+	  msg ('error-gnu/warn', $where,
+	       "`$onelib' is not a standard libtool $type name\n"
+	       . "did you mean `$suggestion'?")
+	}
+
+      $where->push_context ("while processing Libtool library `$onelib'");
+      $where->set (INTERNAL->get);
+
+      # Make sure we look at these.
+      set_seen ($xlib . '_LDFLAGS');
+      set_seen ($xlib . '_DEPENDENCIES');
+
+      # Generate support for conditional object inclusion in
+      # libraries.
+      if (var ($xlib . '_LIBADD'))
+	{
+	  if (&handle_lib_objects ($xlib, $xlib . '_LIBADD'))
+	    {
+	      $seen_libobjs = 1;
+	    }
+	}
+      else
+	{
+	  &define_variable ($xlib . "_LIBADD", '', $where);
+	}
+
+      reject_var ("${xlib}_LDADD",
+		  "use `${xlib}_LIBADD', not `${xlib}_LDADD'");
+
+
+      my $linker = &handle_source_transform ($xlib, $onelib, $obj, $where,
+					     NONLIBTOOL => 0, LIBTOOL => 1);
+
+      # Determine program to use for link.
+      my $xlink;
+      if (var ($xlib . '_LINK'))
+	{
+	  $xlink = $xlib . '_LINK';
+	}
+      else
+	{
+	  $xlink = $linker ? $linker : 'LINK';
+	}
+
+      my $rpathvar = "am_${xlib}_rpath";
+      my $rpath = "\$($rpathvar)";
+      foreach my $rcond ($instconds{$onelib}->conds)
+        {
+	  my $val;
+	  if ($instdirs{$onelib}{$rcond} eq 'EXTRA'
+	      || $instdirs{$onelib}{$rcond} eq 'noinst'
+	      || $instdirs{$onelib}{$rcond} eq 'check')
+	    {
+	      # It's an EXTRA_ library, so we can't specify -rpath,
+	      # because we don't know where the library will end up.
+	      # The user probably knows, but generally speaking automake
+	      # doesn't -- and in fact configure could decide
+	      # dynamically between two different locations.
+	      $val = '';
+	    }
+	  else
+	    {
+	      $val = ('-rpath $(' . $instdirs{$onelib}{$rcond} . 'dir)');
+	    }
+	  if ($rcond->true)
+	    {
+	      # If $rcond is true there is only one condition and
+	      # there is no point defining an helper variable.
+	      $rpath = $val;
+	    }
+	  else
+	    {
+	      define_pretty_variable ($rpathvar, $rcond, INTERNAL, $val);
+	    }
+	}
+
+      # If the resulting library lies into a subdirectory,
+      # make sure this directory will exist.
+      my $dirstamp = require_build_directory_maybe ($onelib);
+
+      # Remember to cleanup .libs/ in this directory.
+      my $dirname = dirname $onelib;
+      $libtool_clean_directories{$dirname} = 1;
+
+      $output_rules .= &file_contents ('ltlibrary',
+				       $where,
+				       LTLIBRARY  => $onelib,
+				       XLTLIBRARY => $xlib,
+				       RPATH      => $rpath,
+				       XLINK      => $xlink,
+				       DIRSTAMP   => $dirstamp);
+      if ($seen_libobjs)
+	{
+	  if (var ($xlib . '_LIBADD'))
+	    {
+	      &check_libobjs_sources ($xlib, $xlib . '_LIBADD');
+	    }
+	}
+    }
+}
+
+# See if any _SOURCES variable were misspelled.
+sub check_typos ()
+{
+  # It is ok if the user sets this particular variable.
+  set_seen 'AM_LDFLAGS';
+
+  foreach my $var (variables)
+    {
+      my $varname = $var->name;
+      # A configure variable is always legitimate.
+      next if exists $configure_vars{$varname};
+
+      my $check = 0;
+      foreach my $primary ('_SOURCES', '_LIBADD', '_LDADD', '_LDFLAGS',
+			   '_DEPENDENCIES')
+	{
+	  if ($varname =~ /^(.*)$primary$/)
+	    {
+	      $check = $1;
+	      last;
+	    }
+	}
+      next unless $check;
+
+      for my $cond ($var->conditions->conds)
+	{
+	  msg_var ('syntax', $var, "variable `$varname' is defined but no"
+		   . " program or\nlibrary has `$check' as canonic name"
+		   . " (possible typo)")
+	    unless $var->rdef ($cond)->seen;
+	}
+    }
+}
+
+
+# Handle scripts.
+sub handle_scripts
+{
+    # NOTE we no longer automatically clean SCRIPTS, because it is
+    # useful to sometimes distribute scripts verbatim.  This happens
+    # e.g. in Automake itself.
+    &am_install_var ('-candist', 'scripts', 'SCRIPTS',
+		     'bin', 'sbin', 'libexec', 'pkgdata',
+		     'noinst', 'check');
+}
+
+
+
+
+## ------------------------ ##
+## Handling Texinfo files.  ##
+## ------------------------ ##
+
+# ($OUTFILE, $VFILE, @CLEAN_FILES)
+# &scan_texinfo_file ($FILENAME)
+# ------------------------------
+# $OUTFILE     - name of the info file produced by $FILENAME.
+# $VFILE       - name of the version.texi file used (undef if none).
+# @CLEAN_FILES - list of byproducts (indexes etc.)
+sub scan_texinfo_file ($)
+{
+  my ($filename) = @_;
+
+  # Some of the following extensions are always created, no matter
+  # whether indexes are used or not.  Other (like cps, fns, ... pgs)
+  # are only created when they are used.  We used to scan $FILENAME
+  # for their use, but that is not enough: they could be used in
+  # included files.  We can't scan included files because we don't
+  # know the include path.  Therefore we always erase these files, no
+  # matter whether they are used or not.
+  #
+  # (tmp is only created if an @macro is used and a certain e-TeX
+  # feature is not available.)
+  my %clean_suffixes =
+    map { $_ => 1 } (qw(aux log toc tmp
+			cp cps
+			fn fns
+			ky kys
+			vr vrs
+			tp tps
+			pg pgs)); # grep 'new.*index' texinfo.tex
+
+  my $texi = new Automake::XFile "< $filename";
+  verb "reading $filename";
+
+  my ($outfile, $vfile);
+  while ($_ = $texi->getline)
+    {
+      if (/^\@setfilename +(\S+)/)
+	{
+	  # Honor only the first @setfilename.  (It's possible to have
+	  # more occurrences later if the manual shows examples of how
+	  # to use @setfilename...)
+	  next if $outfile;
+
+	  $outfile = $1;
+	  if ($outfile =~ /\.(.+)$/ && $1 ne 'info')
+	    {
+	      error ("$filename:$.",
+		     "output `$outfile' has unrecognized extension");
+	      return;
+	    }
+	}
+      # A "version.texi" file is actually any file whose name matches
+      # "vers*.texi".
+      elsif (/^\@include\s+(vers[^.]*\.texi)\s*$/)
+	{
+	  $vfile = $1;
+	}
+
+      # Try to find new or unused indexes.
+
+      # Creating a new category of index.
+      elsif (/^\@def(code)?index (\w+)/)
+	{
+	  $clean_suffixes{$2} = 1;
+	  $clean_suffixes{"$2s"} = 1;
+	}
+
+      # Merging an index into an another.
+      elsif (/^\@syn(code)?index (\w+) (\w+)/)
+	{
+	  delete $clean_suffixes{"$2s"};
+	  $clean_suffixes{"$3s"} = 1;
+	}
+
+    }
+
+  if (! $outfile)
+    {
+      err_am "`$filename' missing \@setfilename";
+      return;
+    }
+
+  my $infobase = basename ($filename);
+  $infobase =~ s/\.te?xi(nfo)?$//;
+  return ($outfile, $vfile,
+	  map { "$infobase.$_" } (sort keys %clean_suffixes));
+}
+
+
+# ($DIRSTAMP, @CLEAN_FILES)
+# output_texinfo_build_rules ($SOURCE, $DEST, $INSRC, @DEPENDENCIES)
+# ------------------------------------------------------------------
+# SOURCE - the source Texinfo file
+# DEST - the destination Info file
+# INSRC - wether DEST should be built in the source tree
+# DEPENDENCIES - known dependencies
+sub output_texinfo_build_rules ($$$@)
+{
+  my ($source, $dest, $insrc, @deps) = @_;
+
+  # Split `a.texi' into `a' and `.texi'.
+  my ($spfx, $ssfx) = ($source =~ /^(.*?)(\.[^.]*)?$/);
+  my ($dpfx, $dsfx) = ($dest =~ /^(.*?)(\.[^.]*)?$/);
+
+  $ssfx ||= "";
+  $dsfx ||= "";
+
+  # We can output two kinds of rules: the "generic" rules use Make
+  # suffix rules and are appropriate when $source and $dest do not lie
+  # in a sub-directory; the "specific" rules are needed in the other
+  # case.
+  #
+  # The former are output only once (this is not really apparent here,
+  # but just remember that some logic deeper in Automake will not
+  # output the same rule twice); while the later need to be output for
+  # each Texinfo source.
+  my $generic;
+  my $makeinfoflags;
+  my $sdir = dirname $source;
+  if ($sdir eq '.' && dirname ($dest) eq '.')
+    {
+      $generic = 1;
+      $makeinfoflags = '-I $(srcdir)';
+    }
+  else
+    {
+      $generic = 0;
+      $makeinfoflags = "-I $sdir -I \$(srcdir)/$sdir";
+    }
+
+  # A directory can contain two kinds of info files: some built in the
+  # source tree, and some built in the build tree.  The rules are
+  # different in each case.  However we cannot output two different
+  # set of generic rules.  Because in-source builds are more usual, we
+  # use generic rules in this case and fall back to "specific" rules
+  # for build-dir builds.  (It should not be a problem to invert this
+  # if needed.)
+  $generic = 0 unless $insrc;
+
+  # We cannot use a suffix rule to build info files with an empty
+  # extension.  Otherwise we would output a single suffix inference
+  # rule, with separate dependencies, as in
+  #
+  #    .texi:
+  #             $(MAKEINFO) ...
+  #    foo.info: foo.texi
+  #
+  # which confuse Solaris make.  (See the Autoconf manual for
+  # details.)  Therefore we use a specific rule in this case.  This
+  # applies to info files only (dvi and pdf files always have an
+  # extension).
+  my $generic_info = ($generic && $dsfx) ? 1 : 0;
+
+  # If the resulting file lie into a subdirectory,
+  # make sure this directory will exist.
+  my $dirstamp = require_build_directory_maybe ($dest);
+
+  my $dipfx = ($insrc ? '$(srcdir)/' : '') . $dpfx;
+
+  $output_rules .= file_contents ('texibuild',
+				  new Automake::Location,
+				  DEPS             => "@deps",
+				  DEST_PREFIX      => $dpfx,
+				  DEST_INFO_PREFIX => $dipfx,
+				  DEST_SUFFIX      => $dsfx,
+				  DIRSTAMP         => $dirstamp,
+				  GENERIC          => $generic,
+				  GENERIC_INFO     => $generic_info,
+				  INSRC		   => $insrc,
+				  MAKEINFOFLAGS    => $makeinfoflags,
+				  SOURCE           => ($generic
+						       ? '$<' : $source),
+				  SOURCE_INFO      => ($generic_info
+						       ? '$<' : $source),
+				  SOURCE_REAL      => $source,
+				  SOURCE_SUFFIX    => $ssfx,
+				  );
+  return ($dirstamp, "$dpfx.dvi", "$dpfx.pdf", "$dpfx.ps", "$dpfx.html");
+}
+
+
+# $TEXICLEANS
+# handle_texinfo_helper ($info_texinfos)
+# --------------------------------------
+# Handle all Texinfo source; helper for handle_texinfo.
+sub handle_texinfo_helper ($)
+{
+  my ($info_texinfos) = @_;
+  my (@infobase, @info_deps_list, @texi_deps);
+  my %versions;
+  my $done = 0;
+  my @texi_cleans;
+
+  # Build a regex matching user-cleaned files.
+  my $d = var 'DISTCLEANFILES';
+  my $c = var 'CLEANFILES';
+  my @f = ();
+  push @f, $d->value_as_list_recursive (inner_expand => 1) if $d;
+  push @f, $c->value_as_list_recursive (inner_expand => 1) if $c;
+  @f = map { s|[^A-Za-z_0-9*\[\]\-]|\\$&|g; s|\*|[^/]*|g; $_; } @f;
+  my $user_cleaned_files = '^(?:' . join ('|', @f) . ')$';
+
+  foreach my $texi
+      ($info_texinfos->value_as_list_recursive (inner_expand => 1))
+    {
+      my $infobase = $texi;
+      $infobase =~ s/\.(txi|texinfo|texi)$//;
+
+      if ($infobase eq $texi)
+	{
+	  # FIXME: report line number.
+	  err_am "texinfo file `$texi' has unrecognized extension";
+	  next;
+	}
+
+      push @infobase, $infobase;
+
+      # If 'version.texi' is referenced by input file, then include
+      # automatic versioning capability.
+      my ($out_file, $vtexi, @clean_files) =
+	scan_texinfo_file ("$relative_dir/$texi")
+	or next;
+      push (@texi_cleans, @clean_files);
+
+      # If the Texinfo source is in a subdirectory, create the
+      # resulting info in this subdirectory.  If it is in the current
+      # directory, try hard to not prefix "./" because it breaks the
+      # generic rules.
+      my $outdir = dirname ($texi) . '/';
+      $outdir = "" if $outdir eq './';
+      $out_file =  $outdir . $out_file;
+
+      # Until Automake 1.6.3, .info files were built in the
+      # source tree.  This was an obstacle to the support of
+      # non-distributed .info files, and non-distributed .texi
+      # files.
+      #
+      # * Non-distributed .texi files is important in some packages
+      #   where .texi files are built at make time, probably using
+      #   other binaries built in the package itself, maybe using
+      #   tools or information found on the build host.  Because
+      #   these files are not distributed they are always rebuilt
+      #   at make time; they should therefore not lie in the source
+      #   directory.  One plan was to support this using
+      #   nodist_info_TEXINFOS or something similar.  (Doing this
+      #   requires some sanity checks.  For instance Automake should
+      #   not allow:
+      #      dist_info_TEXINFO = foo.texi
+      #      nodist_foo_TEXINFO = included.texi
+      #   because a distributed file should never depend on a
+      #   non-distributed file.)
+      #
+      # * If .texi files are not distributed, then .info files should
+      #   not be distributed either.  There are also cases where one
+      #   want to distribute .texi files, but do not want to
+      #   distribute the .info files.  For instance the Texinfo package
+      #   distributes the tool used to build these files; it would
+      #   be a waste of space to distribute them.  It's not clear
+      #   which syntax we should use to indicate that .info files should
+      #   not be distributed.  Akim Demaille suggested that eventually
+      #   we switch to a new syntax:
+      #   |  Maybe we should take some inspiration from what's already
+      #   |  done in the rest of Automake.  Maybe there is too much
+      #   |  syntactic sugar here, and you want
+      #   |     nodist_INFO = bar.info
+      #   |     dist_bar_info_SOURCES = bar.texi
+      #   |     bar_texi_DEPENDENCIES = foo.texi
+      #   |  with a bit of magic to have bar.info represent the whole
+      #   |  bar*info set.  That's a lot more verbose that the current
+      #   |  situation, but it is # not new, hence the user has less
+      #   |  to learn.
+      #	  |
+      #   |  But there is still too much room for meaningless specs:
+      #   |     nodist_INFO = bar.info
+      #   |     dist_bar_info_SOURCES = bar.texi
+      #   |     dist_PS = bar.ps something-written-by-hand.ps
+      #   |     nodist_bar_ps_SOURCES = bar.texi
+      #   |     bar_texi_DEPENDENCIES = foo.texi
+      #   |  here bar.texi is dist_ in line 2, and nodist_ in 4.
+      #
+      # Back to the point, it should be clear that in order to support
+      # non-distributed .info files, we need to build them in the
+      # build tree, not in the source tree (non-distributed .texi
+      # files are less of a problem, because we do not output build
+      # rules for them).  In Automake 1.7 .info build rules have been
+      # largely cleaned up so that .info files get always build in the
+      # build tree, even when distributed.  The idea was that
+      #   (1) if during a VPATH build the .info file was found to be
+      #       absent or out-of-date (in the source tree or in the
+      #       build tree), Make would rebuild it in the build tree.
+      #       If an up-to-date source-tree of the .info file existed,
+      #       make would not rebuild it in the build tree.
+      #   (2) having two copies of .info files, one in the source tree
+      #       and one (newer) in the build tree is not a problem
+      #       because `make dist' always pick files in the build tree
+      #       first.
+      # However it turned out the be a bad idea for several reasons:
+      #   * Tru64, OpenBSD, and FreeBSD (not NetBSD) Make do not behave
+      #     like GNU Make on point (1) above.  These implementations
+      #     of Make would always rebuild .info files in the build
+      #     tree, even if such files were up to date in the source
+      #     tree.  Consequently, it was impossible to perform a VPATH
+      #     build of a package containing Texinfo files using these
+      #     Make implementations.
+      #     (Refer to the Autoconf Manual, section "Limitation of
+      #     Make", paragraph "VPATH", item "target lookup", for
+      #     an account of the differences between these
+      #     implementations.)
+      #   * The GNU Coding Standards require these files to be built
+      #     in the source-tree (when they are distributed, that is).
+      #   * Keeping a fresher copy of distributed files in the
+      #     build tree can be annoying during development because
+      #     - if the files is kept under CVS, you really want it
+      #       to be updated in the source tree
+      #     - it is confusing that `make distclean' does not erase
+      #       all files in the build tree.
+      #
+      # Consequently, starting with Automake 1.8, .info files are
+      # built in the source tree again.  Because we still plan to
+      # support non-distributed .info files at some point, we
+      # have a single variable ($INSRC) that controls whether
+      # the current .info file must be built in the source tree
+      # or in the build tree.  Actually this variable is switched
+      # off for .info files that appear to be cleaned; this is
+      # for backward compatibility with package such as Texinfo,
+      # which do things like
+      #   info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
+      #   DISTCLEANFILES = texinfo texinfo-* info*.info*
+      #   # Do not create info files for distribution.
+      #   dist-info:
+      # in order not to distribute .info files.
+      my $insrc = ($out_file =~ $user_cleaned_files) ? 0 : 1;
+
+      my $soutdir = '$(srcdir)/' . $outdir;
+      $outdir = $soutdir if $insrc;
+
+      # If user specified file_TEXINFOS, then use that as explicit
+      # dependency list.
+      @texi_deps = ();
+      push (@texi_deps, "$soutdir$vtexi") if $vtexi;
+
+      my $canonical = canonicalize ($infobase);
+      if (var ($canonical . "_TEXINFOS"))
+	{
+	  push (@texi_deps, '$(' . $canonical . '_TEXINFOS)');
+	  push_dist_common ('$(' . $canonical . '_TEXINFOS)');
+	}
+
+      my ($dirstamp, @cfiles) =
+	output_texinfo_build_rules ($texi, $out_file, $insrc, @texi_deps);
+      push (@texi_cleans, @cfiles);
+
+      push (@info_deps_list, $out_file);
+
+      # If a vers*.texi file is needed, emit the rule.
+      if ($vtexi)
+	{
+	  err_am ("`$vtexi', included in `$texi', "
+		  . "also included in `$versions{$vtexi}'")
+	    if defined $versions{$vtexi};
+	  $versions{$vtexi} = $texi;
+
+	  # We number the stamp-vti files.  This is doable since the
+	  # actual names don't matter much.  We only number starting
+	  # with the second one, so that the common case looks nice.
+	  my $vti = ($done ? $done : 'vti');
+	  ++$done;
+
+	  # This is ugly, but it is our historical practice.
+	  if ($config_aux_dir_set_in_configure_ac)
+	    {
+	      require_conf_file_with_macro (TRUE, 'info_TEXINFOS', FOREIGN,
+					    'mdate-sh');
+	    }
+	  else
+	    {
+	      require_file_with_macro (TRUE, 'info_TEXINFOS',
+				       FOREIGN, 'mdate-sh');
+	    }
+
+	  my $conf_dir;
+	  if ($config_aux_dir_set_in_configure_ac)
+	    {
+	      $conf_dir = "$am_config_aux_dir/";
+	    }
+	  else
+	    {
+	      $conf_dir = '$(srcdir)/';
+	    }
+	  $output_rules .= file_contents ('texi-vers',
+					  new Automake::Location,
+					  TEXI     => $texi,
+					  VTI      => $vti,
+					  STAMPVTI => "${soutdir}stamp-$vti",
+					  VTEXI    => "$soutdir$vtexi",
+					  MDDIR    => $conf_dir,
+					  DIRSTAMP => $dirstamp);
+	}
+    }
+
+  # Handle location of texinfo.tex.
+  my $need_texi_file = 0;
+  my $texinfodir;
+  if (var ('TEXINFO_TEX'))
+    {
+      # The user defined TEXINFO_TEX so assume he knows what he is
+      # doing.
+      $texinfodir = ('$(srcdir)/'
+		     . dirname (variable_value ('TEXINFO_TEX')));
+    }
+  elsif (option 'cygnus')
+    {
+      $texinfodir = '$(top_srcdir)/../texinfo';
+      define_variable ('TEXINFO_TEX', "$texinfodir/texinfo.tex", INTERNAL);
+    }
+  elsif ($config_aux_dir_set_in_configure_ac)
+    {
+      $texinfodir = $am_config_aux_dir;
+      define_variable ('TEXINFO_TEX', "$texinfodir/texinfo.tex", INTERNAL);
+      $need_texi_file = 2; # so that we require_conf_file later
+    }
+  else
+    {
+      $texinfodir = '$(srcdir)';
+      $need_texi_file = 1;
+    }
+  define_variable ('am__TEXINFO_TEX_DIR', $texinfodir, INTERNAL);
+
+  push (@dist_targets, 'dist-info');
+
+  if (! option 'no-installinfo')
+    {
+      # Make sure documentation is made and installed first.  Use
+      # $(INFO_DEPS), not 'info', because otherwise recursive makes
+      # get run twice during "make all".
+      unshift (@all, '$(INFO_DEPS)');
+    }
+
+  define_files_variable ("DVIS", @infobase, 'dvi', INTERNAL);
+  define_files_variable ("PDFS", @infobase, 'pdf', INTERNAL);
+  define_files_variable ("PSS", @infobase, 'ps', INTERNAL);
+  define_files_variable ("HTMLS", @infobase, 'html', INTERNAL);
+
+  # This next isn't strictly needed now -- the places that look here
+  # could easily be changed to look in info_TEXINFOS.  But this is
+  # probably better, in case noinst_TEXINFOS is ever supported.
+  define_variable ("TEXINFOS", variable_value ('info_TEXINFOS'), INTERNAL);
+
+  # Do some error checking.  Note that this file is not required
+  # when in Cygnus mode; instead we defined TEXINFO_TEX explicitly
+  # up above.
+  if ($need_texi_file && ! option 'no-texinfo.tex')
+    {
+      if ($need_texi_file > 1)
+	{
+	  require_conf_file_with_macro (TRUE, 'info_TEXINFOS', FOREIGN,
+					'texinfo.tex');
+	}
+      else
+	{
+	  require_file_with_macro (TRUE, 'info_TEXINFOS', FOREIGN,
+				   'texinfo.tex');
+	}
+    }
+
+  return makefile_wrap ("", "\t  ", @texi_cleans);
+}
+
+
+# handle_texinfo ()
+# -----------------
+# Handle all Texinfo source.
+sub handle_texinfo ()
+{
+  reject_var 'TEXINFOS', "`TEXINFOS' is an anachronism; use `info_TEXINFOS'";
+  # FIXME: I think this is an obsolete future feature name.
+  reject_var 'html_TEXINFOS', "HTML generation not yet supported";
+
+  my $info_texinfos = var ('info_TEXINFOS');
+  my $texiclean = "";
+  if ($info_texinfos)
+    {
+      $texiclean = handle_texinfo_helper ($info_texinfos);
+    }
+  $output_rules .=  file_contents ('texinfos',
+				   new Automake::Location,
+				   TEXICLEAN     => $texiclean,
+				   'LOCAL-TEXIS' => !!$info_texinfos);
+}
+
+
+# Handle any man pages.
+sub handle_man_pages
+{
+  reject_var 'MANS', "`MANS' is an anachronism; use `man_MANS'";
+
+  # Find all the sections in use.  We do this by first looking for
+  # "standard" sections, and then looking for any additional
+  # sections used in man_MANS.
+  my (%sections, %vlist);
+  # We handle nodist_ for uniformity.  man pages aren't distributed
+  # by default so it isn't actually very important.
+  foreach my $pfx ('', 'dist_', 'nodist_')
+    {
+      # Add more sections as needed.
+      foreach my $section ('0'..'9', 'n', 'l')
+	{
+	  my $varname = $pfx . 'man' . $section . '_MANS';
+	  if (var ($varname))
+	    {
+	      $sections{$section} = 1;
+	      $varname = '$(' . $varname . ')';
+	      $vlist{$varname} = 1;
+
+	      &push_dist_common ($varname)
+		if $pfx eq 'dist_';
+	    }
+	}
+
+      my $varname = $pfx . 'man_MANS';
+      my $var = var ($varname);
+      if ($var)
+	{
+	  foreach ($var->value_as_list_recursive)
+	    {
+	      # A page like `foo.1c' goes into man1dir.
+	      if (/\.([0-9a-z])([a-z]*)$/)
+		{
+		  $sections{$1} = 1;
+		}
+	    }
+
+	  $varname = '$(' . $varname . ')';
+	  $vlist{$varname} = 1;
+	  &push_dist_common ($varname)
+	    if $pfx eq 'dist_';
+	}
+    }
+
+  return unless %sections;
+
+  # Now for each section, generate an install and uninstall rule.
+  # Sort sections so output is deterministic.
+  foreach my $section (sort keys %sections)
+    {
+      $output_rules .= &file_contents ('mans',
+				       new Automake::Location,
+				       SECTION => $section);
+    }
+
+  my @mans = sort keys %vlist;
+  $output_vars .= file_contents ('mans-vars',
+				 new Automake::Location,
+				 MANS => "@mans");
+
+  push (@all, '$(MANS)')
+    unless option 'no-installman';
+}
+
+# Handle DATA variables.
+sub handle_data
+{
+    &am_install_var ('-noextra', '-candist', 'data', 'DATA',
+		     'data', 'sysconf', 'sharedstate', 'localstate',
+		     'pkgdata', 'lisp', 'noinst', 'check');
+}
+
+# Handle TAGS.
+sub handle_tags
+{
+    my @tag_deps = ();
+    my @ctag_deps = ();
+    if (var ('SUBDIRS'))
+    {
+	$output_rules .= ("tags-recursive:\n"
+			  . "\tlist=\'\$(SUBDIRS)\'; for subdir in \$\$list; do \\\n"
+			  # Never fail here if a subdir fails; it
+			  # isn't important.
+			  . "\t  test \"\$\$subdir\" = . || (cd \$\$subdir"
+			  . " && \$(MAKE) \$(AM_MAKEFLAGS) tags); \\\n"
+			  . "\tdone\n");
+	push (@tag_deps, 'tags-recursive');
+	&depend ('.PHONY', 'tags-recursive');
+
+	$output_rules .= ("ctags-recursive:\n"
+			  . "\tlist=\'\$(SUBDIRS)\'; for subdir in \$\$list; do \\\n"
+			  # Never fail here if a subdir fails; it
+			  # isn't important.
+			  . "\t  test \"\$\$subdir\" = . || (cd \$\$subdir"
+			  . " && \$(MAKE) \$(AM_MAKEFLAGS) ctags); \\\n"
+			  . "\tdone\n");
+	push (@ctag_deps, 'ctags-recursive');
+	&depend ('.PHONY', 'ctags-recursive');
+    }
+
+    if (&saw_sources_p (1)
+	|| var ('ETAGS_ARGS')
+	|| @tag_deps)
+    {
+	my @config;
+	foreach my $spec (@config_headers)
+	{
+	    my ($out, @ins) = split_config_file_spec ($spec);
+	    foreach my $in (@ins)
+	      {
+		# If the config header source is in this directory,
+		# require it.
+		push @config, basename ($in)
+		  if $relative_dir eq dirname ($in);
+	      }
+	}
+	$output_rules .= &file_contents ('tags',
+					 new Automake::Location,
+					 CONFIG    => "@config",
+					 TAGSDIRS  => "@tag_deps",
+					 CTAGSDIRS => "@ctag_deps");
+
+	set_seen 'TAGS_DEPENDENCIES';
+    }
+    elsif (reject_var ('TAGS_DEPENDENCIES',
+		       "doesn't make sense to define `TAGS_DEPENDENCIES'"
+		       . "without\nsources or `ETAGS_ARGS'"))
+    {
+    }
+    else
+    {
+	# Every Makefile must define some sort of TAGS rule.
+	# Otherwise, it would be possible for a top-level "make TAGS"
+	# to fail because some subdirectory failed.
+	$output_rules .= "tags: TAGS\nTAGS:\n\n";
+	# Ditto ctags.
+	$output_rules .= "ctags: CTAGS\nCTAGS:\n\n";
+    }
+}
+
+# Handle multilib support.
+sub handle_multilib
+{
+  if ($seen_multilib && $relative_dir eq '.')
+    {
+      $output_rules .= &file_contents ('multilib', new Automake::Location);
+      push (@all, 'all-multi');
+    }
+}
+
+
+# user_phony_rule ($NAME)
+# -----------------------
+# Return false if rule $NAME does not exist.  Otherwise,
+# declare it as phony, complete its definition (in case it is
+# conditional), and return its Automake::Rule instance.
+sub user_phony_rule ($)
+{
+  my ($name) = @_;
+  my $rule = rule $name;
+  if ($rule)
+    {
+      depend ('.PHONY', $name);
+      # Define $NAME in all condition where it is not already defined,
+      # so that it is always OK to depend on $NAME.
+      for my $c ($rule->not_always_defined_in_cond (TRUE)->conds)
+	{
+	  Automake::Rule::define ($name, 'internal', RULE_AUTOMAKE,
+				  $c, INTERNAL);
+	  $output_rules .= $c->subst_string . "$name:\n";
+	}
+    }
+  return $rule;
+}
+
+
+# $BOOLEAN
+# &for_dist_common ($A, $B)
+# -------------------------
+# Subroutine for &handle_dist: sort files to dist.
+#
+# We put README first because it then becomes easier to make a
+# Usenet-compliant shar file (in these, README must be first).
+#
+# FIXME: do more ordering of files here.
+sub for_dist_common
+{
+    return 0
+        if $a eq $b;
+    return -1
+        if $a eq 'README';
+    return 1
+        if $b eq 'README';
+    return $a cmp $b;
+}
+
+
+# handle_dist
+# -----------
+# Handle 'dist' target.
+sub handle_dist ()
+{
+  # Substutions for distdit.am
+  my %transform;
+
+  # Define DIST_SUBDIRS.  This must always be done, regardless of the
+  # no-dist setting: target like `distclean' or `maintainer-clean' use it.
+  my $subdirs = var ('SUBDIRS');
+  if ($subdirs)
+    {
+      # If SUBDIRS is conditionally defined, then set DIST_SUBDIRS
+      # to all possible directories, and use it.  If DIST_SUBDIRS is
+      # defined, just use it.
+
+      # Note that we check DIST_SUBDIRS first on purpose, so that
+      # we don't call has_conditional_contents for now reason.
+      # (In the past one project used so many conditional subdirectories
+      # that calling has_conditional_contents on SUBDIRS caused
+      # automake to grow to 150Mb -- this should not happen with
+      # the current implementation of has_conditional_contents,
+      # but it's more efficient to avoid the call anyway.)
+      if (var ('DIST_SUBDIRS'))
+	{
+	}
+      elsif ($subdirs->has_conditional_contents)
+	{
+	  define_pretty_variable
+	    ('DIST_SUBDIRS', TRUE, INTERNAL,
+	     uniq ($subdirs->value_as_list_recursive));
+	}
+      else
+	{
+	  # We always define this because that is what `distclean'
+	  # wants.
+	  define_pretty_variable ('DIST_SUBDIRS', TRUE, INTERNAL,
+				  '$(SUBDIRS)');
+	}
+    }
+
+  # The remaining definitions are only required when a dist target is used.
+  return if option 'no-dist';
+
+  # At least one of the archive formats must be enabled.
+  if ($relative_dir eq '.')
+    {
+      my $archive_defined = option 'no-dist-gzip' ? 0 : 1;
+      $archive_defined ||=
+	grep { option "dist-$_" } ('shar', 'zip', 'tarZ', 'bzip2');
+      error (option 'no-dist-gzip',
+	     "no-dist-gzip specified but no dist-* specified, "
+	     . "at least one archive format must be enabled")
+	unless $archive_defined;
+    }
+
+  # Look for common files that should be included in distribution.
+  # If the aux dir is set, and it does not have a Makefile.am, then
+  # we check for these files there as well.
+  my $check_aux = 0;
+  if ($relative_dir eq '.'
+      && $config_aux_dir_set_in_configure_ac)
+    {
+      if (! &is_make_dir ($config_aux_dir))
+	{
+	  $check_aux = 1;
+	}
+    }
+  foreach my $cfile (@common_files)
+    {
+      if (dir_has_case_matching_file ($relative_dir, $cfile)
+	  # The file might be absent, but if it can be built it's ok.
+	  || rule $cfile)
+	{
+	  &push_dist_common ($cfile);
+	}
+
+      # Don't use `elsif' here because a file might meaningfully
+      # appear in both directories.
+      if ($check_aux && dir_has_case_matching_file ($config_aux_dir, $cfile))
+	{
+	  &push_dist_common ("$config_aux_dir/$cfile")
+	}
+    }
+
+  # We might copy elements from $configure_dist_common to
+  # %dist_common if we think we need to.  If the file appears in our
+  # directory, we would have discovered it already, so we don't
+  # check that.  But if the file is in a subdir without a Makefile,
+  # we want to distribute it here if we are doing `.'.  Ugly!
+  if ($relative_dir eq '.')
+    {
+      foreach my $file (split (' ' , $configure_dist_common))
+	{
+	  push_dist_common ($file)
+	    unless is_make_dir (dirname ($file));
+	}
+    }
+
+  # Files to distributed.  Don't use ->value_as_list_recursive
+  # as it recursively expands `$(dist_pkgdata_DATA)' etc.
+  my @dist_common = split (' ', rvar ('DIST_COMMON')->variable_value);
+  @dist_common = uniq (sort for_dist_common (@dist_common));
+  variable_delete 'DIST_COMMON';
+  define_pretty_variable ('DIST_COMMON', TRUE, INTERNAL, @dist_common);
+
+  # Now that we've processed DIST_COMMON, disallow further attempts
+  # to set it.
+  $handle_dist_run = 1;
+
+  # Scan EXTRA_DIST to see if we need to distribute anything from a
+  # subdir.  If so, add it to the list.  I didn't want to do this
+  # originally, but there were so many requests that I finally
+  # relented.
+  my $extra_dist = var ('EXTRA_DIST');
+  if ($extra_dist)
+    {
+      # FIXME: This should be fixed to work with conditions.  That
+      # will require only making the entries in %dist_dirs under the
+      # appropriate condition.  This is meaningful if the nature of
+      # the distribution should depend upon the configure options
+      # used.
+      foreach ($extra_dist->value_as_list_recursive (skip_ac_subst => 1))
+	{
+	  next unless s,/+[^/]+$,,;
+	  $dist_dirs{$_} = 1
+	    unless $_ eq '.';
+	}
+    }
+
+  # We have to check DIST_COMMON for extra directories in case the
+  # user put a source used in AC_OUTPUT into a subdir.
+  my $topsrcdir = backname ($relative_dir);
+  foreach (rvar ('DIST_COMMON')->value_as_list_recursive (skip_ac_subst => 1))
+    {
+      s/\$\(top_srcdir\)/$topsrcdir/;
+      s/\$\(srcdir\)/./;
+      # Strip any leading `./'.
+      s,^(:?\./+)*,,;
+      next unless s,/+[^/]+$,,;
+      $dist_dirs{$_} = 1
+	unless $_ eq '.';
+    }
+
+  $transform{'DISTCHECK-HOOK'} = !! rule 'distcheck-hook';
+  $transform{'GETTEXT'} = $seen_gettext && !$seen_gettext_external;
+
+  # Prepend $(distdir) to each directory given.
+  my %rewritten = map { '$(distdir)/' . "$_" => 1 } keys %dist_dirs;
+  $transform{'DISTDIRS'} = join (' ', sort keys %rewritten);
+
+  # If the target `dist-hook' exists, make sure it is run.  This
+  # allows users to do random weird things to the distribution
+  # before it is packaged up.
+  push (@dist_targets, 'dist-hook')
+    if user_phony_rule 'dist-hook';
+  $transform{'DIST-TARGETS'} = join (' ', @dist_targets);
+
+  my $flm = option ('filename-length-max');
+  my $filename_filter = $flm ? '.' x $flm->[1] : '';
+
+  $output_rules .= &file_contents ('distdir',
+				   new Automake::Location,
+				   %transform,
+				   FILENAME_FILTER => $filename_filter);
+}
+
+
+# check_directory ($NAME, $WHERE)
+# -------------------------------
+# Ensure $NAME is a directory, and that it uses sane name.
+# Use $WHERE as a location in the diagnostic, if any.
+sub check_directory ($$)
+{
+  my ($dir, $where) = @_;
+
+  error $where, "required directory $relative_dir/$dir does not exist"
+    unless -d "$relative_dir/$dir";
+
+  # If an `obj/' directory exists, BSD make will enter it before
+  # reading `Makefile'.  Hence the `Makefile' in the current directory
+  # will not be read.
+  #
+  #  % cat Makefile
+  #  all:
+  #          echo Hello
+  #  % cat obj/Makefile
+  #  all:
+  #          echo World
+  #  % make      # GNU make
+  #  echo Hello
+  #  Hello
+  #  % pmake     # BSD make
+  #  echo World
+  #  World
+  msg ('portability', $where,
+       "naming a subdirectory `obj' causes troubles with BSD make")
+    if $dir eq 'obj';
+
+  # `aux' is probably the most important of the following forbidden name,
+  # since it's tempting to use it as an AC_CONFIG_AUX_DIR.
+  msg ('portability', $where,
+       "name `$dir' is reserved on W32 and DOS platforms")
+    if grep (/^\Q$dir\E$/i, qw/aux lpt1 lpt2 lpt3 com1 com2 com3 com4 con prn/);
+}
+
+# check_directories_in_var ($VARIABLE)
+# ------------------------------------
+# Recursively check all items in variables $VARIABLE as directories
+sub check_directories_in_var ($)
+{
+  my ($var) = @_;
+  $var->traverse_recursively
+    (sub
+     {
+       my ($var, $val, $cond, $full_cond) = @_;
+       check_directory ($val, $var->rdef ($cond)->location);
+       return ();
+     },
+     undef,
+     skip_ac_subst => 1);
+}
+
+# &handle_subdirs ()
+# ------------------
+# Handle subdirectories.
+sub handle_subdirs ()
+{
+  my $subdirs = var ('SUBDIRS');
+  return
+    unless $subdirs;
+
+  check_directories_in_var $subdirs;
+
+  my $dsubdirs = var ('DIST_SUBDIRS');
+  check_directories_in_var $dsubdirs
+    if $dsubdirs;
+
+  $output_rules .= &file_contents ('subdirs', new Automake::Location);
+  rvar ('RECURSIVE_TARGETS')->rdef (TRUE)->{'pretty'} = VAR_SORTED; # Gross!
+}
+
+
+# ($REGEN, @DEPENDENCIES)
+# &scan_aclocal_m4
+# ----------------
+# If aclocal.m4 creation is automated, return the list of its dependencies.
+sub scan_aclocal_m4 ()
+{
+  my $regen_aclocal = 0;
+
+  set_seen 'CONFIG_STATUS_DEPENDENCIES';
+  set_seen 'CONFIGURE_DEPENDENCIES';
+
+  if (-f 'aclocal.m4')
+    {
+      &define_variable ("ACLOCAL_M4", '$(top_srcdir)/aclocal.m4', INTERNAL);
+
+      my $aclocal = new Automake::XFile "< aclocal.m4";
+      my $line = $aclocal->getline;
+      $regen_aclocal = $line =~ 'generated automatically by aclocal';
+    }
+
+  my @ac_deps = ();
+
+  if (set_seen ('ACLOCAL_M4_SOURCES'))
+    {
+      push (@ac_deps, '$(ACLOCAL_M4_SOURCES)');
+      msg_var ('obsolete', 'ACLOCAL_M4_SOURCES',
+	       "`ACLOCAL_M4_SOURCES' is obsolete.\n"
+	       . "It should be safe to simply remove it.");
+    }
+
+  # Note that it might be possible that aclocal.m4 doesn't exist but
+  # should be auto-generated.  This case probably isn't very
+  # important.
+
+  return ($regen_aclocal, @ac_deps);
+}
+
+
+# @DEPENDENCIES
+# &prepend_srcdir (@INPUTS)
+# -------------------------
+# Prepend $(srcdir) or $(top_srcdir) to all @INPUTS.  The idea is that
+# if an input file has a directory part the same as the current
+# directory, then the directory part is simply replaced by $(srcdir).
+# But if the directory part is different, then $(top_srcdir) is
+# prepended.
+sub prepend_srcdir (@)
+{
+  my (@inputs) = @_;
+  my @newinputs;
+
+  foreach my $single (@inputs)
+    {
+      if (dirname ($single) eq $relative_dir)
+	{
+	  push (@newinputs, '$(srcdir)/' . basename ($single));
+	}
+      else
+	{
+	  push (@newinputs, '$(top_srcdir)/' . $single);
+	}
+    }
+  return @newinputs;
+}
+
+# @DEPENDENCIES
+# rewrite_inputs_into_dependencies ($OUTPUT, @INPUTS)
+# ---------------------------------------------------
+# Compute a list of dependencies appropriate for the rebuild
+# rule of
+#   AC_CONFIG_FILES($OUTPUT:$INPUT[0]:$INPUTS[1]:...)
+# Also distribute $INPUTs which are not build by another AC_CONFIG_FILES.
+sub rewrite_inputs_into_dependencies ($@)
+{
+  my ($file, @inputs) = @_;
+  my @res = ();
+
+  for my $i (@inputs)
+    {
+      if (exists $ac_config_files_location{$i})
+	{
+	  my $di = dirname $i;
+	  if ($di eq $relative_dir)
+	    {
+	      $i = basename $i;
+	    }
+	  # In the top-level Makefile we do not use $(top_builddir), because
+	  # we are already there, and since the targets are built without
+	  # a $(top_builddir), it helps BSD Make to match them with
+	  # dependencies.
+	  elsif ($relative_dir ne '.')
+	    {
+	      $i = '$(top_builddir)/' . $i;
+	    }
+	}
+      else
+	{
+	  msg ('error', $ac_config_files_location{$file},
+	       "required file `$i' not found")
+	    unless exists $output_files{$i} || -f $i;
+	  ($i) = prepend_srcdir ($i);
+	  push_dist_common ($i);
+	}
+      push @res, $i;
+    }
+  return @res;
+}
+
+
+
+# &handle_configure ($MAKEFILE_AM, $MAKEFILE_IN, $MAKEFILE, @INPUTS)
+# ------------------------------------------------------------------
+# Handle remaking and configure stuff.
+# We need the name of the input file, to do proper remaking rules.
+sub handle_configure ($$$@)
+{
+  my ($makefile_am, $makefile_in, $makefile, @inputs) = @_;
+
+  prog_error 'empty @inputs'
+    unless @inputs;
+
+  my ($rel_makefile_am, $rel_makefile_in) = prepend_srcdir ($makefile_am,
+							    $makefile_in);
+  my $rel_makefile = basename $makefile;
+
+  my $colon_infile = ':' . join (':', @inputs);
+  $colon_infile = '' if $colon_infile eq ":$makefile.in";
+  my @rewritten = rewrite_inputs_into_dependencies ($makefile, @inputs);
+  my ($regen_aclocal_m4, @aclocal_m4_deps) = scan_aclocal_m4;
+  define_pretty_variable ('am__aclocal_m4_deps', TRUE, INTERNAL,
+			  @configure_deps, @aclocal_m4_deps,
+			  '$(top_srcdir)/' . $configure_ac);
+  my @configuredeps = ('$(am__aclocal_m4_deps)', '$(CONFIGURE_DEPENDENCIES)');
+  push @configuredeps, '$(ACLOCAL_M4)' if -f 'aclocal.m4';
+  define_pretty_variable ('am__configure_deps', TRUE, INTERNAL,
+			  @configuredeps);
+
+  $output_rules .= file_contents
+    ('configure',
+     new Automake::Location,
+     MAKEFILE              => $rel_makefile,
+     'MAKEFILE-DEPS'       => "@rewritten",
+     'CONFIG-MAKEFILE'     => ($relative_dir eq '.') ? '$@' : '$(subdir)/$@',
+     'MAKEFILE-IN'         => $rel_makefile_in,
+     'MAKEFILE-IN-DEPS'    => "@include_stack",
+     'MAKEFILE-AM'         => $rel_makefile_am,
+     STRICTNESS            => global_option 'cygnus'
+                                ? 'cygnus' : $strictness_name,
+     'USE-DEPS'            => global_option 'no-dependencies'
+                                ? ' --ignore-deps' : '',
+     'MAKEFILE-AM-SOURCES' => "$makefile$colon_infile",
+     'REGEN-ACLOCAL-M4'    => $regen_aclocal_m4);
+
+  if ($relative_dir eq '.')
+    {
+      &push_dist_common ('acconfig.h')
+	if -f 'acconfig.h';
+    }
+
+  # If we have a configure header, require it.
+  my $hdr_index = 0;
+  my @distclean_config;
+  foreach my $spec (@config_headers)
+    {
+      $hdr_index += 1;
+      # $CONFIG_H_PATH: config.h from top level.
+      my ($config_h_path, @ins) = split_config_file_spec ($spec);
+      my $config_h_dir = dirname ($config_h_path);
+
+      # If the header is in the current directory we want to build
+      # the header here.  Otherwise, if we're at the topmost
+      # directory and the header's directory doesn't have a
+      # Makefile, then we also want to build the header.
+      if ($relative_dir eq $config_h_dir
+	  || ($relative_dir eq '.' && ! &is_make_dir ($config_h_dir)))
+	{
+	  my ($cn_sans_dir, $stamp_dir);
+	  if ($relative_dir eq $config_h_dir)
+	    {
+	      $cn_sans_dir = basename ($config_h_path);
+	      $stamp_dir = '';
+	    }
+	  else
+	    {
+	      $cn_sans_dir = $config_h_path;
+	      if ($config_h_dir eq '.')
+		{
+		  $stamp_dir = '';
+		}
+	      else
+		{
+		  $stamp_dir = $config_h_dir . '/';
+		}
+	    }
+
+	  # This will also distribute all inputs.
+	  @ins = rewrite_inputs_into_dependencies ($config_h_path, @ins);
+
+	  # Header defined and in this directory.
+	  my @files;
+	  if (-f $config_h_path . '.top')
+	    {
+	      push (@files, "$cn_sans_dir.top");
+	    }
+	  if (-f $config_h_path . '.bot')
+	    {
+	      push (@files, "$cn_sans_dir.bot");
+	    }
+
+	  push_dist_common (@files);
+
+	  # For now, acconfig.h can only appear in the top srcdir.
+	  if (-f 'acconfig.h')
+	    {
+	      push (@files, '$(top_srcdir)/acconfig.h');
+	    }
+
+	  my $stamp = "${stamp_dir}stamp-h${hdr_index}";
+	  $output_rules .=
+	    file_contents ('remake-hdr',
+			   new Automake::Location,
+			   FILES            => "@files",
+			   CONFIG_H         => $cn_sans_dir,
+			   CONFIG_HIN       => $ins[0],
+			   CONFIG_H_DEPS    => "@ins",
+			   CONFIG_H_PATH    => $config_h_path,
+			   STAMP            => "$stamp");
+
+	  push @distclean_config, $cn_sans_dir, $stamp;
+	}
+    }
+
+  $output_rules .= file_contents ('clean-hdr',
+				  new Automake::Location,
+				  FILES => "@distclean_config")
+    if @distclean_config;
+
+  # Distribute and define mkinstalldirs only if it is already present
+  # in the package, for backward compatibility (some people may still
+  # use $(mkinstalldirs)).
+  my $mkidpath = "$config_aux_dir/mkinstalldirs";
+  if (-f $mkidpath)
+    {
+      # Use require_file so that any existingscript gets updated
+      # by --force-missing.
+      require_conf_file ($mkidpath, FOREIGN, 'mkinstalldirs');
+      define_variable ('mkinstalldirs',
+		       "\$(SHELL) $am_config_aux_dir/mkinstalldirs", INTERNAL);
+    }
+  else
+    {
+      # Use $(install_sh), not $(mkdir_p) because the latter requires
+      # at least one argument, and $(mkinstalldirs) used to work
+      # even without arguments (e.g. $(mkinstalldirs) $(conditional_dir)).
+      define_variable ('mkinstalldirs', '$(install_sh) -d', INTERNAL);
+    }
+
+  reject_var ('CONFIG_HEADER',
+	      "`CONFIG_HEADER' is an anachronism; now determined "
+	      . "automatically\nfrom `$configure_ac'");
+
+  my @config_h;
+  foreach my $spec (@config_headers)
+    {
+      my ($out, @ins) = split_config_file_spec ($spec);
+      # Generate CONFIG_HEADER define.
+      if ($relative_dir eq dirname ($out))
+	{
+	  push @config_h, basename ($out);
+	}
+      else
+	{
+	  push @config_h, "\$(top_builddir)/$out";
+	}
+    }
+  define_variable ("CONFIG_HEADER", "@config_h", INTERNAL)
+    if @config_h;
+
+  # Now look for other files in this directory which must be remade
+  # by config.status, and generate rules for them.
+  my @actual_other_files = ();
+  foreach my $lfile (@other_input_files)
+    {
+      my $file;
+      my @inputs;
+      if ($lfile =~ /^([^:]*):(.*)$/)
+	{
+	  # This is the ":" syntax of AC_OUTPUT.
+	  $file = $1;
+	  @inputs = split (':', $2);
+	}
+      else
+	{
+	  # Normal usage.
+	  $file = $lfile;
+	  @inputs = $file . '.in';
+	}
+
+      # Automake files should not be stored in here, but in %MAKE_LIST.
+      prog_error ("$lfile in \@other_input_files\n"
+		  . "\@other_input_files = (@other_input_files)")
+	if -f $file . '.am';
+
+      my $local = basename ($file);
+
+      # Make sure the dist directory for each input file is created.
+      # We only have to do this at the topmost level though.  This
+      # is a bit ugly but it easier than spreading out the logic,
+      # especially in cases like AC_OUTPUT(foo/out:bar/in), where
+      # there is no Makefile in bar/.
+      if ($relative_dir eq '.')
+	{
+	  foreach (@inputs)
+	    {
+	      $dist_dirs{dirname ($_)} = 1;
+	    }
+	}
+
+      # We skip files that aren't in this directory.  However, if
+      # the file's directory does not have a Makefile, and we are
+      # currently doing `.', then we create a rule to rebuild the
+      # file in the subdir.
+      my $fd = dirname ($file);
+      if ($fd ne $relative_dir)
+	{
+	  if ($relative_dir eq '.' && ! &is_make_dir ($fd))
+	    {
+	      $local = $file;
+	    }
+	  else
+	    {
+	      next;
+	    }
+	}
+
+      my @rewritten_inputs = rewrite_inputs_into_dependencies ($file, @inputs);
+
+      $output_rules .= ($local . ': '
+			. '$(top_builddir)/config.status '
+			. "@rewritten_inputs\n"
+			. "\t"
+			. 'cd $(top_builddir) && '
+			. '$(SHELL) ./config.status '
+			. ($relative_dir eq '.' ? '' : '$(subdir)/')
+			. '$@'
+			. "\n");
+      push (@actual_other_files, $local);
+    }
+
+  # For links we should clean destinations and distribute sources.
+  foreach my $spec (@config_links)
+    {
+      my ($link, $file) = split /:/, $spec;
+      # Some people do AC_CONFIG_LINKS($computed).  We only handle
+      # the DEST:SRC form.
+      next unless $file;
+      my $where = $ac_config_files_location{$link};
+
+      # Skip destinations that contain shell variables.
+      if ($link !~ /\$/)
+	{
+	  # We skip links that aren't in this directory.  However, if
+	  # the link's directory does not have a Makefile, and we are
+	  # currently doing `.', then we add the link to CONFIG_CLEAN_FILES
+	  # in `.'s Makefile.in.
+	  my $local = basename ($link);
+	  my $fd = dirname ($link);
+	  if ($fd ne $relative_dir)
+	    {
+	      if ($relative_dir eq '.' && ! &is_make_dir ($fd))
+		{
+		  $local = $link;
+		}
+	      else
+		{
+		  $local = undef;
+		}
+	    }
+	  push @actual_other_files, $local if $local;
+	}
+
+      # Do not process sources that contain shell variables.
+      if ($file !~ /\$/)
+	{
+	  my $fd = dirname ($file);
+
+	  # Make sure the dist directory for each input file is created.
+	  # We only have to do this at the topmost level though.
+	  if ($relative_dir eq '.')
+	    {
+	      $dist_dirs{$fd} = 1;
+	    }
+
+	  # We distribute files that are in this directory.
+	  # At the top-level (`.') we also distribute files whose
+	  # directory does not have a Makefile.
+	  if (($fd eq $relative_dir)
+	      || ($relative_dir eq '.' && ! &is_make_dir ($fd)))
+	    {
+	      # The following will distribute $file as a side-effect when
+	      # it is appropriate (i.e., when $file is not already an output).
+	      # We do not need the result, just the side-effect.
+	      rewrite_inputs_into_dependencies ($link, $file);
+	    }
+	}
+    }
+
+  # These files get removed by "make distclean".
+  define_pretty_variable ('CONFIG_CLEAN_FILES', TRUE, INTERNAL,
+			  @actual_other_files);
+}
+
+# Handle C headers.
+sub handle_headers
+{
+    my @r = &am_install_var ('-defaultdist', 'header', 'HEADERS', 'include',
+			     'oldinclude', 'pkginclude',
+			     'noinst', 'check');
+    foreach (@r)
+    {
+      next unless $_->[1] =~ /\..*$/;
+      &saw_extension ($&);
+    }
+}
+
+sub handle_gettext
+{
+  return if ! $seen_gettext || $relative_dir ne '.';
+
+  my $subdirs = var 'SUBDIRS';
+
+  if (! $subdirs)
+    {
+      err_ac "AM_GNU_GETTEXT used but SUBDIRS not defined";
+      return;
+    }
+
+  # Perform some sanity checks to help users get the right setup.
+  # We disable these tests when po/ doesn't exist in order not to disallow
+  # unusual gettext setups.
+  #
+  # Bruno Haible:
+  # | The idea is:
+  # |
+  # |  1) If a package doesn't have a directory po/ at top level, it
+  # |     will likely have multiple po/ directories in subpackages.
+  # |
+  # |  2) It is useful to warn for the absence of intl/ if AM_GNU_GETTEXT
+  # |     is used without 'external'. It is also useful to warn for the
+  # |     presence of intl/ if AM_GNU_GETTEXT([external]) is used. Both
+  # |     warnings apply only to the usual layout of packages, therefore
+  # |     they should both be disabled if no po/ directory is found at
+  # |     top level.
+
+  if (-d 'po')
+    {
+      my @subdirs = $subdirs->value_as_list_recursive;
+
+      msg_var ('syntax', $subdirs,
+	       "AM_GNU_GETTEXT used but `po' not in SUBDIRS")
+	if ! grep ($_ eq 'po', @subdirs);
+
+      # intl/ is not required when AM_GNU_GETTEXT is called with
+      # the `external' option.
+      msg_var ('syntax', $subdirs,
+	       "AM_GNU_GETTEXT used but `intl' not in SUBDIRS")
+	if (! $seen_gettext_external
+	    && ! grep ($_ eq 'intl', @subdirs));
+
+      # intl/ should not be used with AM_GNU_GETTEXT([external])
+      msg_var ('syntax', $subdirs,
+	       "`intl' should not be in SUBDIRS when "
+	       . "AM_GNU_GETTEXT([external]) is used")
+	if ($seen_gettext_external && grep ($_ eq 'intl', @subdirs));
+    }
+
+  require_file ($ac_gettext_location, GNU, 'ABOUT-NLS');
+}
+
+# Handle footer elements.
+sub handle_footer
+{
+    reject_rule ('.SUFFIXES',
+		 "use variable `SUFFIXES', not target `.SUFFIXES'");
+
+    # Note: AIX 4.1 /bin/make will fail if any suffix rule appears
+    # before .SUFFIXES.  So we make sure that .SUFFIXES appears before
+    # anything else, by sticking it right after the default: target.
+    $output_header .= ".SUFFIXES:\n";
+    my $suffixes = var 'SUFFIXES';
+    my @suffixes = Automake::Rule::suffixes;
+    if (@suffixes || $suffixes)
+    {
+	# Make sure SUFFIXES has unique elements.  Sort them to ensure
+	# the output remains consistent.  However, $(SUFFIXES) is
+	# always at the start of the list, unsorted.  This is done
+	# because make will choose rules depending on the ordering of
+	# suffixes, and this lets the user have some control.  Push
+	# actual suffixes, and not $(SUFFIXES).  Some versions of make
+	# do not like variable substitutions on the .SUFFIXES line.
+	my @user_suffixes = ($suffixes
+			     ? $suffixes->value_as_list_recursive : ());
+
+	my %suffixes = map { $_ => 1 } @suffixes;
+	delete @suffixes{@user_suffixes};
+
+	$output_header .= (".SUFFIXES: "
+			   . join (' ', @user_suffixes, sort keys %suffixes)
+			   . "\n");
+    }
+
+    $output_trailer .= file_contents ('footer', new Automake::Location);
+}
+
+
+# Generate `make install' rules.
+sub handle_install ()
+{
+  $output_rules .= &file_contents
+    ('install',
+     new Automake::Location,
+     maybe_BUILT_SOURCES => (set_seen ('BUILT_SOURCES')
+			     ? (" \$(BUILT_SOURCES)\n"
+				. "\t\$(MAKE) \$(AM_MAKEFLAGS)")
+			     : ''),
+     'installdirs-local' => (user_phony_rule 'installdirs-local'
+			     ? ' installdirs-local' : ''),
+     am__installdirs => variable_value ('am__installdirs') || '');
+}
+
+
+# Deal with all and all-am.
+sub handle_all ($)
+{
+    my ($makefile) = @_;
+
+    # Output `all-am'.
+
+    # Put this at the beginning for the sake of non-GNU makes.  This
+    # is still wrong if these makes can run parallel jobs.  But it is
+    # right enough.
+    unshift (@all, basename ($makefile));
+
+    foreach my $spec (@config_headers)
+      {
+        my ($out, @ins) = split_config_file_spec ($spec);
+	push (@all, basename ($out))
+	  if dirname ($out) eq $relative_dir;
+      }
+
+    # Install `all' hooks.
+    push (@all, "all-local")
+      if user_phony_rule "all-local";
+
+    &pretty_print_rule ("all-am:", "\t\t", @all);
+    &depend ('.PHONY', 'all-am', 'all');
+
+
+    # Output `all'.
+
+    my @local_headers = ();
+    push @local_headers, '$(BUILT_SOURCES)'
+      if var ('BUILT_SOURCES');
+    foreach my $spec (@config_headers)
+      {
+        my ($out, @ins) = split_config_file_spec ($spec);
+	push @local_headers, basename ($out)
+	  if dirname ($out) eq $relative_dir;
+      }
+
+    if (@local_headers)
+      {
+	# We need to make sure config.h is built before we recurse.
+	# We also want to make sure that built sources are built
+	# before any ordinary `all' targets are run.  We can't do this
+	# by changing the order of dependencies to the "all" because
+	# that breaks when using parallel makes.  Instead we handle
+	# things explicitly.
+	$output_all .= ("all: @local_headers"
+			. "\n\t"
+			. '$(MAKE) $(AM_MAKEFLAGS) '
+			. (var ('SUBDIRS') ? 'all-recursive' : 'all-am')
+			. "\n\n");
+      }
+    else
+      {
+	$output_all .= "all: " . (var ('SUBDIRS')
+				  ? 'all-recursive' : 'all-am') . "\n\n";
+      }
+}
+
+
+# &do_check_merge_target ()
+# -------------------------
+# Handle check merge target specially.
+sub do_check_merge_target ()
+{
+  # Include user-defined local form of target.
+  push @check_tests, 'check-local'
+    if user_phony_rule 'check-local';
+
+  # In --cygnus mode, check doesn't depend on all.
+  if (option 'cygnus')
+    {
+      # Just run the local check rules.
+      pretty_print_rule ('check-am:', "\t\t", @check);
+    }
+  else
+    {
+      # The check target must depend on the local equivalent of
+      # `all', to ensure all the primary targets are built.  Then it
+      # must build the local check rules.
+      $output_rules .= "check-am: all-am\n";
+      pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t  ",
+			 @check)
+	if @check;
+    }
+  pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t  ",
+		     @check_tests)
+    if @check_tests;
+
+  depend '.PHONY', 'check', 'check-am';
+  # Handle recursion.  We have to honor BUILT_SOURCES like for `all:'.
+  $output_rules .= ("check: "
+		    . (var ('BUILT_SOURCES')
+		       ? "\$(BUILT_SOURCES)\n\t\$(MAKE) \$(AM_MAKEFLAGS) "
+		       : '')
+		    . (var ('SUBDIRS') ? 'check-recursive' : 'check-am')
+		    . "\n");
+}
+
+# handle_clean ($MAKEFILE)
+# ------------------------
+# Handle all 'clean' targets.
+sub handle_clean ($)
+{
+  my ($makefile) = @_;
+
+  # Clean the files listed in user variables if they exist.
+  $clean_files{'$(MOSTLYCLEANFILES)'} = MOSTLY_CLEAN
+    if var ('MOSTLYCLEANFILES');
+  $clean_files{'$(CLEANFILES)'} = CLEAN
+    if var ('CLEANFILES');
+  $clean_files{'$(DISTCLEANFILES)'} = DIST_CLEAN
+    if var ('DISTCLEANFILES');
+  $clean_files{'$(MAINTAINERCLEANFILES)'} = MAINTAINER_CLEAN
+    if var ('MAINTAINERCLEANFILES');
+
+  # Built sources are automatically removed by maintainer-clean.
+  $clean_files{'$(BUILT_SOURCES)'} = MAINTAINER_CLEAN
+    if var ('BUILT_SOURCES');
+
+  # Compute a list of "rm"s to run for each target.
+  my %rms = (MOSTLY_CLEAN, [],
+	     CLEAN, [],
+	     DIST_CLEAN, [],
+	     MAINTAINER_CLEAN, []);
+
+  foreach my $file (keys %clean_files)
+    {
+      my $when = $clean_files{$file};
+      prog_error 'invalid entry in %clean_files'
+	unless exists $rms{$when};
+
+      my $rm = "rm -f $file";
+      # If file is a variable, make sure when don't call `rm -f' without args.
+      $rm ="test -z \"$file\" || $rm"
+	if ($file =~ /^\s*\$(\(.*\)|\{.*\})\s*$/);
+
+      push @{$rms{$when}}, "\t-$rm\n";
+    }
+
+  $output_rules .= &file_contents
+    ('clean',
+     new Automake::Location,
+     MOSTLYCLEAN_RMS      => join ('', sort @{$rms{&MOSTLY_CLEAN}}),
+     CLEAN_RMS            => join ('', sort @{$rms{&CLEAN}}),
+     DISTCLEAN_RMS        => join ('', sort @{$rms{&DIST_CLEAN}}),
+     MAINTAINER_CLEAN_RMS => join ('', sort @{$rms{&MAINTAINER_CLEAN}}),
+     MAKEFILE             => basename $makefile,
+     );
+}
+
+
+# &target_cmp ($A, $B)
+# --------------------
+# Subroutine for &handle_factored_dependencies to let `.PHONY' be last.
+sub target_cmp
+{
+    return 0
+        if $a eq $b;
+    return -1
+        if $b eq '.PHONY';
+    return 1
+        if $a eq '.PHONY';
+    return $a cmp $b;
+}
+
+
+# &handle_factored_dependencies ()
+# --------------------------------
+# Handle everything related to gathered targets.
+sub handle_factored_dependencies
+{
+  # Reject bad hooks.
+  foreach my $utarg ('uninstall-data-local', 'uninstall-data-hook',
+		     'uninstall-exec-local', 'uninstall-exec-hook')
+    {
+      my $x = $utarg;
+      $x =~ s/(data|exec)-//;
+      reject_rule ($utarg, "use `$x', not `$utarg'");
+    }
+
+  reject_rule ('install-local',
+	       "use `install-data-local' or `install-exec-local', "
+	       . "not `install-local'");
+
+  reject_rule ('install-info-local',
+	       "`install-info-local' target defined but "
+	       . "`no-installinfo' option not in use")
+    unless option 'no-installinfo';
+
+  # Install the -local hooks.
+  foreach (keys %dependencies)
+    {
+      # Hooks are installed on the -am targets.
+      s/-am$// or next;
+      depend ("$_-am", "$_-local")
+	if user_phony_rule "$_-local";
+    }
+
+  # Install the -hook hooks.
+  # FIXME: Why not be as liberal as we are with -local hooks?
+  foreach ('install-exec', 'install-data', 'uninstall')
+    {
+      if (user_phony_rule "$_-hook")
+	{
+	  $actions{"$_-am"} .=
+	    ("\t\@\$(NORMAL_INSTALL)\n"
+	     . "\t" . '$(MAKE) $(AM_MAKEFLAGS) ' . "$_-hook\n");
+	}
+    }
+
+  # All the required targets are phony.
+  depend ('.PHONY', keys %required_targets);
+
+  # Actually output gathered targets.
+  foreach (sort target_cmp keys %dependencies)
+    {
+      # If there is nothing about this guy, skip it.
+      next
+	unless (@{$dependencies{$_}}
+		|| $actions{$_}
+		|| $required_targets{$_});
+
+      # Define gathered targets in undefined conditions.
+      # FIXME: Right now we must handle .PHONY as an exception,
+      # because people write things like
+      #    .PHONY: myphonytarget
+      # to append dependencies.  This would not work if Automake
+      # refrained from defining its own .PHONY target as it does
+      # with other overridden targets.
+      my @undefined_conds = (TRUE,);
+      if ($_ ne '.PHONY')
+	{
+	  @undefined_conds =
+	    Automake::Rule::define ($_, 'internal',
+				    RULE_AUTOMAKE, TRUE, INTERNAL);
+	}
+      my @uniq_deps = uniq (sort @{$dependencies{$_}});
+      foreach my $cond (@undefined_conds)
+	{
+	  my $condstr = $cond->subst_string;
+	  &pretty_print_rule ("$condstr$_:", "$condstr\t", @uniq_deps);
+	  $output_rules .= $actions{$_} if defined $actions{$_};
+	  $output_rules .= "\n";
+	}
+    }
+}
+
+
+# &handle_tests_dejagnu ()
+# ------------------------
+sub handle_tests_dejagnu
+{
+    push (@check_tests, 'check-DEJAGNU');
+    $output_rules .= file_contents ('dejagnu', new Automake::Location);
+}
+
+
+# Handle TESTS variable and other checks.
+sub handle_tests
+{
+  if (option 'dejagnu')
+    {
+      &handle_tests_dejagnu;
+    }
+  else
+    {
+      foreach my $c ('DEJATOOL', 'RUNTEST', 'RUNTESTFLAGS')
+	{
+	  reject_var ($c, "`$c' defined but `dejagnu' not in "
+		      . "`AUTOMAKE_OPTIONS'");
+	}
+    }
+
+  if (var ('TESTS'))
+    {
+      push (@check_tests, 'check-TESTS');
+      $output_rules .= &file_contents ('check', new Automake::Location);
+    }
+}
+
+# Handle Emacs Lisp.
+sub handle_emacs_lisp
+{
+  my @elfiles = &am_install_var ('-candist', 'lisp', 'LISP',
+				 'lisp', 'noinst');
+
+  return if ! @elfiles;
+
+  define_pretty_variable ('am__ELFILES', TRUE, INTERNAL,
+			  map { $_->[1] } @elfiles);
+  define_pretty_variable ('am__ELCFILES', TRUE, INTERNAL,
+			  '$(am__ELFILES:.el=.elc)');
+  # This one can be overridden by users.
+  define_pretty_variable ('ELCFILES', TRUE, INTERNAL, '$(LISP:.el=.elc)');
+
+  push @all, '$(ELCFILES)';
+
+  require_variables ($elfiles[0][0], "Emacs Lisp sources seen", TRUE,
+		     'EMACS', 'lispdir');
+  require_conf_file ($elfiles[0][0], FOREIGN, 'elisp-comp');
+  &define_variable ('elisp_comp', "$am_config_aux_dir/elisp-comp", INTERNAL);
+}
+
+# Handle Python
+sub handle_python
+{
+  my @pyfiles = &am_install_var ('-defaultdist', 'python', 'PYTHON',
+				 'noinst');
+  return if ! @pyfiles;
+
+  require_variables ($pyfiles[0][0], "Python sources seen", TRUE, 'PYTHON');
+  require_conf_file ($pyfiles[0][0], FOREIGN, 'py-compile');
+  &define_variable ('py_compile', "$am_config_aux_dir/py-compile", INTERNAL);
+}
+
+# Handle Java.
+sub handle_java
+{
+    my @sourcelist = &am_install_var ('-candist',
+				      'java', 'JAVA',
+				      'java', 'noinst', 'check');
+    return if ! @sourcelist;
+
+    my @prefix = am_primary_prefixes ('JAVA', 1,
+				      'java', 'noinst', 'check');
+
+    my $dir;
+    foreach my $curs (@prefix)
+      {
+	next
+	  if $curs eq 'EXTRA';
+
+	err_var "${curs}_JAVA", "multiple _JAVA primaries in use"
+	  if defined $dir;
+	$dir = $curs;
+      }
+
+
+    push (@all, 'class' . $dir . '.stamp');
+}
+
+
+# Handle some of the minor options.
+sub handle_minor_options
+{
+  if (option 'readme-alpha')
+    {
+      if ($relative_dir eq '.')
+	{
+	  if ($package_version !~ /^$GNITS_VERSION_PATTERN$/)
+	    {
+	      msg ('error-gnits', $package_version_location,
+		   "version `$package_version' doesn't follow " .
+		   "Gnits standards");
+	    }
+	  if (defined $1 && -f 'README-alpha')
+	    {
+	      # This means we have an alpha release.  See
+	      # GNITS_VERSION_PATTERN for details.
+	      push_dist_common ('README-alpha');
+	    }
+	}
+    }
+}
+
+################################################################
+
+# ($OUTPUT, @INPUTS)
+# &split_config_file_spec ($SPEC)
+# -------------------------------
+# Decode the Autoconf syntax for config files (files, headers, links
+# etc.).
+sub split_config_file_spec ($)
+{
+  my ($spec) = @_;
+  my ($output, @inputs) = split (/:/, $spec);
+
+  push @inputs, "$output.in"
+    unless @inputs;
+
+  return ($output, @inputs);
+}
+
+# $input
+# locate_am (@POSSIBLE_SOURCES)
+# -----------------------------
+# AC_CONFIG_FILES allow specifications such as Makefile:top.in:mid.in:bot.in
+# This functions returns the first *.in file for which a *.am exists.
+# It returns undef otherwise.
+sub locate_am (@)
+{
+  my (@rest) = @_;
+  my $input;
+  foreach my $file (@rest)
+    {
+      if (($file =~ /^(.*)\.in$/) && -f "$1.am")
+	{
+	  $input = $file;
+	  last;
+	}
+    }
+  return $input;
+}
+
+my %make_list;
+
+# &scan_autoconf_config_files ($WHERE, $CONFIG-FILES)
+# ---------------------------------------------------
+# Study $CONFIG-FILES which is the first argument to AC_CONFIG_FILES
+# (or AC_OUTPUT).
+sub scan_autoconf_config_files ($$)
+{
+  my ($where, $config_files) = @_;
+
+  # Look at potential Makefile.am's.
+  foreach (split ' ', $config_files)
+    {
+      # Must skip empty string for Perl 4.
+      next if $_ eq "\\" || $_ eq '';
+
+      # Handle $local:$input syntax.
+      my ($local, @rest) = split (/:/);
+      @rest = ("$local.in",) unless @rest;
+      my $input = locate_am @rest;
+      if ($input)
+        {
+	  # We have a file that automake should generate.
+	  $make_list{$input} = join (':', ($local, @rest));
+        }
+      else
+        {
+	  # We have a file that automake should cause to be
+	  # rebuilt, but shouldn't generate itself.
+	  push (@other_input_files, $_);
+        }
+      $ac_config_files_location{$local} = $where;
+    }
+}
+
+
+# &scan_autoconf_traces ($FILENAME)
+# ---------------------------------
+sub scan_autoconf_traces ($)
+{
+  my ($filename) = @_;
+
+  # Macros to trace, with their minimal number of arguments.
+  #
+  # IMPORTANT: If you add a macro here, you should also add this macro
+  # =========  to Automake-preselection in autoconf/lib/autom4te.in.
+  my %traced = (
+		AC_CANONICAL_BUILD => 0,
+		AC_CANONICAL_HOST => 0,
+		AC_CANONICAL_TARGET => 0,
+		AC_CONFIG_AUX_DIR => 1,
+		AC_CONFIG_FILES => 1,
+		AC_CONFIG_HEADERS => 1,
+		AC_CONFIG_LINKS => 1,
+		AC_INIT => 0,
+		AC_LIBSOURCE => 1,
+		AC_SUBST => 1,
+		AM_AUTOMAKE_VERSION => 1,
+		AM_CONDITIONAL => 2,
+		AM_ENABLE_MULTILIB => 0,
+		AM_GNU_GETTEXT => 0,
+		AM_INIT_AUTOMAKE => 0,
+		AM_MAINTAINER_MODE => 0,
+		AM_PROG_CC_C_O => 0,
+		LT_SUPPORTED_TAG => 1,
+		_LT_AC_TAGCONFIG => 0,
+		m4_include => 1,
+		m4_sinclude => 1,
+		sinclude => 1,
+	      );
+
+  my $traces = ($ENV{AUTOCONF} || 'autoconf') . " ";
+
+  # Use a separator unlikely to be used, not `:', the default, which
+  # has a precise meaning for AC_CONFIG_FILES and so on.
+  $traces .= join (' ',
+		   map { "--trace=$_" . ':\$f:\$l::\$n::\${::}%' }
+		   (keys %traced));
+
+  my $tracefh = new Automake::XFile ("$traces $filename |");
+  verb "reading $traces";
+
+  while ($_ = $tracefh->getline)
+    {
+      chomp;
+      my ($here, @args) = split (/::/);
+      my $where = new Automake::Location $here;
+      my $macro = $args[0];
+
+      prog_error ("unrequested trace `$macro'")
+	unless exists $traced{$macro};
+
+      # Skip and diagnose malformed calls.
+      if ($#args < $traced{$macro})
+	{
+	  msg ('syntax', $where, "not enough arguments for $macro");
+	  next;
+	}
+
+      # Alphabetical ordering please.
+      if ($macro eq 'AC_CANONICAL_BUILD')
+	{
+	  if ($seen_canonical <= AC_CANONICAL_BUILD)
+	    {
+	      $seen_canonical = AC_CANONICAL_BUILD;
+	      $canonical_location = $where;
+	    }
+	}
+      elsif ($macro eq 'AC_CANONICAL_HOST')
+	{
+	  if ($seen_canonical <= AC_CANONICAL_HOST)
+	    {
+	      $seen_canonical = AC_CANONICAL_HOST;
+	      $canonical_location = $where;
+	    }
+	}
+      elsif ($macro eq 'AC_CANONICAL_TARGET')
+	{
+	  $seen_canonical = AC_CANONICAL_TARGET;
+	  $canonical_location = $where;
+	}
+      elsif ($macro eq 'AC_CONFIG_AUX_DIR')
+	{
+	  if ($seen_init_automake)
+	    {
+	      error ($where, "AC_CONFIG_AUX_DIR must be called before "
+		     . "AM_INIT_AUTOMAKE...", partial => 1);
+	      error ($seen_init_automake, "... AM_INIT_AUTOMAKE called here");
+	    }
+	  $config_aux_dir = $args[1];
+	  $config_aux_dir_set_in_configure_ac = 1;
+	  $relative_dir = '.';
+	  check_directory ($config_aux_dir, $where);
+	}
+      elsif ($macro eq 'AC_CONFIG_FILES')
+	{
+	  # Look at potential Makefile.am's.
+	  scan_autoconf_config_files ($where, $args[1]);
+	}
+      elsif ($macro eq 'AC_CONFIG_HEADERS')
+	{
+	  foreach my $spec (split (' ', $args[1]))
+	    {
+	      my ($dest, @src) = split (':', $spec);
+	      $ac_config_files_location{$dest} = $where;
+	      push @config_headers, $spec;
+	    }
+	}
+      elsif ($macro eq 'AC_CONFIG_LINKS')
+	{
+	  foreach my $spec (split (' ', $args[1]))
+	    {
+	      my ($dest, $src) = split (':', $spec);
+	      $ac_config_files_location{$dest} = $where;
+	      push @config_links, $spec;
+	    }
+	}
+      elsif ($macro eq 'AC_INIT')
+        {
+	  if (defined $args[2])
+	    {
+	      $package_version = $args[2];
+	      $package_version_location = $where;
+	    }
+	}
+      elsif ($macro eq 'AC_LIBSOURCE')
+	{
+	  $libsources{$args[1]} = $here;
+	}
+      elsif ($macro eq 'AC_SUBST')
+	{
+	  # Just check for alphanumeric in AC_SUBST.  If you do
+	  # AC_SUBST(5), then too bad.
+	  $configure_vars{$args[1]} = $where
+	    if $args[1] =~ /^\w+$/;
+	}
+      elsif ($macro eq 'AM_AUTOMAKE_VERSION')
+        {
+	  error ($where,
+		 "version mismatch.  This is Automake $VERSION,\n" .
+		 "but the definition used by this AM_INIT_AUTOMAKE\n" .
+		 "comes from Automake $args[1].  You should recreate\n" .
+		 "aclocal.m4 with aclocal and run automake again.\n",
+		 # $? = 63 is used to indicate version mismatch to missing.
+		 exit_code => 63)
+	    if $VERSION ne $args[1];
+
+	  $seen_automake_version = 1;
+        }
+      elsif ($macro eq 'AM_CONDITIONAL')
+	{
+	  $configure_cond{$args[1]} = $where;
+ 	}
+      elsif ($macro eq 'AM_ENABLE_MULTILIB')
+	{
+	  $seen_multilib = $where;
+	}
+      elsif ($macro eq 'AM_GNU_GETTEXT')
+	{
+	  $seen_gettext = $where;
+	  $ac_gettext_location = $where;
+	  $seen_gettext_external = grep ($_ eq 'external', @args);
+	}
+      elsif ($macro eq 'AM_INIT_AUTOMAKE')
+	{
+	  $seen_init_automake = $where;
+	  if (defined $args[2])
+	    {
+	      $package_version = $args[2];
+	      $package_version_location = $where;
+	    }
+	  elsif (defined $args[1])
+	    {
+	      exit $exit_code
+		if (process_global_option_list ($where,
+						split (' ', $args[1])));
+	    }
+	}
+      elsif ($macro eq 'AM_MAINTAINER_MODE')
+	{
+	  $seen_maint_mode = $where;
+	}
+      elsif ($macro eq 'AM_PROG_CC_C_O')
+	{
+	  $seen_cc_c_o = $where;
+	}
+      elsif ($macro eq 'm4_include'
+	     || $macro eq 'm4_sinclude'
+	     || $macro eq 'sinclude')
+	{
+          # Skip missing `sinclude'd files.
+          next if $macro ne 'm4_include' && ! -f $args[1];
+
+	  # Some modified versions of Autoconf don't use
+	  # forzen files.  Consequently it's possible that we see all
+	  # m4_include's performed during Autoconf's startup.
+	  # Obviously we don't want to distribute Autoconf's files
+	  # so we skip absolute filenames here.
+	  push @configure_deps, '$(top_srcdir)/' . $args[1]
+	    unless $here =~ m,^(?:\w:)?[\\/],;
+	  # Keep track of the greatest timestamp.
+	  if (-e $args[1])
+	    {
+	      my $mtime = mtime $args[1];
+	      $configure_deps_greatest_timestamp = $mtime
+		if $mtime > $configure_deps_greatest_timestamp;
+	    }
+	}
+      elsif ($macro eq 'LT_SUPPORTED_TAG')
+	{
+          $libtool_tags{$args[1]} = 1;
+	}
+      elsif ($macro eq '_LT_AC_TAGCONFIG')
+	{
+	  # _LT_AC_TAGCONFIG is an old macro present in Libtool 1.5.
+	  # We use it to detect whether tags are supported.  Our
+	  # prefered interface is LT_SUPPORTED_TAG, but it was
+	  # introduced in Libtool 1.6.
+	  if (0 == keys %libtool_tags)
+	    {
+	      # Hardcode the tags supported by Libtool 1.5.
+	      %libtool_tags = (CC => 1, CXX => 1, GCJ => 1, F77 => 1);
+	    }
+	}
+    }
+
+  $tracefh->close;
+}
+
+
+# &scan_autoconf_files ()
+# -----------------------
+# Check whether we use `configure.ac' or `configure.in'.
+# Scan it (and possibly `aclocal.m4') for interesting things.
+# We must scan aclocal.m4 because there might be AC_SUBSTs and such there.
+sub scan_autoconf_files ()
+{
+  # Reinitialize libsources here.  This isn't really necessary,
+  # since we currently assume there is only one configure.ac.  But
+  # that won't always be the case.
+  %libsources = ();
+
+  # Keep track of the youngest configure dependency.
+  $configure_deps_greatest_timestamp = mtime $configure_ac;
+  if (-e 'aclocal.m4')
+    {
+      my $mtime = mtime 'aclocal.m4';
+      $configure_deps_greatest_timestamp = $mtime
+	if $mtime > $configure_deps_greatest_timestamp;
+    }
+
+  scan_autoconf_traces ($configure_ac);
+
+  @configure_input_files = sort keys %make_list;
+  # Set input and output files if not specified by user.
+  if (! @input_files)
+    {
+      @input_files = @configure_input_files;
+      %output_files = %make_list;
+    }
+
+
+  if (! $seen_init_automake)
+    {
+      err_ac ("no proper invocation of AM_INIT_AUTOMAKE was found.\nYou "
+	      . "should verify that $configure_ac invokes AM_INIT_AUTOMAKE,"
+	      . "\nthat aclocal.m4 is present in the top-level directory,\n"
+	      . "and that aclocal.m4 was recently regenerated "
+	      . "(using aclocal).");
+    }
+  else
+    {
+      if (! $seen_automake_version)
+	{
+	  if (-f 'aclocal.m4')
+	    {
+	      error ($seen_init_automake,
+		     "your implementation of AM_INIT_AUTOMAKE comes from " .
+		     "an\nold Automake version.  You should recreate " .
+		     "aclocal.m4\nwith aclocal and run automake again.\n",
+		     # $? = 63 is used to indicate version mismatch to missing.
+		     exit_code => 63);
+	    }
+	  else
+	    {
+	      error ($seen_init_automake,
+		     "no proper implementation of AM_INIT_AUTOMAKE was " .
+		     "found,\nprobably because aclocal.m4 is missing...\n" .
+		     "You should run aclocal to create this file, then\n" .
+		     "run automake again.\n");
+	    }
+	}
+    }
+
+  locate_aux_dir ();
+
+  # Reorder @input_files so that the Makefile that distributes aux
+  # files is processed last.  This is important because each directory
+  # can require auxiliary scripts and we should wait until they have
+  # been installed before distributing them.
+
+  # The Makefile.in that distribute the aux files is the one in
+  # $config_aux_dir or the top-level Makefile.
+  my $auxdirdist = is_make_dir ($config_aux_dir) ? $config_aux_dir : '.';
+  my @new_input_files = ();
+  while (@input_files)
+    {
+      my $in = pop @input_files;
+      my @ins = split (/:/, $output_files{$in});
+      if (dirname ($ins[0]) eq $auxdirdist)
+	{
+	  push @new_input_files, $in;
+	  $automake_will_process_aux_dir = 1;
+	}
+      else
+	{
+	  unshift @new_input_files, $in;
+	}
+    }
+  @input_files = @new_input_files;
+
+  # If neither the auxdir/Makefile nor the ./Makefile are generated
+  # by Automake, we won't distribute the aux files anyway.  Assume
+  # the user know what (s)he does, and pretend we will distribute
+  # them to disable the error in require_file_internal.
+  $automake_will_process_aux_dir = 1 if ! is_make_dir ($auxdirdist);
+
+  # Look for some files we need.  Always check for these.  This
+  # check must be done for every run, even those where we are only
+  # looking at a subdir Makefile.  We must set relative_dir for
+  # maybe_push_required_file to work.
+  $relative_dir = '.';
+  require_conf_file ($configure_ac, FOREIGN, 'install-sh', 'missing');
+  err_am "`install.sh' is an anachronism; use `install-sh' instead"
+    if -f $config_aux_dir . '/install.sh';
+
+  # Preserve dist_common for later.
+  $configure_dist_common = variable_value ('DIST_COMMON') || '';
+
+}
+
+################################################################
+
+# Set up for Cygnus mode.
+sub check_cygnus
+{
+  my $cygnus = option 'cygnus';
+  return unless $cygnus;
+
+  set_strictness ('foreign');
+  set_option ('no-installinfo', $cygnus);
+  set_option ('no-dependencies', $cygnus);
+  set_option ('no-dist', $cygnus);
+
+  err_ac "`AM_MAINTAINER_MODE' required when --cygnus specified"
+    if !$seen_maint_mode;
+}
+
+# Do any extra checking for GNU standards.
+sub check_gnu_standards
+{
+  if ($relative_dir eq '.')
+    {
+      # In top level (or only) directory.
+      require_file ("$am_file.am", GNU,
+		    qw/INSTALL NEWS README AUTHORS ChangeLog/);
+
+      # Accept one of these three licenses; default to COPYING.
+      # Make sure we do not overwrite an existing license.
+      my $license;
+      foreach (qw /COPYING COPYING.LIB COPYING.LESSER/)
+	{
+	  if (-f $_)
+	    {
+	      $license = $_;
+	      last;
+	    }
+	}
+      require_file ("$am_file.am", GNU, 'COPYING')
+	unless $license;
+    }
+
+  for my $opt ('no-installman', 'no-installinfo')
+    {
+      msg ('error-gnu', option $opt,
+	   "option `$opt' disallowed by GNU standards")
+	if option $opt;
+    }
+}
+
+# Do any extra checking for GNITS standards.
+sub check_gnits_standards
+{
+  if ($relative_dir eq '.')
+    {
+      # In top level (or only) directory.
+      require_file ("$am_file.am", GNITS, 'THANKS');
+    }
+}
+
+################################################################
+#
+# Functions to handle files of each language.
+
+# Each `lang_X_rewrite($DIRECTORY, $BASE, $EXT)' function follows a
+# simple formula: Return value is LANG_SUBDIR if the resulting object
+# file should be in a subdir if the source file is, LANG_PROCESS if
+# file is to be dealt with, LANG_IGNORE otherwise.
+
+# Much of the actual processing is handled in
+# handle_single_transform.  These functions exist so that
+# auxiliary information can be recorded for a later cleanup pass.
+# Note that the calls to these functions are computed, so don't bother
+# searching for their precise names in the source.
+
+# This is just a convenience function that can be used to determine
+# when a subdir object should be used.
+sub lang_sub_obj
+{
+    return option 'subdir-objects' ? LANG_SUBDIR : LANG_PROCESS;
+}
+
+# Rewrite a single C source file.
+sub lang_c_rewrite
+{
+  my ($directory, $base, $ext) = @_;
+
+  if (option 'ansi2knr' && $base =~ /_$/)
+    {
+      # FIXME: include line number in error.
+      err_am "C source file `$base.c' would be deleted by ansi2knr rules";
+    }
+
+  my $r = LANG_PROCESS;
+  if (option 'subdir-objects')
+    {
+      $r = LANG_SUBDIR;
+      $base = $directory . '/' . $base
+	unless $directory eq '.' || $directory eq '';
+
+      err_am ("C objects in subdir but `AM_PROG_CC_C_O' "
+	      . "not in `$configure_ac'",
+	      uniq_scope => US_GLOBAL)
+	unless $seen_cc_c_o;
+
+      require_conf_file ("$am_file.am", FOREIGN, 'compile');
+
+      # In this case we already have the directory information, so
+      # don't add it again.
+      $de_ansi_files{$base} = '';
+    }
+  else
+    {
+      $de_ansi_files{$base} = (($directory eq '.' || $directory eq '')
+			       ? ''
+			       : "$directory/");
+    }
+
+    return $r;
+}
+
+# Rewrite a single C++ source file.
+sub lang_cxx_rewrite
+{
+    return &lang_sub_obj;
+}
+
+# Rewrite a single header file.
+sub lang_header_rewrite
+{
+    # Header files are simply ignored.
+    return LANG_IGNORE;
+}
+
+# Rewrite a single yacc file.
+sub lang_yacc_rewrite
+{
+    my ($directory, $base, $ext) = @_;
+
+    my $r = &lang_sub_obj;
+    (my $newext = $ext) =~ tr/y/c/;
+    return ($r, $newext);
+}
+
+# Rewrite a single yacc++ file.
+sub lang_yaccxx_rewrite
+{
+    my ($directory, $base, $ext) = @_;
+
+    my $r = &lang_sub_obj;
+    (my $newext = $ext) =~ tr/y/c/;
+    return ($r, $newext);
+}
+
+# Rewrite a single lex file.
+sub lang_lex_rewrite
+{
+    my ($directory, $base, $ext) = @_;
+
+    my $r = &lang_sub_obj;
+    (my $newext = $ext) =~ tr/l/c/;
+    return ($r, $newext);
+}
+
+# Rewrite a single lex++ file.
+sub lang_lexxx_rewrite
+{
+    my ($directory, $base, $ext) = @_;
+
+    my $r = &lang_sub_obj;
+    (my $newext = $ext) =~ tr/l/c/;
+    return ($r, $newext);
+}
+
+# Rewrite a single assembly file.
+sub lang_asm_rewrite
+{
+    return &lang_sub_obj;
+}
+
+# Rewrite a single Fortran 77 file.
+sub lang_f77_rewrite
+{
+    return LANG_PROCESS;
+}
+
+# Rewrite a single Fortran file.
+sub lang_fc_rewrite
+{
+    return LANG_PROCESS;
+}
+
+# Rewrite a single preprocessed Fortran file.
+sub lang_ppfc_rewrite
+{
+    return LANG_PROCESS;
+}
+
+# Rewrite a single preprocessed Fortran 77 file.
+sub lang_ppf77_rewrite
+{
+    return LANG_PROCESS;
+}
+
+# Rewrite a single ratfor file.
+sub lang_ratfor_rewrite
+{
+    return LANG_PROCESS;
+}
+
+# Rewrite a single Objective C file.
+sub lang_objc_rewrite
+{
+    return &lang_sub_obj;
+}
+
+# Rewrite a single Java file.
+sub lang_java_rewrite
+{
+    return LANG_SUBDIR;
+}
+
+# The lang_X_finish functions are called after all source file
+# processing is done.  Each should handle defining rules for the
+# language, etc.  A finish function is only called if a source file of
+# the appropriate type has been seen.
+
+sub lang_c_finish
+{
+    # Push all libobjs files onto de_ansi_files.  We actually only
+    # push files which exist in the current directory, and which are
+    # genuine source files.
+    foreach my $file (keys %libsources)
+    {
+	if ($file =~ /^(.*)\.[cly]$/ && -f "$relative_dir/$file")
+	{
+	    $de_ansi_files{$1} = ''
+	}
+    }
+
+    if (option 'ansi2knr' && keys %de_ansi_files)
+    {
+ 	# Make all _.c files depend on their corresponding .c files.
+ 	my @objects;
+ 	foreach my $base (sort keys %de_ansi_files)
+ 	{
+	    # Each _.c file must depend on ansi2knr; otherwise it
+	    # might be used in a parallel build before it is built.
+	    # We need to support files in the srcdir and in the build
+	    # dir (because these files might be auto-generated.  But
+	    # we can't use $< -- some makes only define $< during a
+	    # suffix rule.
+	    my $ansfile = $de_ansi_files{$base} . $base . '.c';
+ 	    $output_rules .= ($base . "_.c: $ansfile \$(ANSI2KNR)\n\t"
+			      . '$(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) '
+			      . '`if test -f $(srcdir)/' . $ansfile
+			      . '; then echo $(srcdir)/' . $ansfile
+			      . '; else echo ' . $ansfile . '; fi` '
+			      . "| sed 's/^# \\([0-9]\\)/#line \\1/' "
+			      . '| $(ANSI2KNR) > $@'
+			      # If ansi2knr fails then we shouldn't
+			      # create the _.c file
+			      . " || rm -f \$\@\n");
+ 	    push (@objects, $base . '_.$(OBJEXT)');
+ 	    push (@objects, $base . '_.lo')
+	      if var ('LIBTOOL');
+
+	    # Explicitly clean the _.c files if they are in a
+	    # subdirectory. (In the current directory they get erased
+	    # by a `rm -f *_.c' rule.)
+	    $clean_files{$base . '_.c'} = MOSTLY_CLEAN
+	      if dirname ($base) ne '.';
+ 	}
+
+ 	# Make all _.o (and _.lo) files depend on ansi2knr.
+ 	# Use a sneaky little hack to make it print nicely.
+ 	&pretty_print_rule ('', '', @objects, ':', '$(ANSI2KNR)');
+    }
+}
+
+# This is a yacc helper which is called whenever we have decided to
+# compile a yacc file.
+sub lang_yacc_target_hook
+{
+    my ($self, $aggregate, $output, $input, %transform) = @_;
+
+    my $flag = $aggregate . "_YFLAGS";
+    my $flagvar = var $flag;
+    my $YFLAGSvar = var 'YFLAGS';
+    if (($flagvar && $flagvar->variable_value =~ /$DASH_D_PATTERN/o)
+	|| ($YFLAGSvar && $YFLAGSvar->variable_value =~ /$DASH_D_PATTERN/o))
+    {
+	(my $output_base = $output) =~ s/$KNOWN_EXTENSIONS_PATTERN$//;
+	my $header = $output_base . '.h';
+
+	# Found a `-d' that applies to the compilation of this file.
+	# Add a dependency for the generated header file, and arrange
+	# for that file to be included in the distribution.
+	foreach my $cond (Automake::Rule::define (${header}, 'internal',
+						  RULE_AUTOMAKE, TRUE,
+						  INTERNAL))
+	  {
+	    my $condstr = $cond->subst_string;
+	    $output_rules .= ("$condstr${header}: $output\n"
+			      # Recover from removal of $header
+			      . "$condstr\t\@if test ! -f \$@; then \\\n"
+			      . "$condstr\t  rm -f $output; \\\n"
+			      . "$condstr\t  \$(MAKE) $output; \\\n"
+			      . "$condstr\telse :; fi\n");
+	  }
+	# Distribute the generated file, unless its .y source was
+	# listed in a nodist_ variable.  (&handle_source_transform
+	# will set DIST_SOURCE.)
+	&push_dist_common ($header)
+	  if $transform{'DIST_SOURCE'};
+
+	# If the files are built in the build directory, then we want
+	# to remove them with `make clean'.  If they are in srcdir
+	# they shouldn't be touched.  However, we can't determine this
+	# statically, and the GNU rules say that yacc/lex output files
+	# should be removed by maintainer-clean.  So that's what we
+	# do.
+	$clean_files{$header} = MAINTAINER_CLEAN;
+    }
+    # Erase $OUTPUT on `make maintainer-clean' (by GNU standards).
+    # See the comment above for $HEADER.
+    $clean_files{$output} = MAINTAINER_CLEAN;
+}
+
+# This is a lex helper which is called whenever we have decided to
+# compile a lex file.
+sub lang_lex_target_hook
+{
+    my ($self, $aggregate, $output, $input) = @_;
+    # If the files are built in the build directory, then we want to
+    # remove them with `make clean'.  If they are in srcdir they
+    # shouldn't be touched.  However, we can't determine this
+    # statically, and the GNU rules say that yacc/lex output files
+    # should be removed by maintainer-clean.  So that's what we do.
+    $clean_files{$output} = MAINTAINER_CLEAN;
+}
+
+# This is a helper for both lex and yacc.
+sub yacc_lex_finish_helper
+{
+  return if defined $language_scratch{'lex-yacc-done'};
+  $language_scratch{'lex-yacc-done'} = 1;
+
+  # If there is more than one distinct yacc (resp lex) source file
+  # in a given directory, then the `ylwrap' program is required to
+  # allow parallel builds to work correctly.  FIXME: for now, no
+  # line number.
+  require_conf_file ($configure_ac, FOREIGN, 'ylwrap');
+  &define_variable ('YLWRAP', "$am_config_aux_dir/ylwrap", INTERNAL);
+}
+
+sub lang_yacc_finish
+{
+  return if defined $language_scratch{'yacc-done'};
+  $language_scratch{'yacc-done'} = 1;
+
+  reject_var 'YACCFLAGS', "`YACCFLAGS' obsolete; use `YFLAGS' instead";
+
+  &yacc_lex_finish_helper
+    if count_files_for_language ('yacc') > 1;
+}
+
+
+sub lang_lex_finish
+{
+  return if defined $language_scratch{'lex-done'};
+  $language_scratch{'lex-done'} = 1;
+
+  &yacc_lex_finish_helper
+    if count_files_for_language ('lex') > 1;
+}
+
+
+# Given a hash table of linker names, pick the name that has the most
+# precedence.  This is lame, but something has to have global
+# knowledge in order to eliminate the conflict.  Add more linkers as
+# required.
+sub resolve_linker
+{
+    my (%linkers) = @_;
+
+    foreach my $l (qw(GCJLINK CXXLINK F77LINK FCLINK OBJCLINK))
+    {
+	return $l if defined $linkers{$l};
+    }
+    return 'LINK';
+}
+
+# Called to indicate that an extension was used.
+sub saw_extension
+{
+    my ($ext) = @_;
+    if (! defined $extension_seen{$ext})
+    {
+	$extension_seen{$ext} = 1;
+    }
+    else
+    {
+	++$extension_seen{$ext};
+    }
+}
+
+# Return the number of files seen for a given language.  Knows about
+# special cases we care about.  FIXME: this is hideous.  We need
+# something that involves real language objects.  For instance yacc
+# and yaccxx could both derive from a common yacc class which would
+# know about the strange ylwrap requirement.  (Or better yet we could
+# just not support legacy yacc!)
+sub count_files_for_language
+{
+    my ($name) = @_;
+
+    my @names;
+    if ($name eq 'yacc' || $name eq 'yaccxx')
+    {
+	@names = ('yacc', 'yaccxx');
+    }
+    elsif ($name eq 'lex' || $name eq 'lexxx')
+    {
+	@names = ('lex', 'lexxx');
+    }
+    else
+    {
+	@names = ($name);
+    }
+
+    my $r = 0;
+    foreach $name (@names)
+    {
+	my $lang = $languages{$name};
+	foreach my $ext (@{$lang->extensions})
+	{
+	    $r += $extension_seen{$ext}
+	        if defined $extension_seen{$ext};
+	}
+    }
+
+    return $r
+}
+
+# Called to ask whether source files have been seen . If HEADERS is 1,
+# headers can be included.
+sub saw_sources_p
+{
+    my ($headers) = @_;
+
+    # count all the sources
+    my $count = 0;
+    foreach my $val (values %extension_seen)
+    {
+	$count += $val;
+    }
+
+    if (!$headers)
+    {
+	$count -= count_files_for_language ('header');
+    }
+
+    return $count > 0;
+}
+
+
+# register_language (%ATTRIBUTE)
+# ------------------------------
+# Register a single language.
+# Each %ATTRIBUTE is of the form ATTRIBUTE => VALUE.
+sub register_language (%)
+{
+  my (%option) = @_;
+
+  # Set the defaults.
+  $option{'ansi'} = 0
+    unless defined $option{'ansi'};
+  $option{'autodep'} = 'no'
+    unless defined $option{'autodep'};
+  $option{'linker'} = ''
+    unless defined $option{'linker'};
+  $option{'flags'} = []
+    unless defined $option{'flags'};
+  $option{'output_extensions'} = sub { return ( '.$(OBJEXT)', '.lo' ) }
+    unless defined $option{'output_extensions'};
+
+  my $lang = new Language (%option);
+
+  # Fill indexes.
+  $extension_map{$_} = $lang->name foreach @{$lang->extensions};
+  $languages{$lang->name} = $lang;
+
+  # Update the pattern of known extensions.
+  accept_extensions (@{$lang->extensions});
+
+  # Upate the $suffix_rule map.
+  foreach my $suffix (@{$lang->extensions})
+    {
+      foreach my $dest (&{$lang->output_extensions} ($suffix))
+	{
+	  register_suffix_rule (INTERNAL, $suffix, $dest);
+	}
+    }
+}
+
+# derive_suffix ($EXT, $OBJ)
+# --------------------------
+# This function is used to find a path from a user-specified suffix $EXT
+# to $OBJ or to some other suffix we recognize internally, e.g. `cc'.
+sub derive_suffix ($$)
+{
+  my ($source_ext, $obj) = @_;
+
+  while (! $extension_map{$source_ext}
+	 && $source_ext ne $obj
+	 && exists $suffix_rules->{$source_ext}
+	 && exists $suffix_rules->{$source_ext}{$obj})
+    {
+      $source_ext = $suffix_rules->{$source_ext}{$obj}[0];
+    }
+
+  return $source_ext;
+}
+
+
+################################################################
+
+# Pretty-print something and append to output_rules.
+sub pretty_print_rule
+{
+    $output_rules .= &makefile_wrap (@_);
+}
+
+
+################################################################
+
+
+## -------------------------------- ##
+## Handling the conditional stack.  ##
+## -------------------------------- ##
+
+
+# $STRING
+# make_conditional_string ($NEGATE, $COND)
+# ----------------------------------------
+sub make_conditional_string ($$)
+{
+  my ($negate, $cond) = @_;
+  $cond = "${cond}_TRUE"
+    unless $cond =~ /^TRUE|FALSE$/;
+  $cond = Automake::Condition::conditional_negate ($cond)
+    if $negate;
+  return $cond;
+}
+
+
+# $COND
+# cond_stack_if ($NEGATE, $COND, $WHERE)
+# --------------------------------------
+sub cond_stack_if ($$$)
+{
+  my ($negate, $cond, $where) = @_;
+
+  error $where, "$cond does not appear in AM_CONDITIONAL"
+    if ! $configure_cond{$cond} && $cond !~ /^TRUE|FALSE$/;
+
+  push (@cond_stack, make_conditional_string ($negate, $cond));
+
+  return new Automake::Condition (@cond_stack);
+}
+
+
+# $COND
+# cond_stack_else ($NEGATE, $COND, $WHERE)
+# ----------------------------------------
+sub cond_stack_else ($$$)
+{
+  my ($negate, $cond, $where) = @_;
+
+  if (! @cond_stack)
+    {
+      error $where, "else without if";
+      return FALSE;
+    }
+
+  $cond_stack[$#cond_stack] =
+    Automake::Condition::conditional_negate ($cond_stack[$#cond_stack]);
+
+  # If $COND is given, check against it.
+  if (defined $cond)
+    {
+      $cond = make_conditional_string ($negate, $cond);
+
+      error ($where, "else reminder ($negate$cond) incompatible with "
+	     . "current conditional: $cond_stack[$#cond_stack]")
+	if $cond_stack[$#cond_stack] ne $cond;
+    }
+
+  return new Automake::Condition (@cond_stack);
+}
+
+
+# $COND
+# cond_stack_endif ($NEGATE, $COND, $WHERE)
+# -----------------------------------------
+sub cond_stack_endif ($$$)
+{
+  my ($negate, $cond, $where) = @_;
+  my $old_cond;
+
+  if (! @cond_stack)
+    {
+      error $where, "endif without if";
+      return TRUE;
+    }
+
+  # If $COND is given, check against it.
+  if (defined $cond)
+    {
+      $cond = make_conditional_string ($negate, $cond);
+
+      error ($where, "endif reminder ($negate$cond) incompatible with "
+	     . "current conditional: $cond_stack[$#cond_stack]")
+	if $cond_stack[$#cond_stack] ne $cond;
+    }
+
+  pop @cond_stack;
+
+  return new Automake::Condition (@cond_stack);
+}
+
+
+
+
+
+## ------------------------ ##
+## Handling the variables.  ##
+## ------------------------ ##
+
+
+# &define_pretty_variable ($VAR, $COND, $WHERE, @VALUE)
+# -----------------------------------------------------
+# Like define_variable, but the value is a list, and the variable may
+# be defined conditionally.  The second argument is the Condition
+# under which the value should be defined; this should be the empty
+# string to define the variable unconditionally.  The third argument
+# is a list holding the values to use for the variable.  The value is
+# pretty printed in the output file.
+sub define_pretty_variable ($$$@)
+{
+    my ($var, $cond, $where, @value) = @_;
+
+    if (! vardef ($var, $cond))
+    {
+        Automake::Variable::define ($var, VAR_AUTOMAKE, '', $cond, "@value",
+				    '', $where, VAR_PRETTY);
+	rvar ($var)->rdef ($cond)->set_seen;
+    }
+}
+
+
+# define_variable ($VAR, $VALUE, $WHERE)
+# --------------------------------------
+# Define a new user variable VAR to VALUE, but only if not already defined.
+sub define_variable ($$$)
+{
+    my ($var, $value, $where) = @_;
+    define_pretty_variable ($var, TRUE, $where, $value);
+}
+
+
+# define_files_variable ($VAR, \@BASENAME, $EXTENSION, $WHERE)
+# -----------------------------------------------------------
+# Define the $VAR which content is the list of file names composed of
+# a @BASENAME and the $EXTENSION.
+sub define_files_variable ($\@$$)
+{
+  my ($var, $basename, $extension, $where) = @_;
+  define_variable ($var,
+		   join (' ', map { "$_.$extension" } @$basename),
+		   $where);
+}
+
+
+# Like define_variable, but define a variable to be the configure
+# substitution by the same name.
+sub define_configure_variable ($)
+{
+  my ($var) = @_;
+
+  my $pretty = VAR_ASIS;
+  my $owner = VAR_CONFIGURE;
+
+  # Do not output the ANSI2KNR configure variable -- we AC_SUBST
+  # it in protos.m4, but later redefine it elsewhere.  This is
+  # pretty hacky.  We also don't output AMDEPBACKSLASH: it might
+  # be subst'd by `\', which certainly would not be appreciated by
+  # Make.
+  if ($var eq 'ANSI2KNR' || $var eq 'AMDEPBACKSLASH')
+    {
+      $pretty = VAR_SILENT;
+      $owner = VAR_AUTOMAKE;
+    }
+
+  Automake::Variable::define ($var, $owner, '', TRUE, subst $var,
+			      '', $configure_vars{$var}, $pretty);
+}
+
+
+# define_compiler_variable ($LANG)
+# --------------------------------
+# Define a compiler variable.  We also handle defining the `LT'
+# version of the command when using libtool.
+sub define_compiler_variable ($)
+{
+    my ($lang) = @_;
+
+    my ($var, $value) = ($lang->compiler, $lang->compile);
+    my $libtool_tag = '';
+    $libtool_tag = '--tag=' . $lang->libtool_tag . ' '
+      if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
+    &define_variable ($var, $value, INTERNAL);
+    &define_variable ("LT$var",
+		      "\$(LIBTOOL) $libtool_tag--mode=compile $value",
+		      INTERNAL)
+      if var ('LIBTOOL');
+}
+
+
+# define_linker_variable ($LANG)
+# ------------------------------
+# Define linker variables.
+sub define_linker_variable ($)
+{
+    my ($lang) = @_;
+
+    my ($var, $value) = ($lang->lder, $lang->ld);
+    my $libtool_tag = '';
+    $libtool_tag = '--tag=' . $lang->libtool_tag . ' '
+      if $lang->libtool_tag && exists $libtool_tags{$lang->libtool_tag};
+    # CCLD = $(CC).
+    &define_variable ($lang->lder, $lang->ld, INTERNAL);
+    # CCLINK = $(CCLD) blah blah...
+    &define_variable ($lang->linker,
+		      ((var ('LIBTOOL') ?
+			"\$(LIBTOOL) $libtool_tag--mode=link " : '')
+		       . $lang->link),
+		      INTERNAL);
+}
+
+################################################################
+
+# &check_trailing_slash ($WHERE, $LINE)
+# --------------------------------------
+# Return 1 iff $LINE ends with a slash.
+# Might modify $LINE.
+sub check_trailing_slash ($\$)
+{
+  my ($where, $line) = @_;
+
+  # Ignore `##' lines.
+  return 0 if $$line =~ /$IGNORE_PATTERN/o;
+
+  # Catch and fix a common error.
+  msg "syntax", $where, "whitespace following trailing backslash"
+    if $$line =~ s/\\\s+\n$/\\\n/;
+
+  return $$line =~ /\\$/;
+}
+
+
+# &read_am_file ($AMFILE, $WHERE)
+# -------------------------------
+# Read Makefile.am and set up %contents.  Simultaneously copy lines
+# from Makefile.am into $output_trailer, or define variables as
+# appropriate.  NOTE we put rules in the trailer section.  We want
+# user rules to come after our generated stuff.
+sub read_am_file ($$)
+{
+    my ($amfile, $where) = @_;
+
+    my $am_file = new Automake::XFile ("< $amfile");
+    verb "reading $amfile";
+
+    # Keep track of the youngest output dependency.
+    my $mtime = mtime $amfile;
+    $output_deps_greatest_timestamp = $mtime
+      if $mtime > $output_deps_greatest_timestamp;
+
+    my $spacing = '';
+    my $comment = '';
+    my $blank = 0;
+    my $saw_bk = 0;
+    my $var_look = VAR_ASIS;
+
+    use constant IN_VAR_DEF => 0;
+    use constant IN_RULE_DEF => 1;
+    use constant IN_COMMENT => 2;
+    my $prev_state = IN_RULE_DEF;
+
+    while ($_ = $am_file->getline)
+    {
+        $where->set ("$amfile:$.");
+	if (/$IGNORE_PATTERN/o)
+	{
+	    # Merely delete comments beginning with two hashes.
+	}
+	elsif (/$WHITE_PATTERN/o)
+	{
+	    error $where, "blank line following trailing backslash"
+	      if $saw_bk;
+	    # Stick a single white line before the incoming macro or rule.
+	    $spacing = "\n";
+	    $blank = 1;
+	    # Flush all comments seen so far.
+	    if ($comment ne '')
+	    {
+		$output_vars .= $comment;
+		$comment = '';
+	    }
+	}
+	elsif (/$COMMENT_PATTERN/o)
+	{
+	    # Stick comments before the incoming macro or rule.  Make
+	    # sure a blank line precedes the first block of comments.
+	    $spacing = "\n" unless $blank;
+	    $blank = 1;
+	    $comment .= $spacing . $_;
+	    $spacing = '';
+	    $prev_state = IN_COMMENT;
+	}
+	else
+	{
+	    last;
+	}
+	$saw_bk = check_trailing_slash ($where, $_);
+    }
+
+    # We save the conditional stack on entry, and then check to make
+    # sure it is the same on exit.  This lets us conditionally include
+    # other files.
+    my @saved_cond_stack = @cond_stack;
+    my $cond = new Automake::Condition (@cond_stack);
+
+    my $last_var_name = '';
+    my $last_var_type = '';
+    my $last_var_value = '';
+    my $last_where;
+    # FIXME: shouldn't use $_ in this loop; it is too big.
+    while ($_)
+    {
+        $where->set ("$amfile:$.");
+
+	# Make sure the line is \n-terminated.
+	chomp;
+	$_ .= "\n";
+
+	# Don't look at MAINTAINER_MODE_TRUE here.  That shouldn't be
+	# used by users.  @MAINT@ is an anachronism now.
+	$_ =~ s/\@MAINT\@//g
+	    unless $seen_maint_mode;
+
+	my $new_saw_bk = check_trailing_slash ($where, $_);
+
+	if (/$IGNORE_PATTERN/o)
+	{
+	    # Merely delete comments beginning with two hashes.
+
+	    # Keep any backslash from the previous line.
+	    $new_saw_bk = $saw_bk;
+	}
+	elsif (/$WHITE_PATTERN/o)
+	{
+	    # Stick a single white line before the incoming macro or rule.
+	    $spacing = "\n";
+	    error $where, "blank line following trailing backslash"
+	      if $saw_bk;
+	}
+	elsif (/$COMMENT_PATTERN/o)
+	{
+	    error $where, "comment following trailing backslash"
+	      if $saw_bk && $comment eq '';
+
+	    # Stick comments before the incoming macro or rule.
+	    $comment .= $spacing . $_;
+	    $spacing = '';
+	    $prev_state = IN_COMMENT;
+	}
+	elsif ($saw_bk)
+	{
+	    if ($prev_state == IN_RULE_DEF)
+	    {
+	      my $cond = new Automake::Condition @cond_stack;
+	      $output_trailer .= $cond->subst_string;
+	      $output_trailer .= $_;
+	    }
+	    elsif ($prev_state == IN_COMMENT)
+	    {
+		# If the line doesn't start with a `#', add it.
+		# We do this because a continued comment like
+		#   # A = foo \
+		#         bar \
+		#         baz
+		# is not portable.  BSD make doesn't honor
+		# escaped newlines in comments.
+		s/^#?/#/;
+		$comment .= $spacing . $_;
+	    }
+	    else # $prev_state == IN_VAR_DEF
+	    {
+	      $last_var_value .= ' '
+		unless $last_var_value =~ /\s$/;
+	      $last_var_value .= $_;
+
+	      if (!/\\$/)
+		{
+		  Automake::Variable::define ($last_var_name, VAR_MAKEFILE,
+					      $last_var_type, $cond,
+					      $last_var_value, $comment,
+					      $last_where, VAR_ASIS)
+		    if $cond != FALSE;
+		  $comment = $spacing = '';
+		}
+	    }
+	}
+
+	elsif (/$IF_PATTERN/o)
+	  {
+	    $cond = cond_stack_if ($1, $2, $where);
+	  }
+	elsif (/$ELSE_PATTERN/o)
+	  {
+	    $cond = cond_stack_else ($1, $2, $where);
+	  }
+	elsif (/$ENDIF_PATTERN/o)
+	  {
+	    $cond = cond_stack_endif ($1, $2, $where);
+	  }
+
+	elsif (/$RULE_PATTERN/o)
+	{
+	    # Found a rule.
+	    $prev_state = IN_RULE_DEF;
+
+	    # For now we have to output all definitions of user rules
+	    # and can't diagnose duplicates (see the comment in
+	    # rule_define). So we go on and ignore the return value.
+	    Automake::Rule::define ($1, $amfile, RULE_USER, $cond, $where);
+
+	    check_variable_expansions ($_, $where);
+
+	    $output_trailer .= $comment . $spacing;
+	    my $cond = new Automake::Condition @cond_stack;
+	    $output_trailer .= $cond->subst_string;
+            $output_trailer .= $_;
+	    $comment = $spacing = '';
+	}
+	elsif (/$ASSIGNMENT_PATTERN/o)
+	{
+	    # Found a macro definition.
+	    $prev_state = IN_VAR_DEF;
+	    $last_var_name = $1;
+	    $last_var_type = $2;
+	    $last_var_value = $3;
+	    $last_where = $where->clone;
+	    if ($3 ne '' && substr ($3, -1) eq "\\")
+	      {
+		# We preserve the `\' because otherwise the long lines
+		# that are generated will be truncated by broken
+		# `sed's.
+		$last_var_value = $3 . "\n";
+	      }
+	    # Normally we try to output variable definitions in the
+	    # same format they were input.  However, POSIX compliant
+	    # systems are not required to support lines longer than
+	    # 2048 bytes (most notably, some sed implementation are
+	    # limited to 4000 bytes, and sed is used by config.status
+	    # to rewrite Makefile.in into Makefile).  Moreover nobody
+	    # would really write such long lines by hand since it is
+	    # hardly maintainable.  So if a line is longer that 1000
+	    # bytes (an arbitrary limit), assume it has been
+	    # automatically generated by some tools, and flatten the
+	    # variable definition.  Otherwise, keep the variable as it
+	    # as been input.
+	    $var_look = VAR_PRETTY if length ($last_var_value) >= 1000;
+
+	    if (!/\\$/)
+	      {
+		Automake::Variable::define ($last_var_name, VAR_MAKEFILE,
+					    $last_var_type, $cond,
+					    $last_var_value, $comment,
+					    $last_where, $var_look)
+		  if $cond != FALSE;
+		$comment = $spacing = '';
+		$var_look = VAR_ASIS;
+	      }
+	}
+        elsif (/$INCLUDE_PATTERN/o)
+        {
+            my $path = $1;
+
+            if ($path =~ s/^\$\(top_srcdir\)\///)
+	      {
+                push (@include_stack, "\$\(top_srcdir\)/$path");
+		# Distribute any included file.
+
+		# Always use the $(top_srcdir) prefix in DIST_COMMON,
+		# otherwise OSF make will implicitly copy the included
+		# file in the build tree during `make distdir' to satisfy
+		# the dependency.
+		# (subdircond2.test and subdircond3.test will fail.)
+		push_dist_common ("\$\(top_srcdir\)/$path");
+	      }
+            else
+	      {
+                $path =~ s/\$\(srcdir\)\///;
+                push (@include_stack, "\$\(srcdir\)/$path");
+		# Always use the $(srcdir) prefix in DIST_COMMON,
+		# otherwise OSF make will implicitly copy the included
+		# file in the build tree during `make distdir' to satisfy
+		# the dependency.
+		# (subdircond2.test and subdircond3.test will fail.)
+		push_dist_common ("\$\(srcdir\)/$path");
+		$path = $relative_dir . "/" . $path if $relative_dir ne '.';
+	      }
+	    $where->push_context ("`$path' included from here");
+            &read_am_file ($path, $where);
+	    $where->pop_context;
+        }
+	else
+        {
+	    # This isn't an error; it is probably a continued rule.
+	    # In fact, this is what we assume.
+	    $prev_state = IN_RULE_DEF;
+	    check_variable_expansions ($_, $where);
+	    $output_trailer .= $comment . $spacing;
+	    my $cond = new Automake::Condition @cond_stack;
+	    $output_trailer .= $cond->subst_string;
+	    $output_trailer .= $_;
+	    $comment = $spacing = '';
+	    error $where, "`#' comment at start of rule is unportable"
+	      if $_ =~ /^\t\s*\#/;
+	}
+
+	$saw_bk = $new_saw_bk;
+        $_ = $am_file->getline;
+    }
+
+    $output_trailer .= $comment;
+
+    error ($where, "trailing backslash on last line")
+      if $saw_bk;
+
+    error ($where, (@cond_stack ? "unterminated conditionals: @cond_stack"
+		    : "too many conditionals closed in include file"))
+      if "@saved_cond_stack" ne "@cond_stack";
+}
+
+
+# define_standard_variables ()
+# ----------------------------
+# A helper for read_main_am_file which initializes configure variables
+# and variables from header-vars.am.
+sub define_standard_variables
+{
+  my $saved_output_vars = $output_vars;
+  my ($comments, undef, $rules) =
+    file_contents_internal (1, "$libdir/am/header-vars.am",
+			    new Automake::Location);
+
+  foreach my $var (sort keys %configure_vars)
+    {
+      &define_configure_variable ($var);
+    }
+
+  $output_vars .= $comments . $rules;
+}
+
+# Read main am file.
+sub read_main_am_file
+{
+    my ($amfile) = @_;
+
+    # This supports the strange variable tricks we are about to play.
+    prog_error (macros_dump () . "variable defined before read_main_am_file")
+      if (scalar (variables) > 0);
+
+    # Generate copyright header for generated Makefile.in.
+    # We do discard the output of predefined variables, handled below.
+    $output_vars = ("# $in_file_name generated by automake "
+		   . $VERSION . " from $am_file_name.\n");
+    $output_vars .= '# ' . subst ('configure_input') . "\n";
+    $output_vars .= $gen_copyright;
+
+    # We want to predefine as many variables as possible.  This lets
+    # the user set them with `+=' in Makefile.am.
+    &define_standard_variables;
+
+    # Read user file, which might override some of our values.
+    &read_am_file ($amfile, new Automake::Location);
+}
+
+
+
+################################################################
+
+# $FLATTENED
+# &flatten ($STRING)
+# ------------------
+# Flatten the $STRING and return the result.
+sub flatten
+{
+  $_ = shift;
+
+  s/\\\n//somg;
+  s/\s+/ /g;
+  s/^ //;
+  s/ $//;
+
+  return $_;
+}
+
+
+# @PARAGRAPHS
+# &make_paragraphs ($MAKEFILE, [%TRANSFORM])
+# ------------------------------------------
+# Load a $MAKEFILE, apply the %TRANSFORM, and return it as a list of
+# paragraphs.
+sub make_paragraphs ($%)
+{
+  my ($file, %transform) = @_;
+
+  # Complete %transform with global options and make it a Perl $command.
+  # Note that %transform goes last, so it overrides global options.
+  my $command =
+    "s/$IGNORE_PATTERN//gm;"
+    . transform ('CYGNUS'      => !! option 'cygnus',
+		 'MAINTAINER-MODE'
+		 => $seen_maint_mode ? subst ('MAINTAINER_MODE_TRUE') : '',
+
+		 'BZIP2'       => !! option 'dist-bzip2',
+		 'COMPRESS'    => !! option 'dist-tarZ',
+		 'GZIP'        =>  ! option 'no-dist-gzip',
+		 'SHAR'        => !! option 'dist-shar',
+		 'ZIP'         => !! option 'dist-zip',
+
+		 'INSTALL-INFO' =>  ! option 'no-installinfo',
+		 'INSTALL-MAN'  =>  ! option 'no-installman',
+		 'CK-NEWS'      => !! option 'check-news',
+
+		 'SUBDIRS'      => !! var ('SUBDIRS'),
+		 'TOPDIR'       => backname ($relative_dir),
+		 'TOPDIR_P'     => $relative_dir eq '.',
+
+		 'BUILD'    => ($seen_canonical >= AC_CANONICAL_BUILD),
+		 'HOST'     => ($seen_canonical >= AC_CANONICAL_HOST),
+		 'TARGET'   => ($seen_canonical >= AC_CANONICAL_TARGET),
+
+		 'LIBTOOL'      => !! var ('LIBTOOL'),
+		 'NONLIBTOOL'   => 1,
+		 'FIRST'        => ! $transformed_files{$file},
+		 %transform)
+    # We don't need more than two consecutive new-lines.
+    . 's/\n{3,}/\n\n/g';
+
+  $transformed_files{$file} = 1;
+
+  # Swallow the file and apply the COMMAND.
+  my $fc_file = new Automake::XFile "< $file";
+  # Looks stupid?
+  verb "reading $file";
+  my $saved_dollar_slash = $/;
+  undef $/;
+  $_ = $fc_file->getline;
+  $/ = $saved_dollar_slash;
+  eval $command;
+  $fc_file->close;
+  my $content = $_;
+
+  # Split at unescaped new lines.
+  my @lines = split (/(?<!\\)\n/, $content);
+  my @res;
+
+  while (defined ($_ = shift @lines))
+    {
+      my $paragraph = "$_";
+      # If we are a rule, eat as long as we start with a tab.
+      if (/$RULE_PATTERN/smo)
+	{
+	  while (defined ($_ = shift @lines) && $_ =~ /^\t/)
+	    {
+	      $paragraph .= "\n$_";
+	    }
+	  unshift (@lines, $_);
+	}
+
+      # If we are a comments, eat as much comments as you can.
+      elsif (/$COMMENT_PATTERN/smo)
+	{
+	  while (defined ($_ = shift @lines)
+		 && $_ =~ /$COMMENT_PATTERN/smo)
+	    {
+	      $paragraph .= "\n$_";
+	    }
+	  unshift (@lines, $_);
+	}
+
+      push @res, $paragraph;
+      $paragraph = '';
+    }
+
+  return @res;
+}
+
+
+
+# ($COMMENT, $VARIABLES, $RULES)
+# &file_contents_internal ($IS_AM, $FILE, $WHERE, [%TRANSFORM])
+# -------------------------------------------------------------
+# Return contents of a file from $libdir/am, automatically skipping
+# macros or rules which are already known. $IS_AM iff the caller is
+# reading an Automake file (as opposed to the user's Makefile.am).
+sub file_contents_internal ($$$%)
+{
+    my ($is_am, $file, $where, %transform) = @_;
+
+    $where->set ($file);
+
+    my $result_vars = '';
+    my $result_rules = '';
+    my $comment = '';
+    my $spacing = '';
+
+    # The following flags are used to track rules spanning across
+    # multiple paragraphs.
+    my $is_rule = 0;		# 1 if we are processing a rule.
+    my $discard_rule = 0;	# 1 if the current rule should not be output.
+
+    # We save the conditional stack on entry, and then check to make
+    # sure it is the same on exit.  This lets us conditionally include
+    # other files.
+    my @saved_cond_stack = @cond_stack;
+    my $cond = new Automake::Condition (@cond_stack);
+
+    foreach (make_paragraphs ($file, %transform))
+    {
+        # FIXME: no line number available.
+        $where->set ($file);
+
+        # Sanity checks.
+	error $where, "blank line following trailing backslash:\n$_"
+	  if /\\$/;
+	error $where, "comment following trailing backslash:\n$_"
+	  if /\\#/;
+
+ 	if (/^$/)
+ 	{
+	    $is_rule = 0;
+ 	    # Stick empty line before the incoming macro or rule.
+ 	    $spacing = "\n";
+ 	}
+ 	elsif (/$COMMENT_PATTERN/mso)
+ 	{
+	    $is_rule = 0;
+ 	    # Stick comments before the incoming macro or rule.
+ 	    $comment = "$_\n";
+	}
+
+	# Handle inclusion of other files.
+        elsif (/$INCLUDE_PATTERN/o)
+        {
+	    if ($cond != FALSE)
+	      {
+		my $file = ($is_am ? "$libdir/am/" : '') . $1;
+		$where->push_context ("`$file' included from here");
+		# N-ary `.=' fails.
+		my ($com, $vars, $rules)
+		  = file_contents_internal ($is_am, $file, $where, %transform);
+		$where->pop_context;
+		$comment .= $com;
+		$result_vars .= $vars;
+		$result_rules .= $rules;
+	      }
+        }
+
+        # Handling the conditionals.
+        elsif (/$IF_PATTERN/o)
+	  {
+	    $cond = cond_stack_if ($1, $2, $file);
+	  }
+	elsif (/$ELSE_PATTERN/o)
+	  {
+	    $cond = cond_stack_else ($1, $2, $file);
+	  }
+	elsif (/$ENDIF_PATTERN/o)
+	  {
+	    $cond = cond_stack_endif ($1, $2, $file);
+	  }
+
+        # Handling rules.
+ 	elsif (/$RULE_PATTERN/mso)
+ 	{
+	  $is_rule = 1;
+	  $discard_rule = 0;
+	  # Separate relationship from optional actions: the first
+	  # `new-line tab" not preceded by backslash (continuation
+	  # line).
+	  my $paragraph = $_;
+	  /^(.*?)(?:(?<!\\)\n(\t.*))?$/s;
+	  my ($relationship, $actions) = ($1, $2 || '');
+
+	  # Separate targets from dependencies: the first colon.
+	  $relationship =~ /^([^:]+\S+) *: *(.*)$/som;
+	  my ($targets, $dependencies) = ($1, $2);
+	  # Remove the escaped new lines.
+	  # I don't know why, but I have to use a tmp $flat_deps.
+	  my $flat_deps = &flatten ($dependencies);
+	  my @deps = split (' ', $flat_deps);
+
+	  foreach (split (' ' , $targets))
+	    {
+	      # FIXME: 1. We are not robust to people defining several targets
+	      # at once, only some of them being in %dependencies.  The
+	      # actions from the targets in %dependencies are usually generated
+	      # from the content of %actions, but if some targets in $targets
+	      # are not in %dependencies the ELSE branch will output
+	      # a rule for all $targets (i.e. the targets which are both
+	      # in %dependencies and $targets will have two rules).
+
+	      # FIXME: 2. The logic here is not able to output a
+	      # multi-paragraph rule several time (e.g. for each condition
+	      # it is defined for) because it only knows the first paragraph.
+
+	      # FIXME: 3. We are not robust to people defining a subset
+	      # of a previously defined "multiple-target" rule.  E.g.
+	      # `foo:' after `foo bar:'.
+
+	      # Output only if not in FALSE.
+	      if (defined $dependencies{$_} && $cond != FALSE)
+		{
+		  &depend ($_, @deps);
+		  if ($actions{$_})
+		    {
+		      $actions{$_} .= "\n$actions" if $actions;
+		    }
+		  else
+		    {
+		      $actions{$_} = $actions;
+		    }
+		}
+	      else
+		{
+		  # Free-lance dependency.  Output the rule for all the
+		  # targets instead of one by one.
+		  my @undefined_conds =
+		    Automake::Rule::define ($targets, $file,
+					    $is_am ? RULE_AUTOMAKE : RULE_USER,
+					    $cond, $where);
+		  for my $undefined_cond (@undefined_conds)
+		    {
+		      my $condparagraph = $paragraph;
+		      $condparagraph =~ s/^/$undefined_cond->subst_string/gme;
+		      $result_rules .= "$spacing$comment$condparagraph\n";
+		    }
+		  if (scalar @undefined_conds == 0)
+		    {
+		      # Remember to discard next paragraphs
+		      # if they belong to this rule.
+		      # (but see also FIXME: #2 above.)
+		      $discard_rule = 1;
+		    }
+		  $comment = $spacing = '';
+		  last;
+		}
+	    }
+ 	}
+
+ 	elsif (/$ASSIGNMENT_PATTERN/mso)
+ 	{
+	    my ($var, $type, $val) = ($1, $2, $3);
+ 	    error $where, "variable `$var' with trailing backslash"
+	      if /\\$/;
+
+	    $is_rule = 0;
+
+	    Automake::Variable::define ($var,
+					$is_am ? VAR_AUTOMAKE : VAR_MAKEFILE,
+					$type, $cond, $val, $comment, $where,
+					VAR_ASIS)
+	      if $cond != FALSE;
+
+ 	    $comment = $spacing = '';
+ 	}
+ 	else
+ 	{
+	    # This isn't an error; it is probably some tokens which
+	    # configure is supposed to replace, such as `@SET-MAKE@',
+	    # or some part of a rule cut by an if/endif.
+  	    if (! $cond->false && ! ($is_rule && $discard_rule))
+	      {
+		s/^/$cond->subst_string/gme;
+		$result_rules .= "$spacing$comment$_\n";
+	      }
+ 	    $comment = $spacing = '';
+ 	}
+    }
+
+    error ($where, @cond_stack ?
+	   "unterminated conditionals: @cond_stack" :
+	   "too many conditionals closed in include file")
+      if "@saved_cond_stack" ne "@cond_stack";
+
+    return ($comment, $result_vars, $result_rules);
+}
+
+
+# $CONTENTS
+# &file_contents ($BASENAME, $WHERE, [%TRANSFORM])
+# ------------------------------------------------
+# Return contents of a file from $libdir/am, automatically skipping
+# macros or rules which are already known.
+sub file_contents ($$%)
+{
+    my ($basename, $where, %transform) = @_;
+    my ($comments, $variables, $rules) =
+      file_contents_internal (1, "$libdir/am/$basename.am", $where,
+			      %transform);
+    return "$comments$variables$rules";
+}
+
+
+# $REGEXP
+# &transform (%PAIRS)
+# -------------------
+# For each ($TOKEN, $VAL) in %PAIRS produce a replacement expression
+# suitable for file_contents which:
+#   - replaces %$TOKEN% with $VAL,
+#   - enables/disables ?$TOKEN? and ?!$TOKEN?,
+#   - replaces %?$TOKEN% with TRUE or FALSE.
+sub transform (%)
+{
+  my (%pairs) = @_;
+  my $result = '';
+
+  while (my ($token, $val) = each %pairs)
+    {
+      $result .= "s/\Q%$token%\E/\Q$val\E/gm;";
+      if ($val)
+	{
+	  $result .= "s/\Q?$token?\E//gm;s/^.*\Q?!$token?\E.*\\n//gm;";
+	  $result .= "s/\Q%?$token%\E/TRUE/gm;";
+	}
+      else
+	{
+	  $result .= "s/\Q?!$token?\E//gm;s/^.*\Q?$token?\E.*\\n//gm;";
+	  $result .= "s/\Q%?$token%\E/FALSE/gm;";
+	}
+    }
+
+  return $result;
+}
+
+
+# &append_exeext ($MACRO)
+# -----------------------
+# Macro is an Automake magic macro which primary is PROGRAMS, e.g.
+# bin_PROGRAMS.  Make sure these programs have $(EXEEXT) appended.
+sub append_exeext ($)
+{
+  my ($macro) = @_;
+
+  prog_error "append_exeext ($macro)"
+    unless $macro =~ /_PROGRAMS$/;
+
+  transform_variable_recursively
+    ($macro, $macro, 'am__EXEEXT', 0, INTERNAL,
+     sub {
+       my ($subvar, $val, $cond, $full_cond) = @_;
+       # Append $(EXEEXT) unless the user did it already, or it's a
+       # @substitution@.
+       $val .= '$(EXEEXT)' unless $val =~ /(?:\$\(EXEEXT\)$|^[@]\w+[@]$)/;
+       return $val;
+     });
+}
+
+
+# @PREFIX
+# &am_primary_prefixes ($PRIMARY, $CAN_DIST, @PREFIXES)
+# -----------------------------------------------------
+# Find all variable prefixes that are used for install directories.  A
+# prefix `zar' qualifies iff:
+#
+# * `zardir' is a variable.
+# * `zar_PRIMARY' is a variable.
+#
+# As a side effect, it looks for misspellings.  It is an error to have
+# a variable ending in a "reserved" suffix whose prefix is unknown, e.g.
+# "bin_PROGRAMS".  However, unusual prefixes are allowed if a variable
+# of the same name (with "dir" appended) exists.  For instance, if the
+# variable "zardir" is defined, then "zar_PROGRAMS" becomes valid.
+# This is to provide a little extra flexibility in those cases which
+# need it.
+sub am_primary_prefixes ($$@)
+{
+  my ($primary, $can_dist, @prefixes) = @_;
+
+  local $_;
+  my %valid = map { $_ => 0 } @prefixes;
+  $valid{'EXTRA'} = 0;
+  foreach my $var (variables)
+    {
+      # Automake is allowed to define variables that look like primaries
+      # but which aren't.  E.g. INSTALL_sh_DATA.
+      # Autoconf can also define variables like INSTALL_DATA, so
+      # ignore all configure variables (at least those which are not
+      # redefined in Makefile.am).
+      # FIXME: We should make sure that these variables are not
+      # conditionally defined (or else adjust the condition below).
+      my $def = $var->def (TRUE);
+      next if $def && $def->owner != VAR_MAKEFILE;
+
+      my $varname = $var->name;
+
+      if ($varname =~ /^(nobase_)?(dist_|nodist_)?(.*)_$primary$/)
+	{
+	  my ($base, $dist, $X) = ($1 || '', $2 || '', $3 || '');
+	  if ($dist ne '' && ! $can_dist)
+            {
+	      err_var ($var,
+		       "invalid variable `$varname': `dist' is forbidden");
+	    }
+	  # Standard directories must be explicitly allowed.
+	  elsif (! defined $valid{$X} && exists $standard_prefix{$X})
+	    {
+	      err_var ($var,
+		       "`${X}dir' is not a legitimate directory " .
+		       "for `$primary'");
+	    }
+	  # A not explicitly valid directory is allowed if Xdir is defined.
+	  elsif (! defined $valid{$X} &&
+		 $var->requires_variables ("`$varname' is used", "${X}dir"))
+	    {
+	      # Nothing to do.  Any error message has been output
+	      # by $var->requires_variables.
+	    }
+	  else
+	    {
+	      # Ensure all extended prefixes are actually used.
+	      $valid{"$base$dist$X"} = 1;
+	    }
+	}
+    }
+
+  # Return only those which are actually defined.
+  return sort grep { var ($_ . '_' . $primary) } keys %valid;
+}
+
+
+# Handle `where_HOW' variable magic.  Does all lookups, generates
+# install code, and possibly generates code to define the primary
+# variable.  The first argument is the name of the .am file to munge,
+# the second argument is the primary variable (e.g. HEADERS), and all
+# subsequent arguments are possible installation locations.
+#
+# Returns list of [$location, $value] pairs, where
+# $value's are the values in all where_HOW variable, and $location
+# there associated location (the place here their parent variables were
+# defined).
+#
+# FIXME: this should be rewritten to be cleaner.  It should be broken
+# up into multiple functions.
+#
+# Usage is: am_install_var (OPTION..., file, HOW, where...)
+sub am_install_var
+{
+  my (@args) = @_;
+
+  my $do_require = 1;
+  my $can_dist = 0;
+  my $default_dist = 0;
+  while (@args)
+    {
+      if ($args[0] eq '-noextra')
+	{
+	  $do_require = 0;
+	}
+      elsif ($args[0] eq '-candist')
+	{
+	  $can_dist = 1;
+	}
+      elsif ($args[0] eq '-defaultdist')
+	{
+	  $default_dist = 1;
+	  $can_dist = 1;
+	}
+      elsif ($args[0] !~ /^-/)
+	{
+	  last;
+	}
+      shift (@args);
+    }
+
+  my ($file, $primary, @prefix) = @args;
+
+  # Now that configure substitutions are allowed in where_HOW
+  # variables, it is an error to actually define the primary.  We
+  # allow `JAVA', as it is customarily used to mean the Java
+  # interpreter.  This is but one of several Java hacks.  Similarly,
+  # `PYTHON' is customarily used to mean the Python interpreter.
+  reject_var $primary, "`$primary' is an anachronism"
+    unless $primary eq 'JAVA' || $primary eq 'PYTHON';
+
+  # Get the prefixes which are valid and actually used.
+  @prefix = am_primary_prefixes ($primary, $can_dist, @prefix);
+
+  # If a primary includes a configure substitution, then the EXTRA_
+  # form is required.  Otherwise we can't properly do our job.
+  my $require_extra;
+
+  my @used = ();
+  my @result = ();
+
+  foreach my $X (@prefix)
+    {
+      my $nodir_name = $X;
+      my $one_name = $X . '_' . $primary;
+      my $one_var = var $one_name;
+
+      my $strip_subdir = 1;
+      # If subdir prefix should be preserved, do so.
+      if ($nodir_name =~ /^nobase_/)
+	{
+	  $strip_subdir = 0;
+	  $nodir_name =~ s/^nobase_//;
+	}
+
+      # If files should be distributed, do so.
+      my $dist_p = 0;
+      if ($can_dist)
+	{
+	  $dist_p = (($default_dist && $nodir_name !~ /^nodist_/)
+		     || (! $default_dist && $nodir_name =~ /^dist_/));
+	  $nodir_name =~ s/^(dist|nodist)_//;
+	}
+
+
+      # Use the location of the currently processed variable.
+      # We are not processing a particular condition, so pick the first
+      # available.
+      my $tmpcond = $one_var->conditions->one_cond;
+      my $where = $one_var->rdef ($tmpcond)->location->clone;
+
+      # Append actual contents of where_PRIMARY variable to
+      # @result, skipping @substitutions@.
+      foreach my $locvals ($one_var->value_as_list_recursive (location => 1))
+	{
+	  my ($loc, $value) = @$locvals;
+	  # Skip configure substitutions.
+	  if ($value =~ /^\@.*\@$/)
+	    {
+	      if ($nodir_name eq 'EXTRA')
+		{
+		  error ($where,
+			 "`$one_name' contains configure substitution, "
+			 . "but shouldn't");
+		}
+	      # Check here to make sure variables defined in
+	      # configure.ac do not imply that EXTRA_PRIMARY
+	      # must be defined.
+	      elsif (! defined $configure_vars{$one_name})
+		{
+		  $require_extra = $one_name
+		    if $do_require;
+		}
+	    }
+	  else
+	    {
+	      push (@result, $locvals);
+	    }
+	}
+      # A blatant hack: we rewrite each _PROGRAMS primary to include
+      # EXEEXT.
+      append_exeext ($one_name)
+	if $primary eq 'PROGRAMS';
+      # "EXTRA" shouldn't be used when generating clean targets,
+      # all, or install targets.  We used to warn if EXTRA_FOO was
+      # defined uselessly, but this was annoying.
+      next
+	if $nodir_name eq 'EXTRA';
+
+      if ($nodir_name eq 'check')
+	{
+	  push (@check, '$(' . $one_name . ')');
+	}
+      else
+	{
+	  push (@used, '$(' . $one_name . ')');
+	}
+
+      # Is this to be installed?
+      my $install_p = $nodir_name ne 'noinst' && $nodir_name ne 'check';
+
+      # If so, with install-exec? (or install-data?).
+      my $exec_p = ($nodir_name =~ /$EXEC_DIR_PATTERN/o);
+
+      my $check_options_p = $install_p && !! option 'std-options';
+
+      # Use the location of the currently processed variable as context.
+      $where->push_context ("while processing `$one_name'");
+
+      # The variable containing all file to distribute.
+      my $distvar = "\$($one_name)";
+      $distvar = shadow_unconditionally ($one_name, $where)
+	if ($dist_p && $one_var->has_conditional_contents);
+
+      # Singular form of $PRIMARY.
+      (my $one_primary = $primary) =~ s/S$//;
+      $output_rules .= &file_contents ($file, $where,
+				       PRIMARY     => $primary,
+				       ONE_PRIMARY => $one_primary,
+				       DIR         => $X,
+				       NDIR        => $nodir_name,
+				       BASE        => $strip_subdir,
+
+				       EXEC      => $exec_p,
+				       INSTALL   => $install_p,
+				       DIST      => $dist_p,
+ 				       DISTVAR   => $distvar,
+				       'CK-OPTS' => $check_options_p);
+    }
+
+  # The JAVA variable is used as the name of the Java interpreter.
+  # The PYTHON variable is used as the name of the Python interpreter.
+  if (@used && $primary ne 'JAVA' && $primary ne 'PYTHON')
+    {
+      # Define it.
+      define_pretty_variable ($primary, TRUE, INTERNAL, @used);
+      $output_vars .= "\n";
+    }
+
+  err_var ($require_extra,
+	   "`$require_extra' contains configure substitution,\n"
+	   . "but `EXTRA_$primary' not defined")
+    if ($require_extra && ! var ('EXTRA_' . $primary));
+
+  # Push here because PRIMARY might be configure time determined.
+  push (@all, '$(' . $primary . ')')
+    if @used && $primary ne 'JAVA' && $primary ne 'PYTHON';
+
+  # Make the result unique.  This lets the user use conditionals in
+  # a natural way, but still lets us program lazily -- we don't have
+  # to worry about handling a particular object more than once.
+  # We will keep only one location per object.
+  my %result = ();
+  for my $pair (@result)
+    {
+      my ($loc, $val) = @$pair;
+      $result{$val} = $loc;
+    }
+  my @l = sort keys %result;
+  return map { [$result{$_}->clone, $_] } @l;
+}
+
+
+################################################################
+
+# Each key in this hash is the name of a directory holding a
+# Makefile.in.  These variables are local to `is_make_dir'.
+my %make_dirs = ();
+my $make_dirs_set = 0;
+
+sub is_make_dir
+{
+    my ($dir) = @_;
+    if (! $make_dirs_set)
+    {
+	foreach my $iter (@configure_input_files)
+	{
+	    $make_dirs{dirname ($iter)} = 1;
+	}
+	# We also want to notice Makefile.in's.
+	foreach my $iter (@other_input_files)
+	{
+	    if ($iter =~ /Makefile\.in$/)
+	    {
+		$make_dirs{dirname ($iter)} = 1;
+	    }
+	}
+	$make_dirs_set = 1;
+    }
+    return defined $make_dirs{$dir};
+}
+
+################################################################
+
+# Find the aux dir.  This should match the algorithm used by
+# ./configure. (See the Autoconf documentation for for
+# AC_CONFIG_AUX_DIR.)
+sub locate_aux_dir ()
+{
+  if (! $config_aux_dir_set_in_configure_ac)
+    {
+      # The default auxiliary directory is the first
+      # of ., .., or ../.. that contains install-sh.
+      # Assume . if install-sh doesn't exist yet.
+      for my $dir (qw (. .. ../..))
+	{
+	  if (-f "$dir/install-sh")
+	    {
+	      $config_aux_dir = $dir;
+	      last;
+	    }
+	}
+      $config_aux_dir = '.' unless $config_aux_dir;
+    }
+  # Avoid unsightly '/.'s.
+  $am_config_aux_dir =
+    '$(top_srcdir)' . ($config_aux_dir eq '.' ? "" : "/$config_aux_dir");
+  $am_config_aux_dir =~ s,/*$,,;
+}
+
+
+# &maybe_push_required_file ($DIR, $FILE, $FULLFILE)
+# --------------------------------------------------
+# See if we want to push this file onto dist_common.  This function
+# encodes the rules for deciding when to do so.
+sub maybe_push_required_file
+{
+  my ($dir, $file, $fullfile) = @_;
+
+  if ($dir eq $relative_dir)
+    {
+      push_dist_common ($file);
+      return 1;
+    }
+  elsif ($relative_dir eq '.' && ! &is_make_dir ($dir))
+    {
+      # If we are doing the topmost directory, and the file is in a
+      # subdir which does not have a Makefile, then we distribute it
+      # here.
+
+      # If a required file is above the source tree, it is important
+      # to prefix it with `$(srcdir)' so that no VPATH search is
+      # performed.  Otherwise problems occur with Make implementations
+      # that rewrite and simplify rules whose dependencies are found in a
+      # VPATH location.  Here is an example with OSF1/Tru64 Make.
+      #
+      #   % cat Makefile
+      #   VPATH = sub
+      #   distdir: ../a
+      #	          echo ../a
+      #   % ls
+      #   Makefile a
+      #   % make
+      #   echo a
+      #   a
+      #
+      # Dependency `../a' was found in `sub/../a', but this make
+      # implementation simplified it as `a'.  (Note that the sub/
+      # directory does not even exist.)
+      #
+      # This kind of VPATH rewriting seems hard to cancel.  The
+      # distdir.am hack against VPATH rewriting works only when no
+      # simplification is done, i.e., for dependencies which are in
+      # subdirectories, not in enclosing directories.  Hence, in
+      # the latter case we use a full path to make sure no VPATH
+      # search occurs.
+      $fullfile = '$(srcdir)/' . $fullfile
+	if $dir =~ m,^\.\.(?:$|/),;
+
+      push_dist_common ($fullfile);
+      return 1;
+    }
+  return 0;
+}
+
+
+# If a file name appears as a key in this hash, then it has already
+# been checked for.  This allows us not to report the same error more
+# than once.
+my %required_file_not_found = ();
+
+# &require_file_internal ($WHERE, $MYSTRICT, $DIRECTORY, @FILES)
+# --------------------------------------------------------------
+# Verify that the file must exist in $DIRECTORY, or install it.
+# $MYSTRICT is the strictness level at which this file becomes required.
+sub require_file_internal ($$$@)
+{
+  my ($where, $mystrict, $dir, @files) = @_;
+
+  foreach my $file (@files)
+    {
+      my $fullfile = "$dir/$file";
+      my $found_it = 0;
+      my $dangling_sym = 0;
+
+      if (-l $fullfile && ! -f $fullfile)
+	{
+	  $dangling_sym = 1;
+	}
+      elsif (dir_has_case_matching_file ($dir, $file))
+	{
+	  $found_it = 1;
+	  maybe_push_required_file ($dir, $file, $fullfile);
+	}
+
+      # `--force-missing' only has an effect if `--add-missing' is
+      # specified.
+      if ($found_it && (! $add_missing || ! $force_missing))
+	{
+	  next;
+	}
+      else
+	{
+	  # If we've already looked for it, we're done.  You might
+	  # wonder why we don't do this before searching for the
+	  # file.  If we do that, then something like
+	  # AC_OUTPUT(subdir/foo foo) will fail to put foo.in into
+	  # DIST_COMMON.
+	  if (! $found_it)
+	    {
+	      next if defined $required_file_not_found{$fullfile};
+	      $required_file_not_found{$fullfile} = 1;
+	    }
+
+	  if ($strictness >= $mystrict)
+	    {
+	      if ($dangling_sym && $add_missing)
+		{
+		  unlink ($fullfile);
+		}
+
+	      my $trailer = '';
+	      my $suppress = 0;
+
+	      # Only install missing files according to our desired
+	      # strictness level.
+	      my $message = "required file `$fullfile' not found";
+	      if ($add_missing)
+		{
+		  if (-f ("$libdir/$file"))
+		    {
+		      $suppress = 1;
+
+		      # Install the missing file.  Symlink if we
+		      # can, copy if we must.  Note: delete the file
+		      # first, in case it is a dangling symlink.
+		      $message = "installing `$fullfile'";
+		      # Windows Perl will hang if we try to delete a
+		      # file that doesn't exist.
+		      unlink ($fullfile) if -f $fullfile;
+		      if ($symlink_exists && ! $copy_missing)
+			{
+			  if (! symlink ("$libdir/$file", $fullfile))
+			    {
+			      $suppress = 0;
+			      $trailer = "; error while making link: $!";
+			    }
+			}
+		      elsif (system ('cp', "$libdir/$file", $fullfile))
+			{
+			  $suppress = 0;
+			  $trailer = "\n    error while copying";
+			}
+		      reset_dir_cache ($dir);
+		    }
+
+		  if (! maybe_push_required_file (dirname ($fullfile),
+						  $file, $fullfile))
+		    {
+		      if (! $found_it && ! $automake_will_process_aux_dir)
+			{
+			  # We have added the file but could not push it
+			  # into DIST_COMMON, probably because this is
+			  # an auxiliary file and we are not processing
+			  # the top level Makefile.  Furthermore Automake
+			  # hasn't been asked to create the Makefile.in
+			  # that distribute the aux dir files.
+			  error ($where, 'Please make a full run of automake'
+				 . " so $fullfile gets distributed.");
+			}
+		    }
+		}
+
+	      # If --force-missing was specified, and we have
+	      # actually found the file, then do nothing.
+	      next
+		if $found_it && $force_missing;
+
+	      # If we couldn' install the file, but it is a target in
+	      # the Makefile, don't print anything.  This allows files
+	      # like README, AUTHORS, or THANKS to be generated.
+	      next
+		if !$suppress && rule $file;
+
+	      msg ($suppress ? 'note' : 'error', $where, "$message$trailer");
+	    }
+	}
+    }
+}
+
+# &require_file ($WHERE, $MYSTRICT, @FILES)
+# -----------------------------------------
+sub require_file ($$@)
+{
+    my ($where, $mystrict, @files) = @_;
+    require_file_internal ($where, $mystrict, $relative_dir, @files);
+}
+
+# &require_file_with_macro ($COND, $MACRO, $MYSTRICT, @FILES)
+# -----------------------------------------------------------
+sub require_file_with_macro ($$$@)
+{
+    my ($cond, $macro, $mystrict, @files) = @_;
+    $macro = rvar ($macro) unless ref $macro;
+    require_file ($macro->rdef ($cond)->location, $mystrict, @files);
+}
+
+
+# &require_conf_file ($WHERE, $MYSTRICT, @FILES)
+# ----------------------------------------------
+# Looks in configuration path, as specified by AC_CONFIG_AUX_DIR.
+sub require_conf_file ($$@)
+{
+    my ($where, $mystrict, @files) = @_;
+    require_file_internal ($where, $mystrict, $config_aux_dir, @files);
+}
+
+
+# &require_conf_file_with_macro ($COND, $MACRO, $MYSTRICT, @FILES)
+# ----------------------------------------------------------------
+sub require_conf_file_with_macro ($$$@)
+{
+    my ($cond, $macro, $mystrict, @files) = @_;
+    require_conf_file (rvar ($macro)->rdef ($cond)->location,
+		       $mystrict, @files);
+}
+
+################################################################
+
+# &require_build_directory ($DIRECTORY)
+# ------------------------------------
+# Emit rules to create $DIRECTORY if needed, and return
+# the file that any target requiring this directory should be made
+# dependent upon.
+# We don't want to emit the rule twice, and want to reuse it
+# for directories with equivalent names (e.g., `foo/bar' and `./foo//bar').
+sub require_build_directory ($)
+{
+  my $directory = shift;
+
+  return $directory_map{$directory} if exists $directory_map{$directory};
+
+  my $cdir = File::Spec->canonpath ($directory);
+
+  if (exists $directory_map{$cdir})
+    {
+      my $stamp = $directory_map{$cdir};
+      $directory_map{$directory} = $stamp;
+      return $stamp;
+    }
+
+  my $dirstamp = "$cdir/\$(am__dirstamp)";
+
+  $directory_map{$directory} = $dirstamp;
+  $directory_map{$cdir} = $dirstamp;
+
+  # Set a variable for the dirstamp basename.
+  define_pretty_variable ('am__dirstamp', TRUE, INTERNAL,
+			  '$(am__leading_dot)dirstamp');
+
+  # Directory must be removed by `make distclean'.
+  $clean_files{$dirstamp} = DIST_CLEAN;
+
+  $output_rules .= ("$dirstamp:\n"
+		    . "\t\@\$(mkdir_p) $directory\n"
+		    . "\t\@: > $dirstamp\n");
+
+  return $dirstamp;
+}
+
+# &require_build_directory_maybe ($FILE)
+# --------------------------------------
+# If $FILE lies in a subdirectory, emit a rule to create this
+# directory and return the file that $FILE should be made
+# dependent upon.  Otherwise, just return the empty string.
+sub require_build_directory_maybe ($)
+{
+    my $file = shift;
+    my $directory = dirname ($file);
+
+    if ($directory ne '.')
+    {
+	return require_build_directory ($directory);
+    }
+    else
+    {
+	return '';
+    }
+}
+
+################################################################
+
+# Push a list of files onto dist_common.
+sub push_dist_common
+{
+  prog_error "push_dist_common run after handle_dist"
+    if $handle_dist_run;
+  Automake::Variable::define ('DIST_COMMON', VAR_AUTOMAKE, '+', TRUE, "@_",
+			      '', INTERNAL, VAR_PRETTY);
+}
+
+
+################################################################
+
+# generate_makefile ($MAKEFILE_AM, $MAKEFILE_IN)
+# ----------------------------------------------
+# Generate a Makefile.in given the name of the corresponding Makefile and
+# the name of the file output by config.status.
+sub generate_makefile ($$)
+{
+  my ($makefile_am, $makefile_in) = @_;
+
+  # Reset all the Makefile.am related variables.
+  initialize_per_input;
+
+  # AUTOMAKE_OPTIONS can contains -W flags to disable or enable
+  # warnings for this file.  So hold any warning issued before
+  # we have processed AUTOMAKE_OPTIONS.
+  buffer_messages ('warning');
+
+  # Name of input file ("Makefile.am") and output file
+  # ("Makefile.in").  These have no directory components.
+  $am_file_name = basename ($makefile_am);
+  $in_file_name = basename ($makefile_in);
+
+  # $OUTPUT is encoded.  If it contains a ":" then the first element
+  # is the real output file, and all remaining elements are input
+  # files.  We don't scan or otherwise deal with these input files,
+  # other than to mark them as dependencies.  See
+  # &scan_autoconf_files for details.
+  my ($makefile, @inputs) = split (/:/, $output_files{$makefile_in});
+
+  $relative_dir = dirname ($makefile);
+  $am_relative_dir = dirname ($makefile_am);
+
+  read_main_am_file ($makefile_am);
+  if (handle_options)
+    {
+      # Process buffered warnings.
+      flush_messages;
+      # Fatal error.  Just return, so we can continue with next file.
+      return;
+    }
+  # Process buffered warnings.
+  flush_messages;
+
+  # There are a few install-related variables that you should not define.
+  foreach my $var ('PRE_INSTALL', 'POST_INSTALL', 'NORMAL_INSTALL')
+    {
+      my $v = var $var;
+      if ($v)
+	{
+	  my $def = $v->def (TRUE);
+	  prog_error "$var not defined in condition TRUE"
+	    unless $def;
+	  reject_var $var, "`$var' should not be defined"
+	    if $def->owner != VAR_AUTOMAKE;
+	}
+    }
+
+  # Catch some obsolete variables.
+  msg_var ('obsolete', 'INCLUDES',
+	   "`INCLUDES' is the old name for `AM_CPPFLAGS' (or `*_CPPFLAGS')")
+    if var ('INCLUDES');
+
+  # At the toplevel directory, we might need config.guess, config.sub.
+  # (Libtool scripts such ltconfig as ltmain.sh are checked for in
+  # handle_libtool.)
+  if ($relative_dir eq '.')
+    {
+      # AC_CANONICAL_HOST, AC_CANONICAL_SYSTEM, and AC_CANONICAL_TARGET
+      # need config.guess and config.sub.
+      require_conf_file ($canonical_location, FOREIGN,
+			 'config.guess', 'config.sub')
+	if $seen_canonical;
+    }
+
+  # Must do this after reading .am file.
+  define_variable ('subdir', $relative_dir, INTERNAL);
+
+  # If DIST_SUBDIRS is defined, make sure SUBDIRS is, so that
+  # recursive rules are enabled.
+  define_pretty_variable ('SUBDIRS', TRUE, INTERNAL, '')
+    if var 'DIST_SUBDIRS' && ! var 'SUBDIRS';
+
+  # Check first, because we might modify some state.
+  check_cygnus;
+  check_gnu_standards;
+  check_gnits_standards;
+
+  handle_configure ($makefile_am, $makefile_in, $makefile, @inputs);
+  handle_gettext;
+  handle_libraries;
+  handle_ltlibraries;
+  handle_programs;
+  handle_scripts;
+
+  # These must be run after all the sources are scanned.  They
+  # use variables defined by &handle_libraries, &handle_ltlibraries,
+  # or &handle_programs.
+  handle_compile;
+  handle_languages;
+  handle_libtool;
+
+  # Variables used by distdir.am and tags.am.
+  define_pretty_variable ('SOURCES', TRUE, INTERNAL, @sources);
+  if (! option 'no-dist')
+    {
+      define_pretty_variable ('DIST_SOURCES', TRUE, INTERNAL, @dist_sources);
+    }
+
+  handle_multilib;
+  handle_texinfo;
+  handle_emacs_lisp;
+  handle_python;
+  handle_java;
+  handle_man_pages;
+  handle_data;
+  handle_headers;
+  handle_subdirs;
+  handle_tags;
+  handle_minor_options;
+  handle_tests;
+
+  # This must come after most other rules.
+  handle_dist;
+
+  handle_footer;
+  do_check_merge_target;
+  handle_all ($makefile);
+
+  # FIXME: Gross!
+  if (var ('lib_LTLIBRARIES') && var ('bin_PROGRAMS'))
+    {
+      $output_rules .= "install-binPROGRAMS: install-libLTLIBRARIES\n\n";
+    }
+
+  handle_install;
+  handle_clean ($makefile);
+  handle_factored_dependencies;
+
+  # Comes last, because all the above procedures may have
+  # defined or overridden variables.
+  $output_vars .= output_variables;
+
+  check_typos;
+
+  my ($out_file) = $output_directory . '/' . $makefile_in;
+
+  if ($exit_code != 0)
+    {
+      verb "not writing $out_file because of earlier errors";
+      return;
+    }
+
+  if (! -d ($output_directory . '/' . $am_relative_dir))
+    {
+      mkdir ($output_directory . '/' . $am_relative_dir, 0755);
+    }
+
+  # We make sure that `all:' is the first target.
+  my $output =
+    "$output_vars$output_all$output_header$output_rules$output_trailer";
+
+  # Decide whether we must update the output file or not.
+  # We have to update in the following situations.
+  #  * $force_generation is set.
+  #  * any of the output dependencies is younger than the output
+  #  * the contents of the output is different (this can happen
+  #    if the project has been populated with a file listed in
+  #    @common_files since the last run).
+  # Output's dependencies are split in two sets:
+  #  * dependencies which are also configure dependencies
+  #    These do not change between each Makefile.am
+  #  * other dependencies, specific to the Makefile.am being processed
+  #    (such as the Makefile.am itself, or any Makefile fragment
+  #    it includes).
+  my $timestamp = mtime $out_file;
+  if (! $force_generation
+      && $configure_deps_greatest_timestamp < $timestamp
+      && $output_deps_greatest_timestamp < $timestamp
+      && $output eq contents ($out_file))
+    {
+      verb "$out_file unchanged";
+      # No need to update.
+      return;
+    }
+
+  if (-e $out_file)
+    {
+      unlink ($out_file)
+	or fatal "cannot remove $out_file: $!\n";
+    }
+
+  my $gm_file = new Automake::XFile "> $out_file";
+  verb "creating $out_file";
+  print $gm_file $output;
+}
+
+################################################################
+
+
+
+
+################################################################
+
+# Print usage information.
+sub usage ()
+{
+    print "Usage: $0 [OPTION] ... [Makefile]...
+
+Generate Makefile.in for configure from Makefile.am.
+
+Operation modes:
+      --help               print this help, then exit
+      --version            print version number, then exit
+  -v, --verbose            verbosely list files processed
+      --no-force           only update Makefile.in's that are out of date
+  -W, --warnings=CATEGORY  report the warnings falling in CATEGORY
+
+Dependency tracking:
+  -i, --ignore-deps      disable dependency tracking code
+      --include-deps     enable dependency tracking code
+
+Flavors:
+      --cygnus           assume program is part of Cygnus-style tree
+      --foreign          set strictness to foreign
+      --gnits            set strictness to gnits
+      --gnu              set strictness to gnu
+
+Library files:
+  -a, --add-missing      add missing standard files to package
+      --libdir=DIR       directory storing library files
+  -c, --copy             with -a, copy missing files (default is symlink)
+  -f, --force-missing    force update of standard files
+
+";
+    Automake::ChannelDefs::usage;
+
+    my ($last, @lcomm);
+    $last = '';
+    foreach my $iter (sort ((@common_files, @common_sometimes)))
+    {
+	push (@lcomm, $iter) unless $iter eq $last;
+	$last = $iter;
+    }
+
+    my @four;
+    print "\nFiles which are automatically distributed, if found:\n";
+    format USAGE_FORMAT =
+  @<<<<<<<<<<<<<<<<   @<<<<<<<<<<<<<<<<   @<<<<<<<<<<<<<<<<   @<<<<<<<<<<<<<<<<
+  $four[0],           $four[1],           $four[2],           $four[3]
+.
+    $~ = "USAGE_FORMAT";
+
+    my $cols = 4;
+    my $rows = int(@lcomm / $cols);
+    my $rest = @lcomm % $cols;
+
+    if ($rest)
+    {
+	$rows++;
+    }
+    else
+    {
+	$rest = $cols;
+    }
+
+    for (my $y = 0; $y < $rows; $y++)
+    {
+	@four = ("", "", "", "");
+	for (my $x = 0; $x < $cols; $x++)
+	{
+	    last if $y + 1 == $rows && $x == $rest;
+
+	    my $idx = (($x > $rest)
+		       ?  ($rows * $rest + ($rows - 1) * ($x - $rest))
+		       : ($rows * $x));
+
+	    $idx += $y;
+	    $four[$x] = $lcomm[$idx];
+	}
+	write;
+    }
+
+    print "\nReport bugs to <bug-automake\@gnu.org>.\n";
+
+    # --help always returns 0 per GNU standards.
+    exit 0;
+}
+
+
+# &version ()
+# -----------
+# Print version information
+sub version ()
+{
+  print <<EOF;
+automake (GNU $PACKAGE) $VERSION
+Written by Tom Tromey <tromey\@redhat.com>.
+
+Copyright 2005 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+EOF
+  # --version always returns 0 per GNU standards.
+  exit 0;
+}
+
+################################################################
+
+# Parse command line.
+sub parse_arguments ()
+{
+  # Start off as gnu.
+  set_strictness ('gnu');
+
+  my $cli_where = new Automake::Location;
+  my %cli_options =
+    (
+     'libdir:s' 	=> \$libdir,
+     'gnu' 		=> sub { set_strictness ('gnu'); },
+     'gnits' 		=> sub { set_strictness ('gnits'); },
+     'cygnus' 	        => sub { set_global_option ('cygnus', $cli_where); },
+     'foreign'          => sub { set_strictness ('foreign'); },
+     'include-deps' 	=> sub { unset_global_option ('no-dependencies'); },
+     'i|ignore-deps' 	=> sub { set_global_option ('no-dependencies',
+						    $cli_where); },
+     'no-force' 	=> sub { $force_generation = 0; },
+     'f|force-missing'  => \$force_missing,
+     'o|output-dir:s'	=> \$output_directory,
+     'a|add-missing' 	=> \$add_missing,
+     'c|copy' 	        => \$copy_missing,
+     'v|verbose' 	=> sub { setup_channel 'verb', silent => 0; },
+     'W|warnings:s'     => \&parse_warnings,
+     # These long options (--Werror and --Wno-error) for backward
+     # compatibility.  Use -Werror and -Wno-error today.
+     'Werror'           => sub { parse_warnings 'W', 'error'; },
+     'Wno-error'        => sub { parse_warnings 'W', 'no-error'; },
+     );
+  use Getopt::Long;
+  Getopt::Long::config ("bundling", "pass_through");
+
+  # See if --version or --help is used.  We want to process these before
+  # anything else because the GNU Coding Standards require us to
+  # `exit 0' after processing these options, and we can't guarantee this
+  # if we treat other options first.  (Handling other options first
+  # could produce error diagnostics, and in this condition it is
+  # confusing if Automake does `exit 0'.)
+  my %cli_options_1st_pass =
+    (
+     'version' => \&version,
+     'help'    => \&usage,
+     # Recognize all other options (and their arguments) but do nothing.
+     map { $_ => sub {} } (keys %cli_options)
+     );
+  my @ARGV_backup = @ARGV;
+  Getopt::Long::GetOptions %cli_options_1st_pass
+    or exit 1;
+  @ARGV = @ARGV_backup;
+
+  # Now *really* process the options.  This time we know
+  # that --help and --version are not present.
+  Getopt::Long::GetOptions %cli_options
+    or exit 1;
+
+  if (defined $output_directory)
+    {
+      msg 'obsolete', "`--output-dir' is deprecated\n";
+    }
+  else
+    {
+      # In the next release we'll remove this entirely.
+      $output_directory = '.';
+    }
+
+  my $errspec = 0;
+  foreach my $arg (@ARGV)
+    {
+      if ($arg =~ /^-./)
+	{
+	  fatal ("unrecognized option `$arg'\n"
+		 . "Try `$0 --help' for more information.");
+	}
+
+      # Handle $local:$input syntax.
+      my ($local, @rest) = split (/:/, $arg);
+      @rest = ("$local.in",) unless @rest;
+      my $input = locate_am @rest;
+      if ($input)
+	{
+	  push @input_files, $input;
+	  $output_files{$input} = join (':', ($local, @rest));
+	}
+      else
+	{
+	  error "no Automake input file found for `$arg'";
+	  $errspec = 1;
+	}
+    }
+  fatal "no input file found among supplied arguments"
+    if $errspec && ! @input_files;
+}
+
+################################################################
+
+# Parse the WARNINGS environment variable.
+parse_WARNINGS;
+
+# Parse command line.
+parse_arguments;
+
+$configure_ac = require_configure_ac;
+
+# Do configure.ac scan only once.
+scan_autoconf_files;
+
+if (! @input_files)
+  {
+    my $msg = '';
+    $msg = "\nDid you forget AC_CONFIG_FILES([Makefile]) in $configure_ac?"
+      if -f 'Makefile.am';
+    fatal ("no `Makefile.am' found for any configure output$msg");
+  }
+
+# Now do all the work on each file.
+foreach my $file (@input_files)
+  {
+    ($am_file = $file) =~ s/\.in$//;
+    if (! -f ($am_file . '.am'))
+      {
+	error "`$am_file.am' does not exist";
+      }
+    else
+      {
+	# Any warning setting now local to this Makefile.am.
+	dup_channel_setup;
+
+	generate_makefile ($am_file . '.am', $file);
+
+	# Back out any warning setting.
+	drop_channel_setup;
+      }
+  }
+
+exit $exit_code;
+
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/configure
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/configure	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/configure	(revision 3089)
@@ -0,0 +1,3491 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.59c for GNU Automake 1.9.6.
+#
+# Report bugs to <bug-automake@gnu.org>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+elif test -n "${BASH_VERSION+set}${KSH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Find who we are.  Look in the path if we contain no path at all
+# relative or not.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  { echo "$as_me: error: cannot find myself; rerun with an absolute file name" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done
+       esac
+done
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 if { ($as_shell) 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+elif test -n "${BASH_VERSION+set}${KSH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { $as_shell 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+elif test -n "${BASH_VERSION+set}${KSH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf@gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s,[$]LINENO.*,&-,
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s,[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\),\2\1\2,
+      t loop
+      s,-\n.*,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
+else
+  as_executable_p=:
+fi
+rm -f conf$$.file
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='GNU Automake'
+PACKAGE_TARNAME='automake'
+PACKAGE_VERSION='1.9.6'
+PACKAGE_STRING='GNU Automake 1.9.6'
+PACKAGE_BUGREPORT='bug-automake@gnu.org'
+
+ac_unique_file="automake.in"
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+am_AUTOCONF
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+ac_ct_STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+APIVERSION
+pkgvdatadir
+PERL
+TEX
+LN
+MODIFICATION_DELAY
+GREP
+EGREP
+FGREP
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias'
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval with_$ac_package=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+fi
+(cd $srcdir && test -r "./$ac_unique_file") 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures GNU Automake 1.9.6 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/automake]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of GNU Automake 1.9.6:";;
+   esac
+  cat <<\_ACEOF
+
+Report bugs to <bug-automake@gnu.org>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd $ac_dir || { ac_status=$?; continue; }
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo &&
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo &&
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+	   test -f $ac_srcdir/configure.in; then
+      echo &&
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+GNU Automake configure 1.9.6
+generated by GNU Autoconf 2.59c
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by GNU Automake $as_me 1.9.6, which was
+generated by GNU Autoconf 2.59c.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\\\[\~\#\$\^\&\*\(\)\{\}\|\;\<\>\?\"\']*|*\]*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+  rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\\\[\~\#\$\^\&\*\(\)\{\}\|\;\<\>\?\"\']*|*\]*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+ac_aux_dir=
+for ac_dir in lib $srcdir/lib; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in lib $srcdir/lib" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in lib $srcdir/lib" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+
+# Make sure we can run config.sub.
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$ac_config_guess`
+test "x$ac_build_alias" = x &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+IFS=$ac_save_IFS
+
+build_cpu=$1
+build_vendor=$2
+build_os=$3
+case $# in
+0|1|2) ;;
+*)
+  shift; shift; shift
+  for ac_arg
+  do build_os=$build_os-$ac_arg
+  done;;
+esac
+
+
+
+# Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this
+# way we can run Autoconf tests from configure (or from the test
+# suite) without being bothered by `missing'.
+am_AUTOCONF="${AUTOCONF-autoconf}"
+
+
+am__api_version="1.9"
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo 'ac_maketemp=X"$(MAKE)"'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
+if test "$ac_maketemp" != X ; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftest.make
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+  SET_MAKE=
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='automake'
+ VERSION='1.9.6'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    if test "$build" != "$host"; then
+      { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+    fi
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+# The API version is the base version.  We must guarantee
+# compatibility for all releases with the same API version.
+# Our current rule is that:
+# * All releases, including the prereleases, in an X.Y series
+#   are compatible.  So 1.5.1c is compatible with 1.5.
+# * Prereleases on the trunk are all incompatible -- 1.5b and 1.5c
+#   aren't the same.
+APIVERSION=`echo "$VERSION" | sed -e 's/^\([0-9]*\.[0-9]*[a-z]*\).*$/\1/'`
+
+
+# A versioned directory, defined here for convenience.
+pkgvdatadir="\${datadir}/$PACKAGE-$APIVERSION"
+
+
+# $AUTOMAKE and $ACLOCAL are always run after a `cd $top_srcdir',
+# hence `.' is really what we want for perllibdir, libdir, and acdir.
+ACLOCAL="perllibdir=`pwd`\"/lib$PATH_SEPARATOR./lib\" `pwd`/aclocal --acdir=m4"
+AUTOMAKE="perllibdir=`pwd`\"/lib$PATH_SEPARATOR./lib\" `pwd`/automake --libdir=lib"
+
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PERL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $PERL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+
+if test -n "$PERL"; then
+  { echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+if test -z "$PERL"; then
+   { { echo "$as_me:$LINENO: error: perl not found" >&5
+echo "$as_me: error: perl not found" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+$PERL -e 'require 5.005;' || {
+   { { echo "$as_me:$LINENO: error: perl 5.005 or better is required" >&5
+echo "$as_me: error: perl 5.005 or better is required" >&2;}
+   { (exit 1); exit 1; }; }
+}
+
+# The test suite will skip some tests if tex is absent.
+# Extract the first word of "tex", so it can be a program name with args.
+set dummy tex; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_TEX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$TEX"; then
+  ac_cv_prog_TEX="$TEX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_TEX="tex"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+TEX=$ac_cv_prog_TEX
+if test -n "$TEX"; then
+  { echo "$as_me:$LINENO: result: $TEX" >&5
+echo "${ECHO_T}$TEX" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+# Test for Autoconf.  We run Autoconf in a subdirectory to ease
+# deletion of any files created (such as those added to
+# autom4te.cache).  We used to perform only the last of the three
+# following tests, but some users were unable to figure out that their
+# installation was broken since --version appeared to work.
+
+{ echo "$as_me:$LINENO: checking whether autoconf is installed" >&5
+echo $ECHO_N "checking whether autoconf is installed... $ECHO_C" >&6; }
+if test "${am_cv_autoconf_installed+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if { echo "$as_me:$LINENO: eval $am_AUTOCONF --version" >&5
+   (eval $am_AUTOCONF --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); };
+then
+  am_cv_autoconf_installed=yes
+else
+  am_cv_autoconf_installed=no
+fi
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_autoconf_installed" >&5
+echo "${ECHO_T}$am_cv_autoconf_installed" >&6; }
+if test "$am_cv_autoconf_installed" = no; then
+  { { echo "$as_me:$LINENO: error: Autoconf 2.58 or better is required.
+    Please make sure it is installed and in your PATH." >&5
+echo "$as_me: error: Autoconf 2.58 or better is required.
+    Please make sure it is installed and in your PATH." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+{ echo "$as_me:$LINENO: checking whether autoconf works" >&5
+echo $ECHO_N "checking whether autoconf works... $ECHO_C" >&6; }
+if test "${am_cv_autoconf_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  mkdir conftest
+echo 'AC''_INIT' > conftest/conftest.ac
+if { echo "$as_me:$LINENO: cd conftest && eval $am_AUTOCONF -o /dev/null conftest.ac" >&5
+   (cd conftest && eval $am_AUTOCONF -o /dev/null conftest.ac) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); };
+then
+  am_cv_autoconf_works=yes
+else
+  am_cv_autoconf_works=no
+fi
+rm -rf conftest
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_autoconf_works" >&5
+echo "${ECHO_T}$am_cv_autoconf_works" >&6; }
+if test "$am_cv_autoconf_works" = no; then
+  { { echo "$as_me:$LINENO: error: The installed version of autoconf does not work.
+    Please check config.log for error messages before this one." >&5
+echo "$as_me: error: The installed version of autoconf does not work.
+    Please check config.log for error messages before this one." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+{ echo "$as_me:$LINENO: checking whether autoconf is recent enough" >&5
+echo $ECHO_N "checking whether autoconf is recent enough... $ECHO_C" >&6; }
+if test "${am_cv_autoconf_version+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  mkdir conftest
+echo 'AC''_PREREQ(2.58)' > conftest/conftest.ac
+if { echo "$as_me:$LINENO: cd conftest && eval $am_AUTOCONF -o /dev/null conftest.ac" >&5
+   (cd conftest && eval $am_AUTOCONF -o /dev/null conftest.ac) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); };
+then
+  am_cv_autoconf_version=yes
+else
+  am_cv_autoconf_version=no
+fi
+rm -rf conftest
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_autoconf_version" >&5
+echo "${ECHO_T}$am_cv_autoconf_version" >&6; }
+if test "$am_cv_autoconf_version" = no; then
+  { { echo "$as_me:$LINENO: error: Autoconf 2.58 or better is required." >&5
+echo "$as_me: error: Autoconf 2.58 or better is required." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# Test for ln.  We need use it to install the versioned binaries.
+{ echo "$as_me:$LINENO: checking whether ln works" >&5
+echo $ECHO_N "checking whether ln works... $ECHO_C" >&6; }
+if test "${am_cv_prog_ln+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+rm -f conftest conftest.file
+: >conftest.file
+if ln conftest.file conftest 2>/dev/null; then
+  am_cv_prog_ln=ln
+else
+  am_cv_prog_ln='cp -p'
+fi
+rm -f conftest conftest.file
+fi
+
+LN=$am_cv_prog_ln
+
+result=no
+test "x$am_cv_prog_ln" = xln && result=yes
+{ echo "$as_me:$LINENO: result: $result" >&5
+echo "${ECHO_T}$result" >&6; }
+
+# The amount we should wait after modifying files depends on the platform.
+# On Windows '95, '98 and ME, files modifications have 2-seconds
+# granularity and can be up to 3 seconds in the future w.r.t. the
+# system clock.  When it is important to ensure one file is older
+# than another we wait at least 5 seconds between creations.
+case $build in
+  *-pc-msdosdjgpp) MODIFICATION_DELAY=5;;
+  *)               MODIFICATION_DELAY=2;;
+esac
+
+
+# Test for things needed by the test suite.
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/xpg4/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.*;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH:/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH:/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/xpg4/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.*;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH:/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH:/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ echo "$as_me:$LINENO: checking for fgrep" >&5
+echo $ECHO_N "checking for fgrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     # Extract the first word of "fgrep" to use in msg output
+if test -z "$FGREP"; then
+set dummy fgrep; ac_prog_name=$2
+if test "${ac_cv_path_FGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_FGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/xpg4/bin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in fgrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_FGREP" && $as_executable_p "$ac_path_FGREP"; } || continue
+    # Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.*;;
+esac
+
+
+    $ac_path_FGREP_found && break 3
+  done
+done
+
+done
+
+
+fi
+
+FGREP="$ac_cv_path_FGREP"
+if test -z "$FGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH:/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH:/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+
+   fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+echo "${ECHO_T}$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+
+                                                                                          ac_config_files="$ac_config_files Makefile doc/Makefile lib/Automake/Makefile lib/Automake/tests/Makefile lib/Makefile lib/am/Makefile m4/Makefile tests/Makefile tests/defs"
+
+          ac_config_files="$ac_config_files tests/aclocal-${APIVERSION}:tests/aclocal.in"
+
+          ac_config_files="$ac_config_files tests/automake-${APIVERSION}:tests/automake.in"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
+  if test -w $cache_file; then
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[	 ]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[	 ]*$//;
+}'
+fi
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then we branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+cat >confdef2opt.sed <<\_ACEOF
+t clear
+:clear
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\),-D\1=\2,g
+t quote
+d
+:quote
+s,[	 `~#$^&*(){}\\|;'"<>?],\\&,g
+s,\[,\\&,g
+s,\],\\&,g
+s,\$,$$,g
+p
+_ACEOF
+# We use echo to avoid assuming a particular line-breaking character.
+# The extra dot is to prevent the shell from consuming trailing
+# line-breaks from the sub-command output.  A line-break within
+# single-quotes doesn't work because, if this script is created in a
+# platform that uses two characters for line-breaks (e.g., DOS), tr
+# would break.
+ac_LF_and_DOT=`echo; echo .`
+DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
+rm -f confdef2opt.sed
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+elif test -n "${BASH_VERSION+set}${KSH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Find who we are.  Look in the path if we contain no path at all
+# relative or not.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute file name" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute file name" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s,[$]LINENO.*,&-,
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s,[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\),\2\1\2,
+      t loop
+      s,-\n.*,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
+else
+  as_executable_p=:
+fi
+rm -f conf$$.file
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by GNU Automake $as_me 1.9.6, which was
+generated by GNU Autoconf 2.59c.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+cat >>$CONFIG_STATUS <<_ACEOF
+config_files="$ac_config_files"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+GNU Automake config.status 1.9.6
+configured by $0, generated by GNU Autoconf 2.59c,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2005 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+APIVERSION=$APIVERSION
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "lib/Automake/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Automake/Makefile" ;;
+  "lib/Automake/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Automake/tests/Makefile" ;;
+  "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
+  "lib/am/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/am/Makefile" ;;
+  "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
+  "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+  "tests/defs" ) CONFIG_FILES="$CONFIG_FILES tests/defs" ;;
+  "tests/aclocal-${APIVERSION}" ) CONFIG_FILES="$CONFIG_FILES tests/aclocal-${APIVERSION}:tests/aclocal.in" ;;
+  "tests/automake-${APIVERSION}" ) CONFIG_FILES="$CONFIG_FILES tests/automake-${APIVERSION}:tests/automake.in" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -fr "$tmp" && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+am_AUTOCONF!$am_AUTOCONF$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+ac_ct_STRIP!$ac_ct_STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+APIVERSION!$APIVERSION$ac_delim
+pkgvdatadir!$pkgvdatadir$ac_delim
+PERL!$PERL$ac_delim
+TEX!$TEX$ac_delim
+LN!$LN$ac_delim
+MODIFICATION_DELAY!$MODIFICATION_DELAY$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+FGREP!$FGREP$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `grep -c "$ac_delim\$" conf$$subs.sed` = 75; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF0-9*$/s/CEOF//p' conf$$subs.sed | sort -nru | sed 1q`
+ac_eof=`expr 0$ac_eof + 1`
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+	cat >"$tmp/stdin" ;;
+  esac
+  case $ac_file in
+  *:*)		ac_file_in=`expr "X$ac_file" : 'X[^:]*:\(.*\)'`
+	ac_file=`expr "X$ac_file" : 'X\([^:]*\)'` ;;
+  -)	ac_file_in=- ;;
+  *)	ac_file_in=$ac_file.in ;;
+esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    test -d "$ac_dir" || mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+				     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo "$tmp/stdin" ;;
+      [\\/$]*)
+	 # Absolute (can't be DOS-style, as IFS=:)
+	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 echo "$f";;
+      *) # Relative
+	 if test -f "$f"; then
+	   # Build tree
+	   echo "$f"
+	 elif test -f "$srcdir/$f"; then
+	   # Source tree
+	   echo "$srcdir/$f"
+	 else
+	   # /dev/null tree
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+	 fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+  rm -f "$tmp/stdin"
+  if test x"$ac_file" != x-; then
+    mv "$tmp/out" $ac_file
+  else
+    cat "$tmp/out"
+    rm -f "$tmp/out"
+  fi
+
+  # Run the commands associated with the file.
+  case $ac_file in
+    tests/aclocal-${APIVERSION} ) chmod +x tests/aclocal-${APIVERSION} ;;
+    tests/automake-${APIVERSION} ) chmod +x tests/automake-${APIVERSION} ;;
+  esac
+done
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
Index: /trunk/essentials/sys-devel/automake-1.9/configure.ac
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/configure.ac	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/configure.ac	(revision 3089)
@@ -0,0 +1,165 @@
+# Process this file with autoconf to produce a configure script.
+
+# Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+dnl Autoconf 2.58 defines abs_top_builddir incorrectly, so we
+dnl have to require 2.58a, otherwise all our test cases will fail
+dnl (abs_top_builddir is used in tests/automake.in).  Note that
+dnl this is a requirement for the Automake package itself.
+dnl Automake users can still use Autoconf 2.58.
+AC_PREREQ(2.58a)
+AC_INIT([GNU Automake], [1.9.6], [bug-automake@gnu.org])
+
+AC_CONFIG_SRCDIR(automake.in)
+AC_CONFIG_AUX_DIR(lib)
+
+AC_CANONICAL_BUILD
+
+# Save the AUTOCONF setting before AM_INIT_AUTOMAKE overrides it; this
+# way we can run Autoconf tests from configure (or from the test
+# suite) without being bothered by `missing'.
+AC_SUBST([am_AUTOCONF], ["${AUTOCONF-autoconf}"])
+
+AM_INIT_AUTOMAKE([1.8a dist-bzip2 filename-length-max=99])
+
+# The API version is the base version.  We must guarantee
+# compatibility for all releases with the same API version.
+# Our current rule is that:
+# * All releases, including the prereleases, in an X.Y series
+#   are compatible.  So 1.5.1c is compatible with 1.5.
+# * Prereleases on the trunk are all incompatible -- 1.5b and 1.5c
+#   aren't the same.
+APIVERSION=`echo "$VERSION" | sed -e 's/^\([[0-9]]*\.[[0-9]]*[[a-z]]*\).*$/\1/'`
+AC_SUBST(APIVERSION)
+
+# A versioned directory, defined here for convenience.
+AC_SUBST([pkgvdatadir], ["\${datadir}/$PACKAGE-$APIVERSION"])
+
+# $AUTOMAKE and $ACLOCAL are always run after a `cd $top_srcdir',
+# hence `.' is really what we want for perllibdir, libdir, and acdir.
+ACLOCAL="perllibdir=`pwd`\"/lib$PATH_SEPARATOR./lib\" `pwd`/aclocal --acdir=m4"
+AUTOMAKE="perllibdir=`pwd`\"/lib$PATH_SEPARATOR./lib\" `pwd`/automake --libdir=lib"
+
+AC_PATH_PROG(PERL, perl)
+if test -z "$PERL"; then
+   AC_MSG_ERROR([perl not found])
+fi
+$PERL -e 'require 5.005;' || {
+   AC_MSG_ERROR([perl 5.005 or better is required])
+}
+
+# The test suite will skip some tests if tex is absent.
+AC_CHECK_PROG([TEX], [tex], [tex])
+
+# Test for Autoconf.  We run Autoconf in a subdirectory to ease
+# deletion of any files created (such as those added to
+# autom4te.cache).  We used to perform only the last of the three
+# following tests, but some users were unable to figure out that their
+# installation was broken since --version appeared to work.
+
+AC_CACHE_CHECK([whether autoconf is installed], [am_cv_autoconf_installed],
+[if AM_RUN_LOG([eval $am_AUTOCONF --version]);
+then
+  am_cv_autoconf_installed=yes
+else
+  am_cv_autoconf_installed=no
+fi])
+if test "$am_cv_autoconf_installed" = no; then
+  AC_MSG_ERROR([Autoconf 2.58 or better is required.
+    Please make sure it is installed and in your PATH.])
+fi
+
+AC_CACHE_CHECK([whether autoconf works], [am_cv_autoconf_works],
+[mkdir conftest
+echo 'AC''_INIT' > conftest/conftest.ac
+if AM_RUN_LOG([cd conftest && eval $am_AUTOCONF -o /dev/null conftest.ac]);
+then
+  am_cv_autoconf_works=yes
+else
+  am_cv_autoconf_works=no
+fi
+rm -rf conftest])
+if test "$am_cv_autoconf_works" = no; then
+  AC_MSG_ERROR([The installed version of autoconf does not work.
+    Please check config.log for error messages before this one.])
+fi
+
+AC_CACHE_CHECK([whether autoconf is recent enough], [am_cv_autoconf_version],
+[mkdir conftest
+echo 'AC''_PREREQ(2.58)' > conftest/conftest.ac
+if AM_RUN_LOG([cd conftest && eval $am_AUTOCONF -o /dev/null conftest.ac]);
+then
+  am_cv_autoconf_version=yes
+else
+  am_cv_autoconf_version=no
+fi
+rm -rf conftest])
+if test "$am_cv_autoconf_version" = no; then
+  AC_MSG_ERROR([Autoconf 2.58 or better is required.])
+fi
+
+# Test for ln.  We need use it to install the versioned binaries.
+AC_MSG_CHECKING([whether ln works])
+AC_CACHE_VAL([am_cv_prog_ln], [
+rm -f conftest conftest.file
+: >conftest.file
+if ln conftest.file conftest 2>/dev/null; then
+  am_cv_prog_ln=ln
+else
+  am_cv_prog_ln='cp -p'
+fi
+rm -f conftest conftest.file])
+AC_SUBST([LN], [$am_cv_prog_ln])
+result=no
+test "x$am_cv_prog_ln" = xln && result=yes
+AC_MSG_RESULT([$result])
+
+# The amount we should wait after modifying files depends on the platform.
+# On Windows '95, '98 and ME, files modifications have 2-seconds
+# granularity and can be up to 3 seconds in the future w.r.t. the
+# system clock.  When it is important to ensure one file is older
+# than another we wait at least 5 seconds between creations.
+case $build in
+  *-pc-msdosdjgpp) MODIFICATION_DELAY=5;;
+  *)               MODIFICATION_DELAY=2;;
+esac
+AC_SUBST([MODIFICATION_DELAY])
+
+# Test for things needed by the test suite.
+AC_PROG_EGREP
+AC_PROG_FGREP
+
+AC_CONFIG_FILES([
+  Makefile
+  doc/Makefile
+  lib/Automake/Makefile
+  lib/Automake/tests/Makefile
+  lib/Makefile
+  lib/am/Makefile
+  m4/Makefile
+  tests/Makefile
+  tests/defs
+])
+AC_CONFIG_FILES([tests/aclocal-${APIVERSION}:tests/aclocal.in],
+                [chmod +x tests/aclocal-${APIVERSION}],
+	        [APIVERSION=$APIVERSION])
+AC_CONFIG_FILES([tests/automake-${APIVERSION}:tests/automake.in],
+                [chmod +x tests/automake-${APIVERSION}])
+
+AC_OUTPUT
Index: /trunk/essentials/sys-devel/automake-1.9/doc/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/Makefile.am	(revision 3089)
@@ -0,0 +1,28 @@
+## Process this file with automake to create Makefile.in
+
+## Makefile for Automake.
+
+## Copyright (C) 2003  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+info_TEXINFOS = automake.texi
+automake_TEXINFOS = fdl.texi
+
+# The following requires a fixed version of the Emacs 19.30 etags.
+ETAGS_ARGS = --lang=none \
+ --regex='/^@node[ \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi
+TAGS_DEPENDENCIES = automake.texi
Index: /trunk/essentials/sys-devel/automake-1.9/doc/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/Makefile.in	(revision 3089)
@@ -0,0 +1,514 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = doc
+DIST_COMMON = $(automake_TEXINFOS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/stamp-vti \
+	$(srcdir)/version.texi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+INFO_DEPS = $(srcdir)/automake.info
+TEXINFO_TEX = $(top_srcdir)/lib/texinfo.tex
+am__TEXINFO_TEX_DIR = $(top_srcdir)/lib
+DVIS = automake.dvi
+PDFS = automake.pdf
+PSS = automake.ps
+HTMLS = automake.html
+TEXINFOS = automake.texi
+TEXI2DVI = texi2dvi
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+DVIPS = dvips
+am__installdirs = "$(DESTDIR)$(infodir)"
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+info_TEXINFOS = automake.texi
+automake_TEXINFOS = fdl.texi
+
+# The following requires a fixed version of the Emacs 19.30 etags.
+ETAGS_ARGS = --lang=none \
+ --regex='/^@node[ \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi
+
+TAGS_DEPENDENCIES = automake.texi
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .dvi .html .info .pdf .ps .texi
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  doc/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+.texi.info:
+	restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+	am__cwd=`pwd` && cd $(srcdir) && \
+	rm -rf $$backupdir && mkdir $$backupdir && \
+	if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+	  for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+	    if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+	  done; \
+	else :; fi && \
+	cd "$$am__cwd"; \
+	if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+	 -o $@ $<; \
+	then \
+	  rc=0; \
+	  cd $(srcdir); \
+	else \
+	  rc=$$?; \
+	  cd $(srcdir) && \
+	  $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+	fi; \
+	rm -rf $$backupdir; exit $$rc
+
+.texi.dvi:
+	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
+	$(TEXI2DVI) $<
+
+.texi.pdf:
+	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
+	$(TEXI2PDF) $<
+
+.texi.html:
+	rm -rf $(@:.html=.htp)
+	if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
+	 -o $(@:.html=.htp) $<; \
+	then \
+	  rm -rf $@; \
+	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+	    mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+	else \
+	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+	    rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
+	  exit 1; \
+	fi
+$(srcdir)/automake.info: automake.texi $(srcdir)/version.texi $(automake_TEXINFOS)
+automake.dvi: automake.texi $(srcdir)/version.texi $(automake_TEXINFOS)
+automake.pdf: automake.texi $(srcdir)/version.texi $(automake_TEXINFOS)
+automake.html: automake.texi $(srcdir)/version.texi $(automake_TEXINFOS)
+$(srcdir)/version.texi:  $(srcdir)/stamp-vti
+$(srcdir)/stamp-vti: automake.texi $(top_srcdir)/configure
+	@(dir=.; test -f ./automake.texi || dir=$(srcdir); \
+	set `$(SHELL) $(top_srcdir)/lib/mdate-sh $$dir/automake.texi`; \
+	echo "@set UPDATED $$1 $$2 $$3"; \
+	echo "@set UPDATED-MONTH $$2 $$3"; \
+	echo "@set EDITION $(VERSION)"; \
+	echo "@set VERSION $(VERSION)") > vti.tmp
+	@cmp -s vti.tmp $(srcdir)/version.texi \
+	  || (echo "Updating $(srcdir)/version.texi"; \
+	      cp vti.tmp $(srcdir)/version.texi)
+	-@rm -f vti.tmp
+	@cp $(srcdir)/version.texi $@
+
+mostlyclean-vti:
+	-rm -f vti.tmp
+
+maintainer-clean-vti:
+	-rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
+.dvi.ps:
+	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+	$(DVIPS) -o $@ $<
+
+uninstall-info-am:
+	@$(PRE_UNINSTALL)
+	@if (install-info --version && \
+	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+	  list='$(INFO_DEPS)'; \
+	  for file in $$list; do \
+	    relfile=`echo "$$file" | sed 's|^.*/||'`; \
+	    echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
+	    install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+	  done; \
+	else :; fi
+	@$(NORMAL_UNINSTALL)
+	@list='$(INFO_DEPS)'; \
+	for file in $$list; do \
+	  relfile=`echo "$$file" | sed 's|^.*/||'`; \
+	  relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
+	  (if cd "$(DESTDIR)$(infodir)"; then \
+	     echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
+	     rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+	   else :; fi); \
+	done
+
+dist-info: $(INFO_DEPS)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	list='$(INFO_DEPS)'; \
+	for base in $$list; do \
+	  case $$base in \
+	    $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
+	  esac; \
+	  if test -f $$base; then d=.; else d=$(srcdir); fi; \
+	  for file in $$d/$$base*; do \
+	    relfile=`expr "$$file" : "$$d/\(.*\)"`; \
+	    test -f $(distdir)/$$relfile || \
+	      cp -p $$file $(distdir)/$$relfile; \
+	  done; \
+	done
+
+mostlyclean-aminfo:
+	-rm -rf automake.ac automake.aux automake.cm automake.cp automake.cps \
+	  automake.fn automake.fns automake.ky automake.kys \
+	  automake.log automake.op automake.pg automake.pgs \
+	  automake.tmp automake.toc automake.tp automake.tps \
+	  automake.tr automake.vr automake.vrs automake.dvi \
+	  automake.pdf automake.ps automake.html
+
+maintainer-clean-aminfo:
+	@list='$(INFO_DEPS)'; for i in $$list; do \
+	  i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
+	  echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
+	  rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-info
+check-am: all-am
+check: check-am
+all-am: Makefile $(INFO_DEPS)
+installdirs:
+	for dir in "$(DESTDIR)$(infodir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am: $(DVIS)
+
+html: html-am
+
+html-am: $(HTMLS)
+
+info: info-am
+
+info-am: $(INFO_DEPS)
+
+install-data-am: install-info-am
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-info-am: $(INFO_DEPS)
+	@$(NORMAL_INSTALL)
+	test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	list='$(INFO_DEPS)'; \
+	for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	  esac; \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
+	  file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
+	  for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
+                       $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+	    if test -f $$ifile; then \
+	      relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
+	      echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
+	      $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
+	    else : ; fi; \
+	  done; \
+	done
+	@$(POST_INSTALL)
+	@if (install-info --version && \
+	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+	  list='$(INFO_DEPS)'; \
+	  for file in $$list; do \
+	    relfile=`echo "$$file" | sed 's|^.*/||'`; \
+	    echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
+	    install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
+	  done; \
+	else : ; fi
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-aminfo \
+	maintainer-clean-generic maintainer-clean-vti
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
+
+pdf: pdf-am
+
+pdf-am: $(PDFS)
+
+ps: ps-am
+
+ps-am: $(PSS)
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	ctags dist-info distclean distclean-generic distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-aminfo \
+	maintainer-clean-generic maintainer-clean-vti mostlyclean \
+	mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \
+	pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/doc/automake.info
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/automake.info	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/automake.info	(revision 3089)
@@ -0,0 +1,170 @@
+This is automake.info, produced by makeinfo version 4.7 from
+automake.texi.
+
+   This manual is for GNU Automake (version 1.9.6, 9 July 2005), a
+program that creates GNU standards-compliant Makefiles from template
+files.
+
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+2004, 2005 Free Software Foundation, Inc.
+
+     Permission is granted to copy, distribute and/or modify this
+     document under the terms of the GNU Free Documentation License,
+     Version 1.2 or any later version published by the Free Software
+     Foundation; with no Invariant Sections, with the Front-Cover texts
+     being "A GNU Manual," and with the Back-Cover Texts as in (a)
+     below.  A copy of the license is included in the section entitled
+     "GNU Free Documentation License."
+
+     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+     modify this GNU Manual, like GNU software.  Copies published by
+     the Free Software Foundation raise funds for GNU development."
+
+INFO-DIR-SECTION Software development
+START-INFO-DIR-ENTRY
+* automake: (automake).         Making Makefile.in's.
+END-INFO-DIR-ENTRY
+
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* aclocal: (automake)Invoking aclocal.          Generating aclocal.m4.
+END-INFO-DIR-ENTRY
+
+
+Indirect:
+automake.info-1: 1279
+automake.info-2: 301233
+
+Tag Table:
+(Indirect)
+Node: Top1279
+Node: Introduction10443
+Ref: Introduction-Footnote-111911
+Ref: Introduction-Footnote-212060
+Node: Generalities12317
+Node: General Operation12925
+Node: Strictness15573
+Node: Uniform17306
+Node: Canonicalization21112
+Node: User Variables22145
+Node: Auxiliary Programs23590
+Node: Examples27295
+Node: Complete27623
+Node: Hello29607
+Node: true32404
+Node: Invoking Automake35133
+Node: configure41738
+Node: Requirements42902
+Node: Optional44153
+Node: Invoking aclocal50259
+Node: aclocal options53095
+Node: Macro search path54278
+Node: Macros58476
+Node: Public macros59031
+Node: Obsolete macros64096
+Node: Private macros65323
+Node: Extending aclocal66726
+Node: Local Macros70016
+Node: Future of aclocal73349
+Node: Directories75733
+Node: Subdirectories76671
+Node: Conditional Subdirectories78975
+Node: Alternative86499
+Ref: Alternative-Footnote-188424
+Node: Subpackages88549
+Node: Programs91725
+Node: A Program93064
+Node: Program Sources93785
+Node: Linking95594
+Node: Conditional Sources97900
+Node: Conditional Programs100747
+Node: A Library102595
+Node: A Shared Library105034
+Node: Libtool Concept106020
+Node: Libtool Libraries108076
+Node: Conditional Libtool Libraries109750
+Node: Conditional Libtool Sources112114
+Node: Libtool Convenience Libraries113453
+Node: Libtool Modules116777
+Node: Libtool Flags118046
+Node: LTLIBOBJS118551
+Node: Libtool Issues119142
+Node: Program and Library Variables122014
+Ref: Program and Library Variables-Footnote-1130773
+Node: Default _SOURCES130848
+Node: LIBOBJS133070
+Node: Program variables137610
+Node: Yacc and Lex140013
+Node: C++ Support144955
+Node: Assembly Support145794
+Node: Fortran 77 Support146642
+Ref: Fortran 77 Support-Footnote-1148275
+Node: Preprocessing Fortran 77148478
+Node: Compiling Fortran 77 Files149055
+Node: Mixing Fortran 77 With C and C++149628
+Ref: Mixing Fortran 77 With C and C++-Footnote-1151973
+Node: How the Linker is Chosen152276
+Node: Fortran 9x Support153494
+Node: Compiling Fortran 9x Files154498
+Node: Java Support154830
+Node: Support for Other Languages156041
+Node: ANSI156642
+Node: Dependencies159077
+Node: EXEEXT160806
+Node: Other objects163008
+Node: Scripts163600
+Node: Headers165226
+Node: Data166944
+Node: Sources167603
+Node: Built sources example170373
+Node: Other GNU Tools177286
+Node: Emacs Lisp177775
+Node: gettext179613
+Node: Libtool180118
+Node: Java180371
+Node: Python182257
+Node: Documentation186406
+Node: Texinfo186710
+Node: Man pages191952
+Node: Install194256
+Node: Clean198954
+Node: Dist200752
+Node: Tests210005
+Node: Rebuilding213650
+Node: Options217265
+Node: Miscellaneous226112
+Node: Tags226502
+Node: Suffixes228800
+Node: Multilibs230374
+Node: Include231008
+Node: Conditionals231899
+Node: Gnits234607
+Node: Cygnus236471
+Node: Not Enough238297
+Node: Extending238735
+Node: Third-Party Makefiles243115
+Node: Distributing249604
+Node: API versioning250241
+Node: Upgrading252880
+Node: FAQ254829
+Node: CVS255710
+Node: maintainer-mode262487
+Node: wildcards266152
+Node: distcleancheck269412
+Node: Flag Variables Ordering274118
+Node: renamed objects281767
+Node: Per-Object Flags283316
+Node: Multiple Outputs286212
+Node: Hard-Coded Install Paths295697
+Node: History300668
+Node: Timeline301233
+Node: Dependency Tracking Evolution332338
+Node: Releases344563
+Node: Copying This Manual349258
+Node: GNU Free Documentation License349492
+Node: Indices371904
+Node: Macro Index372193
+Node: Variable Index376854
+Node: General Index397005
+
+End Tag Table
Index: /trunk/essentials/sys-devel/automake-1.9/doc/automake.info-1
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/automake.info-1	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/automake.info-1	(revision 3089)
@@ -0,0 +1,7357 @@
+This is automake.info, produced by makeinfo version 4.7 from
+automake.texi.
+
+   This manual is for GNU Automake (version 1.9.6, 9 July 2005), a
+program that creates GNU standards-compliant Makefiles from template
+files.
+
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+2004, 2005 Free Software Foundation, Inc.
+
+     Permission is granted to copy, distribute and/or modify this
+     document under the terms of the GNU Free Documentation License,
+     Version 1.2 or any later version published by the Free Software
+     Foundation; with no Invariant Sections, with the Front-Cover texts
+     being "A GNU Manual," and with the Back-Cover Texts as in (a)
+     below.  A copy of the license is included in the section entitled
+     "GNU Free Documentation License."
+
+     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+     modify this GNU Manual, like GNU software.  Copies published by
+     the Free Software Foundation raise funds for GNU development."
+
+INFO-DIR-SECTION Software development
+START-INFO-DIR-ENTRY
+* automake: (automake).         Making Makefile.in's.
+END-INFO-DIR-ENTRY
+
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* aclocal: (automake)Invoking aclocal.          Generating aclocal.m4.
+END-INFO-DIR-ENTRY
+
+
+File: automake.info,  Node: Top,  Next: Introduction,  Up: (dir)
+
+GNU Automake
+************
+
+This manual is for GNU Automake (version 1.9.6, 9 July 2005), a program
+that creates GNU standards-compliant Makefiles from template files.
+
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+2004, 2005 Free Software Foundation, Inc.
+
+     Permission is granted to copy, distribute and/or modify this
+     document under the terms of the GNU Free Documentation License,
+     Version 1.2 or any later version published by the Free Software
+     Foundation; with no Invariant Sections, with the Front-Cover texts
+     being "A GNU Manual," and with the Back-Cover Texts as in (a)
+     below.  A copy of the license is included in the section entitled
+     "GNU Free Documentation License."
+
+     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+     modify this GNU Manual, like GNU software.  Copies published by
+     the Free Software Foundation raise funds for GNU development."
+
+* Menu:
+
+* Introduction::                Automake's purpose
+* Generalities::                General ideas
+* Examples::                    Some example packages
+* Invoking Automake::           Creating a Makefile.in
+* configure::                   Scanning configure.ac or configure.in
+* Directories::                 Declaring subdirectories
+* Programs::                    Building programs and libraries
+* Other objects::               Other derived objects
+* Other GNU Tools::             Other GNU Tools
+* Documentation::               Building documentation
+* Install::                     What gets installed
+* Clean::                       What gets cleaned
+* Dist::                        What goes in a distribution
+* Tests::                       Support for test suites
+* Rebuilding::                  Automatic rebuilding of Makefile
+* Options::                     Changing Automake's behavior
+* Miscellaneous::               Miscellaneous rules
+* Include::                     Including extra files in an Automake template.
+* Conditionals::                Conditionals
+* Gnits::                       The effect of `--gnu' and `--gnits'
+* Cygnus::                      The effect of `--cygnus'
+* Not Enough::                  When Automake is not Enough
+* Distributing::                Distributing the Makefile.in
+* API versioning::              About compatibility between Automake versions
+* Upgrading::                   Upgrading to a Newer Automake Version
+* FAQ::                         Frequently Asked Questions
+* History::                     Notes about the history of Automake
+* Copying This Manual::         How to make copies of this manual
+* Indices::                     Indices of variables, macros, and concepts
+
+ --- The Detailed Node Listing ---
+
+General ideas
+
+* General Operation::           General operation of Automake
+* Strictness::                  Standards conformance checking
+* Uniform::                     The Uniform Naming Scheme
+* Canonicalization::            How derived variables are named
+* User Variables::              Variables reserved for the user
+* Auxiliary Programs::          Programs automake might require
+
+Some example packages
+
+* Complete::                    A simple example, start to finish
+* Hello::                       A classic program
+* true::                        Building true and false
+
+Scanning `configure.ac'
+
+* Requirements::                Configuration requirements
+* Optional::                    Other things Automake recognizes
+* Invoking aclocal::            Auto-generating aclocal.m4
+* aclocal options::             aclocal command line arguments
+* Macro search path::           Modifying aclocal's search path
+* Macros::                      Autoconf macros supplied with Automake
+* Extending aclocal::           Writing your own aclocal macros
+* Local Macros::                Organizing local macros
+* Future of aclocal::           aclocal's scheduled death
+
+Auto-generating aclocal.m4
+
+* aclocal options::             Options supported by aclocal
+* Macro search path::           How aclocal finds .m4 files
+
+Autoconf macros supplied with Automake
+
+* Public macros::               Macros that you can use.
+* Obsolete macros::             Macros that you should stop using.
+* Private macros::              Macros that you should not use.
+
+Directories
+
+* Subdirectories::              Building subdirectories recursively
+* Conditional Subdirectories::  Conditionally not building directories
+* Alternative::                 Subdirectories without recursion
+* Subpackages::                 Nesting packages
+
+Building Programs and Libraries
+
+* A Program::                   Building a program
+* A Library::                   Building a library
+* A Shared Library::            Building a Libtool library
+* Program and Library Variables::  Variables controlling program and
+                                library builds
+* Default _SOURCES::            Default source files
+* LIBOBJS::                     Special handling for LIBOBJS and ALLOCA
+* Program variables::           Variables used when building a program
+* Yacc and Lex::                Yacc and Lex support
+* C++ Support::                 Compiling C++ sources
+* Assembly Support::            Compiling assembly sources
+* Fortran 77 Support::          Compiling Fortran 77 sources
+* Fortran 9x Support::          Compiling Fortran 9x sources
+* Java Support::                Compiling Java sources
+* Support for Other Languages::  Compiling other languages
+* ANSI::                        Automatic de-ANSI-fication
+* Dependencies::                Automatic dependency tracking
+* EXEEXT::                      Support for executable extensions
+
+Building a program
+
+* Program Sources::             Defining program sources
+* Linking::                     Linking with libraries or extra objects
+* Conditional Sources::         Handling conditional sources
+* Conditional Programs::        Building program conditionally
+
+Building a Shared Library
+
+* Libtool Concept::             Introducing Libtool
+* Libtool Libraries::           Declaring Libtool Libraries
+* Conditional Libtool Libraries::  Building Libtool Libraries Conditionally
+* Conditional Libtool Sources::  Choosing Library Sources Conditionally
+* Libtool Convenience Libraries::  Building Convenience Libtool Libraries
+* Libtool Modules::             Building Libtool Modules
+* Libtool Flags::               Using _LIBADD and _LDFLAGS
+* LTLIBOBJS::                   Using $(LTLIBOBJS) and $(LTALLOCA)
+* Libtool Issues::              Common Issues Related to Libtool's Use
+
+Fortran 77 Support
+
+* Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
+* Compiling Fortran 77 Files::  Compiling Fortran 77 sources
+* Mixing Fortran 77 With C and C++::  Mixing Fortran 77 With C and C++
+
+Mixing Fortran 77 With C and C++
+
+* How the Linker is Chosen::    Automatic linker selection
+
+Fortran 9x Support
+
+* Compiling Fortran 9x Files::  Compiling Fortran 9x sources
+
+Other Derived Objects
+
+* Scripts::                     Executable scripts
+* Headers::                     Header files
+* Data::                        Architecture-independent data files
+* Sources::                     Derived sources
+
+Built sources
+
+* Built sources example::       Several ways to handle built sources.
+
+Other GNU Tools
+
+* Emacs Lisp::                  Emacs Lisp
+* gettext::                     Gettext
+* Libtool::                     Libtool
+* Java::                        Java
+* Python::                      Python
+
+Building documentation
+
+* Texinfo::                     Texinfo
+* Man pages::                   Man pages
+
+Miscellaneous Rules
+
+* Tags::                        Interfacing to etags and mkid
+* Suffixes::                    Handling new file extensions
+* Multilibs::                   Support for multilibs.
+
+When Automake Isn't Enough
+
+* Extending::                   Adding new rules or overriding existing ones.
+* Third-Party Makefiles::       Integrating Non-Automake `Makefile's.
+
+Frequently Asked Questions about Automake
+
+* CVS::                         CVS and generated files
+* maintainer-mode::             missing and AM_MAINTAINER_MODE
+* wildcards::                   Why doesn't Automake support wildcards?
+* distcleancheck::              Files left in build directory after distclean
+* Flag Variables Ordering::     CFLAGS vs. AM_CFLAGS vs. mumble_CFLAGS
+* renamed objects::             Why are object files sometimes renamed?
+* Per-Object Flags::            How to simulate per-object flags?
+* Multiple Outputs::            Writing rules for tools with many output files
+* Hard-Coded Install Paths::    Installing to Hard-Coded Locations
+
+History of Automake
+
+* Timeline::                    The Automake story.
+* Dependency Tracking Evolution::  Evolution of Automatic Dependency Tracking
+* Releases::                    Statistics about Automake Releases
+
+Copying This Manual
+
+* GNU Free Documentation License::  License for copying this manual
+
+Indices
+
+* Macro Index::                 Index of Autoconf macros
+* Variable Index::              Index of Makefile variables
+* General Index::               General index
+
+
+File: automake.info,  Node: Introduction,  Next: Generalities,  Prev: Top,  Up: Top
+
+1 Introduction
+**************
+
+Automake is a tool for automatically generating `Makefile.in's from
+files called `Makefile.am'.  Each `Makefile.am' is basically a series
+of `make' variable definitions(1), with rules being thrown in
+occasionally.  The generated `Makefile.in's are compliant with the GNU
+Makefile standards.
+
+   The GNU Makefile Standards Document (*note Makefile Conventions:
+(standards)Makefile Conventions.)  is long, complicated, and subject to
+change.  The goal of Automake is to remove the burden of Makefile
+maintenance from the back of the individual GNU maintainer (and put it
+on the back of the Automake maintainer).
+
+   The typical Automake input file is simply a series of variable
+definitions.  Each such file is processed to create a `Makefile.in'.
+There should generally be one `Makefile.am' per directory of a project.
+
+   Automake does constrain a project in certain ways; for instance, it
+assumes that the project uses Autoconf (*note Introduction:
+(autoconf)Top.), and enforces certain restrictions on the
+`configure.ac' contents(2).
+
+   Automake requires `perl' in order to generate the `Makefile.in's.
+However, the distributions created by Automake are fully GNU
+standards-compliant, and do not require `perl' in order to be built.
+
+   Mail suggestions and bug reports for Automake to
+<bug-automake@gnu.org>.
+
+   ---------- Footnotes ----------
+
+   (1) These variables are also called "make macros" in Make
+terminology, however in this manual we reserve the term "macro" for
+Autoconf's macros.
+
+   (2) Older Autoconf versions used `configure.in'.  Autoconf 2.50 and
+greater promotes `configure.ac' over `configure.in'.  The rest of this
+documentation will refer to `configure.ac', but Automake also supports
+`configure.in' for backward compatibility.
+
+
+File: automake.info,  Node: Generalities,  Next: Examples,  Prev: Introduction,  Up: Top
+
+2 General ideas
+***************
+
+The following sections cover a few basic ideas that will help you
+understand how Automake works.
+
+* Menu:
+
+* General Operation::           General operation of Automake
+* Strictness::                  Standards conformance checking
+* Uniform::                     The Uniform Naming Scheme
+* Canonicalization::            How derived variables are named
+* User Variables::              Variables reserved for the user
+* Auxiliary Programs::          Programs automake might require
+
+
+File: automake.info,  Node: General Operation,  Next: Strictness,  Up: Generalities
+
+2.1 General Operation
+=====================
+
+Automake works by reading a `Makefile.am' and generating a
+`Makefile.in'.  Certain variables and rules defined in the
+`Makefile.am' instruct Automake to generate more specialized code; for
+instance, a `bin_PROGRAMS' variable definition will cause rules for
+compiling and linking programs to be generated.
+
+   The variable definitions and rules in the `Makefile.am' are copied
+verbatim into the generated file.  This allows you to add arbitrary
+code into the generated `Makefile.in'.  For instance, the Automake
+distribution includes a non-standard rule for the `cvs-dist' target,
+which the Automake maintainer uses to make distributions from his
+source control system.
+
+   Note that most GNU make extensions are not recognized by Automake.
+Using such extensions in a `Makefile.am' will lead to errors or
+confusing behavior.
+
+   A special exception is that the GNU make append operator, `+=', is
+supported.  This operator appends its right hand argument to the
+variable specified on the left.  Automake will translate the operator
+into an ordinary `=' operator; `+=' will thus work with any make
+program.
+
+   Automake tries to keep comments grouped with any adjoining rules or
+variable definitions.
+
+   A rule defined in `Makefile.am' generally overrides any such rule of
+a similar name that would be automatically generated by `automake'.
+Although this is a supported feature, it is generally best to avoid
+making use of it, as sometimes the generated rules are very particular.
+
+   Similarly, a variable defined in `Makefile.am' or `AC_SUBST'ed from
+`configure.ac' will override any definition of the variable that
+`automake' would ordinarily create.  This feature is more often useful
+than the ability to override a rule.  Be warned that many of the
+variables generated by `automake' are considered to be for internal use
+only, and their names might change in future releases.
+
+   When examining a variable definition, Automake will recursively
+examine variables referenced in the definition.  For example, if
+Automake is looking at the content of `foo_SOURCES' in this snippet
+
+     xs = a.c b.c
+     foo_SOURCES = c.c $(xs)
+
+   it would use the files `a.c', `b.c', and `c.c' as the contents of
+`foo_SOURCES'.
+
+   Automake also allows a form of comment that is _not_ copied into the
+output; all lines beginning with `##' (leading spaces allowed) are
+completely ignored by Automake.
+
+   It is customary to make the first line of `Makefile.am' read:
+
+     ## Process this file with automake to produce Makefile.in
+
+
+File: automake.info,  Node: Strictness,  Next: Uniform,  Prev: General Operation,  Up: Generalities
+
+2.2 Strictness
+==============
+
+While Automake is intended to be used by maintainers of GNU packages, it
+does make some effort to accommodate those who wish to use it, but do
+not want to use all the GNU conventions.
+
+   To this end, Automake supports three levels of "strictness"--the
+strictness indicating how stringently Automake should check standards
+conformance.
+
+   The valid strictness levels are:
+
+`foreign'
+     Automake will check for only those things that are absolutely
+     required for proper operations.  For instance, whereas GNU
+     standards dictate the existence of a `NEWS' file, it will not be
+     required in this mode.  The name comes from the fact that Automake
+     is intended to be used for GNU programs; these relaxed rules are
+     not the standard mode of operation.
+
+`gnu'
+     Automake will check--as much as possible--for compliance to the GNU
+     standards for packages.  This is the default.
+
+`gnits'
+     Automake will check for compliance to the as-yet-unwritten "Gnits
+     standards".  These are based on the GNU standards, but are even
+     more detailed.  Unless you are a Gnits standards contributor, it is
+     recommended that you avoid this option until such time as the Gnits
+     standard is actually published (which may never happen).
+
+   *Note Gnits::, for more information on the precise implications of
+the strictness level.
+
+   Automake also has a special "cygnus" mode that is similar to
+strictness but handled differently.  This mode is useful for packages
+that are put into a "Cygnus" style tree (e.g., the GCC tree).  *Note
+Cygnus::, for more information on this mode.
+
+
+File: automake.info,  Node: Uniform,  Next: Canonicalization,  Prev: Strictness,  Up: Generalities
+
+2.3 The Uniform Naming Scheme
+=============================
+
+Automake variables generally follow a "uniform naming scheme" that
+makes it easy to decide how programs (and other derived objects) are
+built, and how they are installed.  This scheme also supports
+`configure' time determination of what should be built.
+
+   At `make' time, certain variables are used to determine which
+objects are to be built.  The variable names are made of several pieces
+that are concatenated together.
+
+   The piece that tells automake what is being built is commonly called
+the "primary".  For instance, the primary `PROGRAMS' holds a list of
+programs that are to be compiled and linked.  
+
+   A different set of names is used to decide where the built objects
+should be installed.  These names are prefixes to the primary, and they
+indicate which standard directory should be used as the installation
+directory.  The standard directory names are given in the GNU standards
+(*note Directory Variables: (standards)Directory Variables.).  Automake
+extends this list with `pkglibdir', `pkgincludedir', and `pkgdatadir';
+these are the same as the non-`pkg' versions, but with `$(PACKAGE)'
+appended.  For instance, `pkglibdir' is defined as
+`$(libdir)/$(PACKAGE)'.
+
+   For each primary, there is one additional variable named by
+prepending `EXTRA_' to the primary name.  This variable is used to list
+objects that may or may not be built, depending on what `configure'
+decides.  This variable is required because Automake must statically
+know the entire list of objects that may be built in order to generate
+a `Makefile.in' that will work in all cases.
+
+   For instance, `cpio' decides at configure time which programs should
+be built.  Some of the programs are installed in `bindir', and some are
+installed in `sbindir':
+
+     EXTRA_PROGRAMS = mt rmt
+     bin_PROGRAMS = cpio pax
+     sbin_PROGRAMS = $(MORE_PROGRAMS)
+
+   Defining a primary without a prefix as a variable, e.g., `PROGRAMS',
+is an error.
+
+   Note that the common `dir' suffix is left off when constructing the
+variable names; thus one writes `bin_PROGRAMS' and not
+`bindir_PROGRAMS'.
+
+   Not every sort of object can be installed in every directory.
+Automake will flag those attempts it finds in error.  Automake will
+also diagnose obvious misspellings in directory names.
+
+   Sometimes the standard directories--even as augmented by
+Automake--are not enough.  In particular it is sometimes useful, for
+clarity, to install objects in a subdirectory of some predefined
+directory.  To this end, Automake allows you to extend the list of
+possible installation directories.  A given prefix (e.g., `zar') is
+valid if a variable of the same name with `dir' appended is defined
+(e.g., `zardir').
+
+   For instance, the following snippet will install `file.xml' into
+`$(datadir)/xml'.
+
+     xmldir = $(datadir)/xml
+     xml_DATA = file.xml
+
+   The special prefix `noinst_' indicates that the objects in question
+should be built but not installed at all.  This is usually used for
+objects required to build the rest of your package, for instance static
+libraries (*note A Library::), or helper scripts.
+
+   The special prefix `check_' indicates that the objects in question
+should not be built until the `make check' command is run.  Those
+objects are not installed either.
+
+   The current primary names are `PROGRAMS', `LIBRARIES', `LISP',
+`PYTHON', `JAVA', `SCRIPTS', `DATA', `HEADERS', `MANS', and `TEXINFOS'.  
+
+   Some primaries also allow additional prefixes that control other
+aspects of `automake''s behavior.  The currently defined prefixes are
+`dist_', `nodist_', and `nobase_'.  These prefixes are explained later
+(*note Program and Library Variables::).
+
+
+File: automake.info,  Node: Canonicalization,  Next: User Variables,  Prev: Uniform,  Up: Generalities
+
+2.4 How derived variables are named
+===================================
+
+Sometimes a Makefile variable name is derived from some text the
+maintainer supplies.  For instance, a program name listed in
+`_PROGRAMS' is rewritten into the name of a `_SOURCES' variable.  In
+cases like this, Automake canonicalizes the text, so that program names
+and the like do not have to follow Makefile variable naming rules.  All
+characters in the name except for letters, numbers, the strudel (@),
+and the underscore are turned into underscores when making variable
+references.
+
+   For example, if your program is named `sniff-glue', the derived
+variable name would be `sniff_glue_SOURCES', not `sniff-glue_SOURCES'.
+Similarly the sources for a library named `libmumble++.a' should be
+listed in the `libmumble___a_SOURCES' variable.
+
+   The strudel is an addition, to make the use of Autoconf
+substitutions in variable names less obfuscating.
+
+
+File: automake.info,  Node: User Variables,  Next: Auxiliary Programs,  Prev: Canonicalization,  Up: Generalities
+
+2.5 Variables reserved for the user
+===================================
+
+Some `Makefile' variables are reserved by the GNU Coding Standards for
+the use of the "user"--the person building the package.  For instance,
+`CFLAGS' is one such variable.
+
+   Sometimes package developers are tempted to set user variables such
+as `CFLAGS' because it appears to make their job easier.  However, the
+package itself should never set a user variable, particularly not to
+include switches that are required for proper compilation of the
+package.  Since these variables are documented as being for the package
+builder, that person rightfully expects to be able to override any of
+these variables at build time.
+
+   To get around this problem, Automake introduces an automake-specific
+shadow variable for each user flag variable.  (Shadow variables are not
+introduced for variables like `CC', where they would make no sense.)
+The shadow variable is named by prepending `AM_' to the user variable's
+name.  For instance, the shadow variable for `YFLAGS' is `AM_YFLAGS'.
+The package maintainer--that is, the author(s) of the `Makefile.am' and
+`configure.ac' files--may adjust these shadow variables however
+necessary.
+
+   *Note Flag Variables Ordering::, for more discussion about these
+variables and how they interact with per-target variables.
+
+
+File: automake.info,  Node: Auxiliary Programs,  Prev: User Variables,  Up: Generalities
+
+2.6 Programs automake might require
+===================================
+
+Automake sometimes requires helper programs so that the generated
+`Makefile' can do its work properly.  There are a fairly large number
+of them, and we list them here.
+
+   Although all of these files are distributed and installed with
+Automake, a couple of them are maintained separately.  The Automake
+copies are updated before each release, but we mention the original
+source in case you need more recent versions.
+
+`ansi2knr.c'
+`ansi2knr.1'
+     These two files are used by the automatic de-ANSI-fication support
+     (*note ANSI::).
+
+`compile'
+     This is a wrapper for compilers that do not accept options `-c'
+     and `-o' at the same time.  It is only used when absolutely
+     required.  Such compilers are rare.
+
+`config.guess'
+`config.sub'
+     These two programs compute the canonical triplets for the given
+     build, host, or target architecture.  These programs are updated
+     regularly to support new architectures and fix probes broken by
+     changes in new kernel versions.  Each new release of Automake
+     comes with up-to-date copies of these programs.  If your copy of
+     Automake is getting old, you are encouraged to fetch the latest
+     versions of these files from
+     `http://savannah.gnu.org/cvs/?group=config' before making a
+     release.
+
+`config-ml.in'
+     This file is not a program, it is a `configure' fragment used for
+     multilib support (*note Multilibs::).  This file is maintained in
+     the GCC tree at `http://gcc.gnu.org/cvs.html'.
+
+`depcomp'
+     This program understands how to run a compiler so that it will
+     generate not only the desired output but also dependency
+     information that is then used by the automatic dependency tracking
+     feature.
+
+`elisp-comp'
+     This program is used to byte-compile Emacs Lisp code.
+
+`install-sh'
+     This is a replacement for the `install' program that works on
+     platforms where `install' is unavailable or unusable.
+
+`mdate-sh'
+     This script is used to generate a `version.texi' file.  It examines
+     a file and prints some date information about it.
+
+`missing'
+     This wraps a number of programs that are typically only required by
+     maintainers.  If the program in question doesn't exist, `missing'
+     prints an informative warning and attempts to fix things so that
+     the build can continue.
+
+`mkinstalldirs'
+     This script used to be a wrapper around `mkdir -p', which is not
+     portable.  Now we use prefer to use `install-sh -d' when configure
+     finds that `mkdir -p' does not work, this makes one less script to
+     distribute.
+
+     For backward compatibility `mkinstalldirs' is still used and
+     distributed when `automake' finds it in a package.  But it is no
+     longer installed automatically, and it should be safe to remove it.
+
+`py-compile'
+     This is used to byte-compile Python scripts.
+
+`symlink-tree'
+     This program duplicates a tree of directories, using symbolic links
+     instead of copying files.  Such operation is performed when
+     building multilibs (*note Multilibs::).  This file is maintained
+     in the GCC tree at `http://gcc.gnu.org/cvs.html'.
+
+`texinfo.tex'
+     Not a program, this file is required for `make dvi', `make ps' and
+     `make pdf' to work when Texinfo sources are in the package.  The
+     latest version can be downloaded from
+     `http://www.gnu.org/software/texinfo/'.
+
+`ylwrap'
+     This program wraps `lex' and `yacc' and ensures that, for
+     instance, multiple `yacc' instances can be invoked in a single
+     directory in parallel.
+
+
+
+File: automake.info,  Node: Examples,  Next: Invoking Automake,  Prev: Generalities,  Up: Top
+
+3 Some example packages
+***********************
+
+* Menu:
+
+* Complete::                    A simple example, start to finish
+* Hello::                       A classic program
+* true::                        Building true and false
+
+
+File: automake.info,  Node: Complete,  Next: Hello,  Up: Examples
+
+3.1 A simple example, start to finish
+=====================================
+
+Let's suppose you just finished writing `zardoz', a program to make
+your head float from vortex to vortex.  You've been using Autoconf to
+provide a portability framework, but your `Makefile.in's have been
+ad-hoc.  You want to make them bulletproof, so you turn to Automake.
+
+   The first step is to update your `configure.ac' to include the
+commands that `automake' needs.  The way to do this is to add an
+`AM_INIT_AUTOMAKE' call just after `AC_INIT':
+
+     AC_INIT(zardoz, 1.0)
+     AM_INIT_AUTOMAKE
+     ...
+
+   Since your program doesn't have any complicating factors (e.g., it
+doesn't use `gettext', it doesn't want to build a shared library),
+you're done with this part.  That was easy!
+
+   Now you must regenerate `configure'.  But to do that, you'll need to
+tell `autoconf' how to find the new macro you've used.  The easiest way
+to do this is to use the `aclocal' program to generate your
+`aclocal.m4' for you.  But wait... maybe you already have an
+`aclocal.m4', because you had to write some hairy macros for your
+program.  The `aclocal' program lets you put your own macros into
+`acinclude.m4', so simply rename and then run:
+
+     mv aclocal.m4 acinclude.m4
+     aclocal
+     autoconf
+
+   Now it is time to write your `Makefile.am' for `zardoz'.  Since
+`zardoz' is a user program, you want to install it where the rest of
+the user programs go: `bindir'.  Additionally, `zardoz' has some
+Texinfo documentation.  Your `configure.ac' script uses
+`AC_REPLACE_FUNCS', so you need to link against `$(LIBOBJS)'.  So
+here's what you'd write:
+
+     bin_PROGRAMS = zardoz
+     zardoz_SOURCES = main.c head.c float.c vortex9.c gun.c
+     zardoz_LDADD = $(LIBOBJS)
+
+     info_TEXINFOS = zardoz.texi
+
+   Now you can run `automake --add-missing' to generate your
+`Makefile.in' and grab any auxiliary files you might need, and you're
+done!
+
+
+File: automake.info,  Node: Hello,  Next: true,  Prev: Complete,  Up: Examples
+
+3.2 A classic program
+=====================
+
+GNU hello (ftp://prep.ai.mit.edu/pub/gnu/hello-1.3.tar.gz) is renowned
+for its classic simplicity and versatility.  This section shows how
+Automake could be used with the GNU Hello package.  The examples below
+are from the latest beta version of GNU Hello, but with all of the
+maintainer-only code stripped out, as well as all copyright comments.
+
+   Of course, GNU Hello is somewhat more featureful than your
+traditional two-liner.  GNU Hello is internationalized, does option
+processing, and has a manual and a test suite.
+
+   Here is the `configure.ac' from GNU Hello.  *Please note:* The calls
+to `AC_INIT' and `AM_INIT_AUTOMAKE' in this example use a deprecated
+syntax.  For the current approach, see the description of
+`AM_INIT_AUTOMAKE' in *Note Public macros::.
+
+     dnl Process this file with autoconf to produce a configure script.
+     AC_INIT(src/hello.c)
+     AM_INIT_AUTOMAKE(hello, 1.3.11)
+     AM_CONFIG_HEADER(config.h)
+
+     dnl Set of available languages.
+     ALL_LINGUAS="de fr es ko nl no pl pt sl sv"
+
+     dnl Checks for programs.
+     AC_PROG_CC
+     AC_ISC_POSIX
+
+     dnl Checks for libraries.
+
+     dnl Checks for header files.
+     AC_STDC_HEADERS
+     AC_HAVE_HEADERS(string.h fcntl.h sys/file.h sys/param.h)
+
+     dnl Checks for library functions.
+     AC_FUNC_ALLOCA
+
+     dnl Check for st_blksize in struct stat
+     AC_ST_BLKSIZE
+
+     dnl internationalization macros
+     AM_GNU_GETTEXT
+     AC_OUTPUT([Makefile doc/Makefile intl/Makefile po/Makefile.in \
+                src/Makefile tests/Makefile tests/hello],
+        [chmod +x tests/hello])
+
+   The `AM_' macros are provided by Automake (or the Gettext library);
+the rest are standard Autoconf macros.
+
+   The top-level `Makefile.am':
+
+     EXTRA_DIST = BUGS ChangeLog.O
+     SUBDIRS = doc intl po src tests
+
+   As you can see, all the work here is really done in subdirectories.
+
+   The `po' and `intl' directories are automatically generated using
+`gettextize'; they will not be discussed here.
+
+   In `doc/Makefile.am' we see:
+
+     info_TEXINFOS = hello.texi
+     hello_TEXINFOS = gpl.texi
+
+   This is sufficient to build, install, and distribute the GNU Hello
+manual.
+
+   Here is `tests/Makefile.am':
+
+     TESTS = hello
+     EXTRA_DIST = hello.in testdata
+
+   The script `hello' is generated by `configure', and is the only test
+case.  `make check' will run this test.
+
+   Last we have `src/Makefile.am', where all the real work is done:
+
+     bin_PROGRAMS = hello
+     hello_SOURCES = hello.c version.c getopt.c getopt1.c getopt.h system.h
+     hello_LDADD = $(INTLLIBS) $(ALLOCA)
+     localedir = $(datadir)/locale
+     INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\"
+
+
+File: automake.info,  Node: true,  Prev: Hello,  Up: Examples
+
+3.3 Building true and false
+===========================
+
+Here is another, trickier example.  It shows how to generate two
+programs (`true' and `false') from the same source file (`true.c').
+The difficult part is that each compilation of `true.c' requires
+different `cpp' flags.
+
+     bin_PROGRAMS = true false
+     false_SOURCES =
+     false_LDADD = false.o
+
+     true.o: true.c
+             $(COMPILE) -DEXIT_CODE=0 -c true.c
+
+     false.o: true.c
+             $(COMPILE) -DEXIT_CODE=1 -o false.o -c true.c
+
+   Note that there is no `true_SOURCES' definition.  Automake will
+implicitly assume that there is a source file named `true.c', and
+define rules to compile `true.o' and link `true'.  The `true.o: true.c'
+rule supplied by the above `Makefile.am', will override the Automake
+generated rule to build `true.o'.
+
+   `false_SOURCES' is defined to be empty--that way no implicit value
+is substituted.  Because we have not listed the source of `false', we
+have to tell Automake how to link the program.  This is the purpose of
+the `false_LDADD' line.  A `false_DEPENDENCIES' variable, holding the
+dependencies of the `false' target will be automatically generated by
+Automake from the content of `false_LDADD'.
+
+   The above rules won't work if your compiler doesn't accept both `-c'
+and `-o'.  The simplest fix for this is to introduce a bogus dependency
+(to avoid problems with a parallel `make'):
+
+     true.o: true.c false.o
+             $(COMPILE) -DEXIT_CODE=0 -c true.c
+
+     false.o: true.c
+             $(COMPILE) -DEXIT_CODE=1 -c true.c && mv true.o false.o
+
+   Also, these explicit rules do not work if the de-ANSI-fication
+feature is used (*note ANSI::).  Supporting de-ANSI-fication requires a
+little more work:
+
+     true_.o: true_.c false_.o
+             $(COMPILE) -DEXIT_CODE=0 -c true_.c
+
+     false_.o: true_.c
+             $(COMPILE) -DEXIT_CODE=1 -c true_.c && mv true_.o false_.o
+
+   As it turns out, there is also a much easier way to do this same
+task.  Some of the above techniques are useful enough that we've kept
+the example in the manual.  However if you were to build `true' and
+`false' in real life, you would probably use per-program compilation
+flags, like so:
+
+     bin_PROGRAMS = false true
+
+     false_SOURCES = true.c
+     false_CPPFLAGS = -DEXIT_CODE=1
+
+     true_SOURCES = true.c
+     true_CPPFLAGS = -DEXIT_CODE=0
+
+   In this case Automake will cause `true.c' to be compiled twice, with
+different flags.  De-ANSI-fication will work automatically.  In this
+instance, the names of the object files would be chosen by automake;
+they would be `false-true.o' and `true-true.o'.  (The name of the
+object files rarely matters.)
+
+
+File: automake.info,  Node: Invoking Automake,  Next: configure,  Prev: Examples,  Up: Top
+
+4 Creating a `Makefile.in'
+**************************
+
+To create all the `Makefile.in's for a package, run the `automake'
+program in the top level directory, with no arguments.  `automake' will
+automatically find each appropriate `Makefile.am' (by scanning
+`configure.ac'; *note configure::) and generate the corresponding
+`Makefile.in'.  Note that `automake' has a rather simplistic view of
+what constitutes a package; it assumes that a package has only one
+`configure.ac', at the top.  If your package has multiple
+`configure.ac's, then you must run `automake' in each directory holding
+a `configure.ac'.  (Alternatively, you may rely on Autoconf's
+`autoreconf', which is able to recurse your package tree and run
+`automake' where appropriate.)
+
+   You can optionally give `automake' an argument; `.am' is appended to
+the argument and the result is used as the name of the input file.
+This feature is generally only used to automatically rebuild an
+out-of-date `Makefile.in'.  Note that `automake' must always be run
+from the topmost directory of a project, even if being used to
+regenerate the `Makefile.in' in some subdirectory.  This is necessary
+because `automake' must scan `configure.ac', and because `automake'
+uses the knowledge that a `Makefile.in' is in a subdirectory to change
+its behavior in some cases.
+
+   Automake will run `autoconf' to scan `configure.ac' and its
+dependencies (i.e., `aclocal.m4' and any included file), therefore
+`autoconf' must be in your `PATH'.  If there is an `AUTOCONF' variable
+in your environment it will be used instead of `autoconf', this allows
+you to select a particular version of Autoconf.  By the way, don't
+misunderstand this paragraph: `automake' runs `autoconf' to *scan* your
+`configure.ac', this won't build `configure' and you still have to run
+`autoconf' yourself for this purpose.
+
+   `automake' accepts the following options:
+
+`-a'
+`--add-missing'
+     Automake requires certain common files to exist in certain
+     situations; for instance, `config.guess' is required if
+     `configure.ac' runs `AC_CANONICAL_HOST'.  Automake is distributed
+     with several of these files (*note Auxiliary Programs::); this
+     option will cause the missing ones to be automatically added to
+     the package, whenever possible.  In general if Automake tells you
+     a file is missing, try using this option.  By default Automake
+     tries to make a symbolic link pointing to its own copy of the
+     missing file; this can be changed with `--copy'.
+
+     Many of the potentially-missing files are common scripts whose
+     location may be specified via the `AC_CONFIG_AUX_DIR' macro.
+     Therefore, `AC_CONFIG_AUX_DIR''s setting affects whether a file is
+     considered missing, and where the missing file is added (*note
+     Optional::).
+
+`--libdir=DIR'
+     Look for Automake data files in directory DIR instead of in the
+     installation directory.  This is typically used for debugging.
+
+`-c'
+`--copy'
+     When used with `--add-missing', causes installed files to be
+     copied.  The default is to make a symbolic link.
+
+`--cygnus'
+     Causes the generated `Makefile.in's to follow Cygnus rules, instead
+     of GNU or Gnits rules.  For more information, see *Note Cygnus::.
+
+`-f'
+`--force-missing'
+     When used with `--add-missing', causes standard files to be
+     reinstalled even if they already exist in the source tree.  This
+     involves removing the file from the source tree before creating
+     the new symlink (or, with `--copy', copying the new file).
+
+`--foreign'
+     Set the global strictness to `foreign'.  For more information, see
+     *Note Strictness::.
+
+`--gnits'
+     Set the global strictness to `gnits'.  For more information, see
+     *Note Gnits::.
+
+`--gnu'
+     Set the global strictness to `gnu'.  For more information, see
+     *Note Gnits::.  This is the default strictness.
+
+`--help'
+     Print a summary of the command line options and exit.
+
+`-i'
+`--ignore-deps'
+     This disables the dependency tracking feature in generated
+     `Makefile's; see *Note Dependencies::.
+
+`--include-deps'
+     This enables the dependency tracking feature.  This feature is
+     enabled by default.  This option is provided for historical
+     reasons only and probably should not be used.
+
+`--no-force'
+     Ordinarily `automake' creates all `Makefile.in's mentioned in
+     `configure.ac'.  This option causes it to only update those
+     `Makefile.in's that are out of date with respect to one of their
+     dependents.
+
+`-o DIR'
+`--output-dir=DIR'
+     Put the generated `Makefile.in' in the directory DIR.  Ordinarily
+     each `Makefile.in' is created in the directory of the
+     corresponding `Makefile.am'.  This option is deprecated and will be
+     removed in a future release.
+
+`-v'
+`--verbose'
+     Cause Automake to print information about which files are being
+     read or created.
+
+`--version'
+     Print the version number of Automake and exit.
+
+`-W CATEGORY'
+
+`--warnings=CATEGORY'
+     Output warnings falling in CATEGORY.  CATEGORY can be one of:
+    `gnu'
+          warnings related to the GNU Coding Standards (*note Top:
+          (standards)Top.).
+
+    `obsolete'
+          obsolete features or constructions
+
+    `override'
+          user redefinitions of Automake rules or variables
+
+    `portability'
+          portability issues (e.g., use of `make' features that are
+          known to be not portable)
+
+    `syntax'
+          weird syntax, unused variables, typos
+
+    `unsupported'
+          unsupported or incomplete features
+
+    `all'
+          all the warnings
+
+    `none'
+          turn off all the warnings
+
+    `error'
+          treat warnings as errors
+
+     A category can be turned off by prefixing its name with `no-'.  For
+     instance, `-Wno-syntax' will hide the warnings about unused
+     variables.
+
+     The categories output by default are `syntax' and `unsupported'.
+     Additionally, `gnu' is enabled in `--gnu' and `--gnits' strictness.
+
+     `portability' warnings are currently disabled by default, but they
+     will be enabled in `--gnu' and `--gnits' strictness in a future
+     release.
+
+     The environment variable `WARNINGS' can contain a comma separated
+     list of categories to enable.  It will be taken into account
+     before the command-line switches, this way `-Wnone' will also
+     ignore any warning category enabled by `WARNINGS'.  This variable
+     is also used by other tools like `autoconf'; unknown categories
+     are ignored for this reason.
+
+
+
+File: automake.info,  Node: configure,  Next: Directories,  Prev: Invoking Automake,  Up: Top
+
+5 Scanning `configure.ac'
+*************************
+
+Automake scans the package's `configure.ac' to determine certain
+information about the package.  Some `autoconf' macros are required and
+some variables must be defined in `configure.ac'.  Automake will also
+use information from `configure.ac' to further tailor its output.
+
+   Automake also supplies some Autoconf macros to make the maintenance
+easier.  These macros can automatically be put into your `aclocal.m4'
+using the `aclocal' program.
+
+* Menu:
+
+* Requirements::                Configuration requirements
+* Optional::                    Other things Automake recognizes
+* Invoking aclocal::            Auto-generating aclocal.m4
+* aclocal options::             aclocal command line arguments
+* Macro search path::           Modifying aclocal's search path
+* Macros::                      Autoconf macros supplied with Automake
+* Extending aclocal::           Writing your own aclocal macros
+* Local Macros::                Organizing local macros
+* Future of aclocal::           aclocal's scheduled death
+
+
+File: automake.info,  Node: Requirements,  Next: Optional,  Up: configure
+
+5.1 Configuration requirements
+==============================
+
+The one real requirement of Automake is that your `configure.ac' call
+`AM_INIT_AUTOMAKE'.  This macro does several things that are required
+for proper Automake operation (*note Macros::).
+
+   Here are the other macros that Automake requires but which are not
+run by `AM_INIT_AUTOMAKE':
+
+`AC_CONFIG_FILES'
+`AC_OUTPUT'
+     Automake uses these to determine which files to create (*note
+     Creating Output Files: (autoconf)Output.).  A listed file is
+     considered to be an Automake generated `Makefile' if there exists
+     a file with the same name and the `.am' extension appended.
+     Typically, `AC_CONFIG_FILES([foo/Makefile])' will cause Automake to
+     generate `foo/Makefile.in' if `foo/Makefile.am' exists.
+
+     When using `AC_CONFIG_FILES' with multiple input files, as in
+
+          AC_CONFIG_FILES([Makefile:top.in:Makefile.in:bot.in])
+
+     `automake' will generate the first `.in' input file for which a
+     `.am' file exists.  If no such file exists the output file is not
+     considered to be Automake generated.
+
+     Files created by `AC_CONFIG_FILES' are removed by `make distclean'.
+
+
+File: automake.info,  Node: Optional,  Next: Invoking aclocal,  Prev: Requirements,  Up: configure
+
+5.2 Other things Automake recognizes
+====================================
+
+Every time Automake is run it calls Autoconf to trace `configure.ac'.
+This way it can recognize the use of certain macros and tailor the
+generated `Makefile.in' appropriately.  Currently recognized macros and
+their effects are:
+
+`AC_CONFIG_HEADERS'
+     Automake will generate rules to rebuild these headers.  Older
+     versions of Automake required the use of `AM_CONFIG_HEADER' (*note
+     Macros::); this is no longer the case today.
+
+`AC_CONFIG_LINKS'
+     Automake will generate rules to remove `configure' generated links
+     on `make distclean' and to distribute named source files as part of
+     `make dist'.
+
+`AC_CONFIG_AUX_DIR'
+     Automake will look for various helper scripts, such as
+     `install-sh', in the directory named in this macro invocation.
+     (The full list of scripts is: `config.guess', `config.sub',
+     `depcomp', `elisp-comp', `compile', `install-sh', `ltmain.sh',
+     `mdate-sh', `missing', `mkinstalldirs', `py-compile',
+     `texinfo.tex', and `ylwrap'.)  Not all scripts are always searched
+     for; some scripts will only be sought if the generated
+     `Makefile.in' requires them.
+
+     If `AC_CONFIG_AUX_DIR' is not given, the scripts are looked for in
+     their standard locations.  For `mdate-sh', `texinfo.tex', and
+     `ylwrap', the standard location is the source directory
+     corresponding to the current `Makefile.am'.  For the rest, the
+     standard location is the first one of `.', `..', or `../..'
+     (relative to the top source directory) that provides any one of
+     the helper scripts.  *Note Finding `configure' Input:
+     (autoconf)Input.
+
+     Required files from `AC_CONFIG_AUX_DIR' are automatically
+     distributed, even if there is no `Makefile.am' in this directory.
+
+`AC_CANONICAL_BUILD'
+`AC_CANONICAL_HOST'
+`AC_CANONICAL_TARGET'
+     Automake will ensure that `config.guess' and `config.sub' exist.
+     Also, the `Makefile' variables `build_triplet', `host_triplet' and
+     `target_triplet' are introduced.  See *Note Getting the Canonical
+     System Type: (autoconf)Canonicalizing.
+
+`AC_LIBSOURCE'
+`AC_LIBSOURCES'
+`AC_LIBOBJ'
+     Automake will automatically distribute any file listed in
+     `AC_LIBSOURCE' or `AC_LIBSOURCES'.
+
+     Note that the `AC_LIBOBJ' macro calls `AC_LIBSOURCE'.  So if an
+     Autoconf macro is documented to call `AC_LIBOBJ([file])', then
+     `file.c' will be distributed automatically by Automake.  This
+     encompasses many macros like `AC_FUNC_ALLOCA', `AC_FUNC_MEMCMP',
+     `AC_REPLACE_FUNCS', and others.
+
+     By the way, direct assignments to `LIBOBJS' are no longer
+     supported.  You should always use `AC_LIBOBJ' for this purpose.
+     *Note `AC_LIBOBJ' vs. `LIBOBJS': (autoconf)AC_LIBOBJ vs LIBOBJS.
+
+`AC_PROG_RANLIB'
+     This is required if any libraries are built in the package.  *Note
+     Particular Program Checks: (autoconf)Particular Programs.
+
+`AC_PROG_CXX'
+     This is required if any C++ source is included.  *Note Particular
+     Program Checks: (autoconf)Particular Programs.
+
+`AC_PROG_F77'
+     This is required if any Fortran 77 source is included.  This macro
+     is distributed with Autoconf version 2.13 and later.  *Note
+     Particular Program Checks: (autoconf)Particular Programs.
+
+`AC_F77_LIBRARY_LDFLAGS'
+     This is required for programs and shared libraries that are a
+     mixture of languages that include Fortran 77 (*note Mixing Fortran
+     77 With C and C++::).  *Note Autoconf macros supplied with
+     Automake: Macros.
+
+`AC_PROG_FC'
+     This is required if any Fortran 90/95 source is included.  This
+     macro is distributed with Autoconf version 2.58 and later.  *Note
+     Particular Program Checks: (autoconf)Particular Programs.
+
+`AC_PROG_LIBTOOL'
+     Automake will turn on processing for `libtool' (*note
+     Introduction: (libtool)Top.).
+
+`AC_PROG_YACC'
+     If a Yacc source file is seen, then you must either use this macro
+     or define the variable `YACC' in `configure.ac'.  The former is
+     preferred (*note Particular Program Checks: (autoconf)Particular
+     Programs.).
+
+`AC_PROG_LEX'
+     If a Lex source file is seen, then this macro must be used.  *Note
+     Particular Program Checks: (autoconf)Particular Programs.
+
+`AC_SUBST'
+     The first argument is automatically defined as a variable in each
+     generated `Makefile.in'.  *Note Setting Output Variables:
+     (autoconf)Setting Output Variables.
+
+     If the Autoconf manual says that a macro calls `AC_SUBST' for VAR,
+     or defines the output variable VAR then VAR will be defined in
+     each `Makefile.in' generated by Automake.  E.g. `AC_PATH_XTRA'
+     defines `X_CFLAGS' and `X_LIBS', so you can use these variables in
+     any `Makefile.am' if `AC_PATH_XTRA' is called.
+
+`AM_C_PROTOTYPES'
+     This is required when using automatic de-ANSI-fication; see *Note
+     ANSI::.
+
+`AM_GNU_GETTEXT'
+     This macro is required for packages that use GNU gettext (*note
+     gettext::).  It is distributed with gettext.  If Automake sees
+     this macro it ensures that the package meets some of gettext's
+     requirements.
+
+`AM_MAINTAINER_MODE'
+     This macro adds a `--enable-maintainer-mode' option to
+     `configure'.  If this is used, `automake' will cause
+     "maintainer-only" rules to be turned off by default in the
+     generated `Makefile.in's.  This macro defines the
+     `MAINTAINER_MODE' conditional, which you can use in your own
+     `Makefile.am'.  *Note maintainer-mode::.
+
+`m4_include'
+     Files included by `configure.ac' using this macro will be detected
+     by Automake and automatically distributed.  They will also appear
+     as dependencies in `Makefile' rules.
+
+     `m4_include' is seldom used by `configure.ac' authors, but can
+     appear in `aclocal.m4' when `aclocal' detects that some required
+     macros come from files local to your package (as opposed to macros
+     installed in a system-wide directory, *note Invoking aclocal::).
+
+
+
+File: automake.info,  Node: Invoking aclocal,  Next: aclocal options,  Prev: Optional,  Up: configure
+
+5.3 Auto-generating aclocal.m4
+==============================
+
+Automake includes a number of Autoconf macros that can be used in your
+package (*note Macros::); some of them are actually required by
+Automake in certain situations.  These macros must be defined in your
+`aclocal.m4'; otherwise they will not be seen by `autoconf'.
+
+   The `aclocal' program will automatically generate `aclocal.m4' files
+based on the contents of `configure.ac'.  This provides a convenient
+way to get Automake-provided macros, without having to search around.
+The `aclocal' mechanism allows other packages to supply their own
+macros (*note Extending aclocal::).  You can also use it to maintain
+your own set of custom macros (*note Local Macros::).
+
+   At startup, `aclocal' scans all the `.m4' files it can find, looking
+for macro definitions (*note Macro search path::).  Then it scans
+`configure.ac'.  Any mention of one of the macros found in the first
+step causes that macro, and any macros it in turn requires, to be put
+into `aclocal.m4'.
+
+   _Putting_ the file that contains the macro definition into
+`aclocal.m4' is usually done by copying the entire text of this file,
+including unused macro definitions as well as both `#' and `dnl'
+comments.  If you want to make a comment that will be completely
+ignored by `aclocal', use `##' as the comment leader.
+
+   When a file selected by `aclocal' is located in a subdirectory
+specified as a relative search path with `aclocal''s `-I' argument,
+`aclocal' assumes the file belongs to the package and uses `m4_include'
+instead of copying it into `aclocal.m4'.  This makes the package
+smaller, eases dependency tracking, and cause the file to be
+distributed automatically.  (*Note Local Macros::, for an example.)
+Any macro that is found in a system-wide directory, or via an absolute
+search path will be copied.  So use `-I `pwd`/reldir' instead of `-I
+reldir' whenever some relative directory need to be considered outside
+the package.
+
+   The contents of `acinclude.m4', if this file exists, are also
+automatically included in `aclocal.m4'.  We recommend against using
+`acinclude.m4' in new packages (*note Local Macros::).
+
+   While computing `aclocal.m4', `aclocal' runs `autom4te' (*note Using
+`Autom4te': (autoconf)Using autom4te.) in order to trace the macros
+that are really used, and omit from `aclocal.m4' all macros that are
+mentioned but otherwise unexpanded (this can happen when a macro is
+called conditionally).  `autom4te' is expected to be in the `PATH',
+just as `autoconf'.  Its location can be overridden using the
+`AUTOM4TE' environment variable.
+
+* Menu:
+
+* aclocal options::             Options supported by aclocal
+* Macro search path::           How aclocal finds .m4 files
+
+
+File: automake.info,  Node: aclocal options,  Next: Macro search path,  Prev: Invoking aclocal,  Up: configure
+
+5.4 aclocal options
+===================
+
+`aclocal' accepts the following options:
+
+`--acdir=DIR'
+     Look for the macro files in DIR instead of the installation
+     directory.  This is typically used for debugging.
+
+`--help'
+     Print a summary of the command line options and exit.
+
+`-I DIR'
+     Add the directory DIR to the list of directories searched for
+     `.m4' files.
+
+`--force'
+     Always overwrite the output file.  The default is to overwrite the
+     output file only when really needed, i.e., when its contents
+     changes or if one of its dependencies is younger.
+
+`--output=FILE'
+     Cause the output to be put into FILE instead of `aclocal.m4'.
+
+`--print-ac-dir'
+     Prints the name of the directory that `aclocal' will search to
+     find third-party `.m4' files.  When this option is given, normal
+     processing is suppressed.  This option can be used by a package to
+     determine where to install a macro file.
+
+`--verbose'
+     Print the names of the files it examines.
+
+`--version'
+     Print the version number of Automake and exit.
+
+
+File: automake.info,  Node: Macro search path,  Next: Macros,  Prev: aclocal options,  Up: configure
+
+5.5 Macro search path
+=====================
+
+By default, `aclocal' searches for `.m4' files in the following
+directories, in this order:
+
+`ACDIR-APIVERSION'
+     This is where the `.m4' macros distributed with automake itself
+     are stored.  APIVERSION depends on the automake release used; for
+     automake 1.6.x, APIVERSION = `1.6'.
+
+`ACDIR'
+     This directory is intended for third party `.m4' files, and is
+     configured when `automake' itself is built.  This is
+     `@datadir@/aclocal/', which typically expands to
+     `${prefix}/share/aclocal/'.  To find the compiled-in value of
+     ACDIR, use the `--print-ac-dir' option (*note aclocal options::).
+
+   As an example, suppose that `automake-1.6.2' was configured with
+`--prefix=/usr/local'.  Then, the search path would be:
+
+  1. `/usr/local/share/aclocal-1.6/'
+
+  2. `/usr/local/share/aclocal/'
+
+   As explained in (*note aclocal options::), there are several options
+that can be used to change or extend this search path.
+
+5.5.1 Modifying the macro search path: `--acdir'
+------------------------------------------------
+
+The most erroneous option to modify the search path is `--acdir=DIR',
+which changes default directory and drops the APIVERSION directory.
+For example, if one specifies `--acdir=/opt/private/', then the search
+path becomes:
+
+  1. `/opt/private/'
+
+   This option, `--acdir', is intended for use by the internal automake
+test suite only; it is not ordinarily needed by end-users.
+
+5.5.2 Modifying the macro search path: `-I DIR'
+-----------------------------------------------
+
+Any extra directories specified using `-I' options (*note aclocal
+options::) are _prepended_ to this search list.  Thus, `aclocal -I /foo
+-I /bar' results in the following search path:
+
+  1. `/foo'
+
+  2. `/bar'
+
+  3. ACDIR-APIVERSION
+
+  4. ACDIR
+
+5.5.3 Modifying the macro search path: `dirlist'
+------------------------------------------------
+
+There is a third mechanism for customizing the search path.  If a
+`dirlist' file exists in ACDIR, then that file is assumed to contain a
+list of directories, one per line, to be added to the search list.
+These directories are searched _after_ all other directories.
+
+   For example, suppose `ACDIR/dirlist' contains the following:
+
+     /test1
+     /test2
+
+and that `aclocal' was called with the `-I /foo -I /bar' options.
+Then, the search path would be
+
+  1. `/foo'
+
+  2. `/bar'
+
+  3. ACDIR-APIVERSION
+
+  4. ACDIR
+
+  5. `/test1'
+
+  6. `/test2'
+
+   If the `--acdir=DIR' option is used, then `aclocal' will search for
+the `dirlist' file in DIR.  In the `--acdir=/opt/private/' example
+above, `aclocal' would look for `/opt/private/dirlist'.  Again,
+however, the `--acdir' option is intended for use by the internal
+automake test suite only; `--acdir' is not ordinarily needed by
+end-users.
+
+   `dirlist' is useful in the following situation: suppose that
+`automake' version `1.6.2' is installed with `--prefix=/usr' by the
+system vendor.  Thus, the default search directories are
+
+  1. `/usr/share/aclocal-1.6/'
+
+  2. `/usr/share/aclocal/'
+
+   However, suppose further that many packages have been manually
+installed on the system, with $prefix=/usr/local, as is typical.  In
+that case, many of these "extra" `.m4' files are in
+`/usr/local/share/aclocal'.  The only way to force `/usr/bin/aclocal'
+to find these "extra" `.m4' files is to always call `aclocal -I
+/usr/local/share/aclocal'.  This is inconvenient.  With `dirlist', one
+may create a file `/usr/share/aclocal/dirlist' containing only the
+single line
+
+     /usr/local/share/aclocal
+
+   Now, the "default" search path on the affected system is
+
+  1. `/usr/share/aclocal-1.6/'
+
+  2. `/usr/share/aclocal/'
+
+  3. `/usr/local/share/aclocal/'
+
+   without the need for `-I' options; `-I' options can be reserved for
+project-specific needs (`my-source-dir/m4/'), rather than using it to
+work around local system-dependent tool installation directories.
+
+   Similarly, `dirlist' can be handy if you have installed a local copy
+Automake on your account and want `aclocal' to look for macros
+installed at other places on the system.
+
+
+File: automake.info,  Node: Macros,  Next: Extending aclocal,  Prev: Macro search path,  Up: configure
+
+5.6 Autoconf macros supplied with Automake
+==========================================
+
+Automake ships with several Autoconf macros that you can use from your
+`configure.ac'.  When you use one of them it will be included by
+`aclocal' in `aclocal.m4'.
+
+* Menu:
+
+* Public macros::               Macros that you can use.
+* Obsolete macros::             Macros that you should stop using.
+* Private macros::              Macros that you should not use.
+
+
+File: automake.info,  Node: Public macros,  Next: Obsolete macros,  Up: Macros
+
+5.6.1 Public macros
+-------------------
+
+`AM_C_PROTOTYPES'
+     Check to see if function prototypes are understood by the
+     compiler.  If so, define `PROTOTYPES' and set the output variables
+     `U' and `ANSI2KNR' to the empty string.  Otherwise, set `U' to `_'
+     and `ANSI2KNR' to `./ansi2knr'.  Automake uses these values to
+     implement automatic de-ANSI-fication.
+
+`AM_ENABLE_MULTILIB'
+     This is used when a "multilib" library is being built.  The first
+     optional argument is the name of the `Makefile' being generated; it
+     defaults to `Makefile'.  The second option argument is used to find
+     the top source directory; it defaults to the empty string
+     (generally this should not be used unless you are familiar with
+     the internals).  *Note Multilibs::.
+
+`AM_INIT_AUTOMAKE([OPTIONS])'
+`AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])'
+     Runs many macros required for proper operation of the generated
+     Makefiles.
+
+     This macro has two forms, the first of which is preferred.  In
+     this form, `AM_INIT_AUTOMAKE' is called with a single argument: a
+     space-separated list of Automake options that should be applied to
+     every `Makefile.am' in the tree.  The effect is as if each option
+     were listed in `AUTOMAKE_OPTIONS' (*note Options::).
+
+     The second, deprecated, form of `AM_INIT_AUTOMAKE' has two required
+     arguments: the package and the version number.  This form is
+     obsolete because the PACKAGE and VERSION can be obtained from
+     Autoconf's `AC_INIT' macro (which itself has an old and a new
+     form).
+
+     If your `configure.ac' has:
+
+          AC_INIT(src/foo.c)
+          AM_INIT_AUTOMAKE(mumble, 1.5)
+
+     you can modernize it as follows:
+
+          AC_INIT(mumble, 1.5)
+          AC_CONFIG_SRCDIR(src/foo.c)
+          AM_INIT_AUTOMAKE
+
+     Note that if you're upgrading your `configure.ac' from an earlier
+     version of Automake, it is not always correct to simply move the
+     package and version arguments from `AM_INIT_AUTOMAKE' directly to
+     `AC_INIT', as in the example above.  The first argument to
+     `AC_INIT' should be the name of your package (e.g., `GNU
+     Automake'), not the tarball name (e.g., `automake') that you used
+     to pass to `AM_INIT_AUTOMAKE'.  Autoconf tries to derive a tarball
+     name from the package name, which should work for most but not all
+     package names.  (If it doesn't work for yours, you can use the
+     four-argument form of `AC_INIT' to provide the tarball name
+     explicitly).
+
+     By default this macro `AC_DEFINE''s `PACKAGE' and `VERSION'.  This
+     can be avoided by passing the `no-define' option, as in:
+          AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
+     or by passing a third non-empty argument to the obsolete form.
+
+`AM_PATH_LISPDIR'
+     Searches for the program `emacs', and, if found, sets the output
+     variable `lispdir' to the full path to Emacs' site-lisp directory.
+
+     Note that this test assumes the `emacs' found to be a version that
+     supports Emacs Lisp (such as GNU Emacs or XEmacs).  Other emacsen
+     can cause this test to hang (some, like old versions of
+     MicroEmacs, start up in interactive mode, requiring `C-x C-c' to
+     exit, which is hardly obvious for a non-emacs user).  In most
+     cases, however, you should be able to use `C-c' to kill the test.
+     In order to avoid problems, you can set `EMACS' to "no" in the
+     environment, or use the `--with-lispdir' option to `configure' to
+     explicitly set the correct path (if you're sure you have an
+     `emacs' that supports Emacs Lisp.
+
+`AM_PROG_AS'
+     Use this macro when you have assembly code in your project.  This
+     will choose the assembler for you (by default the C compiler) and
+     set `CCAS', and will also set `CCASFLAGS' if required.
+
+`AM_PROG_CC_C_O'
+     This is like `AC_PROG_CC_C_O', but it generates its results in the
+     manner required by automake.  You must use this instead of
+     `AC_PROG_CC_C_O' when you need this functionality.
+
+`AM_PROG_LEX'
+     Like `AC_PROG_LEX' (*note Particular Program Checks:
+     (autoconf)Particular Programs.), but uses the `missing' script on
+     systems that do not have `lex'.  HP-UX 10 is one such system.
+
+`AM_PROG_GCJ'
+     This macro finds the `gcj' program or causes an error.  It sets
+     `GCJ' and `GCJFLAGS'.  `gcj' is the Java front-end to the GNU
+     Compiler Collection.
+
+`AM_WITH_DMALLOC'
+     Add support for the Dmalloc package (http://dmalloc.com/).  If the
+     user runs `configure' with `--with-dmalloc', then define
+     `WITH_DMALLOC' and add `-ldmalloc' to `LIBS'.
+
+`AM_WITH_REGEX'
+     Adds `--with-regex' to the `configure' command line.  If specified
+     (the default), then the `regex' regular expression library is
+     used, `regex.o' is put into `LIBOBJS', and `WITH_REGEX' is
+     defined.  If `--without-regex' is given, then the `rx' regular
+     expression library is used, and `rx.o' is put into `LIBOBJS'.
+
+
+
+File: automake.info,  Node: Obsolete macros,  Next: Private macros,  Prev: Public macros,  Up: Macros
+
+5.6.2 Obsolete macros
+---------------------
+
+Although using some of the following macros was required in past
+releases, you should not used any of them in new code.  Running
+`autoupdate' should adjust your `configure.ac' automatically (*note
+Using `autoupdate' to Modernize `configure.ac': (autoconf)autoupdate
+Invocation.).
+
+`AM_CONFIG_HEADER'
+     Automake will generate rules to automatically regenerate the config
+     header.  This obsolete macro is a synonym of `AC_CONFIG_HEADERS'
+     today (*note Optional::).
+
+`AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL'
+     If the use of `TIOCGWINSZ' requires `<sys/ioctl.h>', then define
+     `GWINSZ_IN_SYS_IOCTL'.  Otherwise `TIOCGWINSZ' can be found in
+     `<termios.h>'.  This macro is obsolete, you should use Autoconf's
+     `AC_HEADER_TIOCGWINSZ' instead.
+
+`AM_SYS_POSIX_TERMIOS'
+     Check to see if POSIX termios headers and functions are available
+     on the system.  If so, set the shell variable
+     `am_cv_sys_posix_termios' to `yes'.  If not, set the variable to
+     `no'.  This macro is obsolete, you should use Autoconf's
+     `AC_SYS_POSIX_TERMIOS' instead.
+
+
+
+File: automake.info,  Node: Private macros,  Prev: Obsolete macros,  Up: Macros
+
+5.6.3 Private macros
+--------------------
+
+The following macros are private macros you should not call directly.
+They are called by the other public macros when appropriate.  Do not
+rely on them, as they might be changed in a future version.  Consider
+them as implementation details; or better, do not consider them at all:
+skip this section!
+
+`_AM_DEPENDENCIES'
+`AM_SET_DEPDIR'
+`AM_DEP_TRACK'
+`AM_OUTPUT_DEPENDENCY_COMMANDS'
+     These macros are used to implement Automake's automatic dependency
+     tracking scheme.  They are called automatically by automake when
+     required, and there should be no need to invoke them manually.
+
+`AM_MAKE_INCLUDE'
+     This macro is used to discover how the user's `make' handles
+     `include' statements.  This macro is automatically invoked when
+     needed; there should be no need to invoke it manually.
+
+`AM_PROG_INSTALL_STRIP'
+     This is used to find a version of `install' that can be used to
+     strip a program at installation time.  This macro is automatically
+     included when required.
+
+`AM_SANITY_CHECK'
+     This checks to make sure that a file created in the build
+     directory is newer than a file in the source directory.  This can
+     fail on systems where the clock is set incorrectly.  This macro is
+     automatically run from `AM_INIT_AUTOMAKE'.
+
+
+
+File: automake.info,  Node: Extending aclocal,  Next: Local Macros,  Prev: Macros,  Up: configure
+
+5.7 Writing your own aclocal macros
+===================================
+
+The `aclocal' program doesn't have any built-in knowledge of any
+macros, so it is easy to extend it with your own macros.
+
+   This can be used by libraries that want to supply their own Autoconf
+macros for use by other programs.  For instance, the `gettext' library
+supplies a macro `AM_GNU_GETTEXT' that should be used by any package
+using `gettext'.  When the library is installed, it installs this macro
+so that `aclocal' will find it.
+
+   A macro file's name should end in `.m4'.  Such files should be
+installed in `$(datadir)/aclocal'.  This is as simple as writing:
+
+     aclocaldir = $(datadir)/aclocal
+     aclocal_DATA = mymacro.m4 myothermacro.m4
+
+Please do use `$(datadir)/aclocal', and not something based on the
+result of `aclocal --print-ac-dir'.  *Note Hard-Coded Install Paths::,
+for arguments.
+
+   A file of macros should be a series of properly quoted `AC_DEFUN''s
+(*note Macro Definitions: (autoconf)Macro Definitions.).  The `aclocal'
+programs also understands `AC_REQUIRE' (*note Prerequisite Macros:
+(autoconf)Prerequisite Macros.), so it is safe to put each macro in a
+separate file.  Each file should have no side effects but macro
+definitions.  Especially, any call to `AC_PREREQ' should be done inside
+the defined macro, not at the beginning of the file.
+
+   Starting with Automake 1.8, `aclocal' will warn about all
+underquoted calls to `AC_DEFUN'.  We realize this will annoy a lot of
+people, because `aclocal' was not so strict in the past and many third
+party macros are underquoted; and we have to apologize for this
+temporary inconvenience.  The reason we have to be stricter is that a
+future implementation of `aclocal' (*note Future of aclocal::) will
+have to temporarily include all these third party `.m4' files, maybe
+several times, including even files that are not actually needed.
+Doing so should alleviate many problems of the current implementation,
+however it requires a stricter style from the macro authors.  Hopefully
+it is easy to revise the existing macros.  For instance,
+     # bad style
+     AC_PREREQ(2.57)
+     AC_DEFUN(AX_FOOBAR,
+     [AC_REQUIRE([AX_SOMETHING])dnl
+     AX_FOO
+     AX_BAR
+     ])
+   should be rewritten as
+     AC_DEFUN([AX_FOOBAR],
+     [AC_PREREQ(2.57)dnl
+     AC_REQUIRE([AX_SOMETHING])dnl
+     AX_FOO
+     AX_BAR
+     ])
+
+   Wrapping the `AC_PREREQ' call inside the macro ensures that Autoconf
+2.57 will not be required if `AX_FOOBAR' is not actually used.  Most
+importantly, quoting the first argument of `AC_DEFUN' allows the macro
+to be redefined or included twice (otherwise this first argument would
+be expanded during the second definition).
+
+   If you have been directed here by the `aclocal' diagnostic but are
+not the maintainer of the implicated macro, you will want to contact
+the maintainer of that macro.  Please make sure you have the last
+version of the macro and that the problem already hasn't been reported
+before doing so: people tend to work faster when they aren't flooded by
+mails.
+
+   Another situation where `aclocal' is commonly used is to manage
+macros that are used locally by the package, *Note Local Macros::.
+
+
+File: automake.info,  Node: Local Macros,  Next: Future of aclocal,  Prev: Extending aclocal,  Up: configure
+
+5.8 Handling Local Macros
+=========================
+
+Feature tests offered by Autoconf do not cover all needs.  People often
+have to supplement existing tests with their own macros, or with
+third-party macros.
+
+   There are two ways to organize custom macros in a package.
+
+   The first possibility (the historical practice) is to list all your
+macros in `acinclude.m4'.  This file will be included in `aclocal.m4'
+when you run `aclocal', and its macro(s) will henceforth be visible to
+`autoconf'.  However if it contains numerous macros, it will rapidly
+become difficult to maintain, and it will be almost impossible to share
+macros between packages.
+
+   The second possibility, which we do recommend, is to write each macro
+in its own file and gather all these files in a directory.  This
+directory is usually called `m4/'.  To build `aclocal.m4', one should
+therefore instruct `aclocal' to scan `m4/'.  From the command line,
+this is done with `aclocal -I m4'.  The top-level `Makefile.am' should
+also be updated to define
+
+      ACLOCAL_AMFLAGS = -I m4
+
+   `ACLOCAL_AMFLAGS' contains options to pass to `aclocal' when
+`aclocal.m4' is to be rebuilt by `make'.  This line is also used by
+`autoreconf' (*note Using `autoreconf' to Update `configure' Scripts:
+(autoconf)autoreconf Invocation.) to run `aclocal' with suitable
+options, or by `autopoint' (*note Invoking the `autopoint' Program:
+(gettext)autopoint Invocation.)  and `gettextize' (*note Invoking the
+`gettextize' Program: (gettext)gettextize Invocation.) to locate the
+place where Gettext's macros should be installed.  So even if you do
+not really care about the rebuild rules, you should define
+`ACLOCAL_AMFLAGS'.
+
+   When `aclocal -I m4' is run, it will build a `aclocal.m4' that
+`m4_include's any file from `m4/' that defines a required macro.
+Macros not found locally will still be searched in system-wide
+directories, as explained in *Note Macro search path::.
+
+   Custom macros should be distributed for the same reason that
+`configure.ac' is: so that other people have all the sources of your
+package if they want to work on it.  Actually, this distribution
+happens automatically because all `m4_include'd files are distributed.
+
+   However there is no consensus on the distribution of third-party
+macros that your package may use.  Many libraries install their own
+macro in the system-wide `aclocal' directory (*note Extending
+aclocal::).  For instance, Guile ships with a file called `guile.m4'
+that contains the macro `GUILE_FLAGS' that can be used to define setup
+compiler and linker flags appropriate for using Guile.  Using
+`GUILE_FLAGS' in `configure.ac' will cause `aclocal' to copy `guile.m4'
+into `aclocal.m4', but as `guile.m4' is not part of the project, it
+will not be distributed.  Technically, that means a user who needs to
+rebuild `aclocal.m4' will have to install Guile first.  This is
+probably OK, if Guile already is a requirement to build the package.
+However, if Guile is only an optional feature, or if your package might
+run on architectures where Guile cannot be installed, this requirement
+will hinder development.  An easy solution is to copy such third-party
+macros in your local `m4/' directory so they get distributed.
+
+
+File: automake.info,  Node: Future of aclocal,  Prev: Local Macros,  Up: configure
+
+5.9 The Future of `aclocal'
+===========================
+
+`aclocal' is expected to disappear.  This feature really should not be
+offered by Automake.  Automake should focus on generating `Makefile's;
+dealing with M4 macros really is Autoconf's job.  That some people
+install Automake just to use `aclocal', but do not use `automake'
+otherwise is an indication of how that feature is misplaced.
+
+   The new implementation will probably be done slightly differently.
+For instance it could enforce the `m4/'-style layout discussed in *Note
+Local Macros::, and take care of copying (and even updating)
+third-party macros from `/usr/share/aclocal/' into the local `m4/'
+directory.
+
+   We have no idea when and how this will happen.  This has been
+discussed several times in the past, but someone still has to commit
+itself to that non-trivial task.
+
+   From the user point of view, `aclocal''s removal might turn out to
+be painful.  There is a simple precaution that you may take to make
+that switch more seamless: never call `aclocal' yourself.  Keep this
+guy under the exclusive control of `autoreconf' and Automake's rebuild
+rules.  Hopefully you won't need to worry about things breaking, when
+`aclocal' disappears, because everything will have been taken care of.
+If otherwise you used to call `aclocal' directly yourself or from some
+script, you will quickly notice the change.
+
+   Many packages come with a script called `bootstrap.sh' or
+`autogen.sh', that will just call `aclocal', `libtoolize', `gettextize'
+or `autopoint', `autoconf', `autoheader', and `automake' in the right
+order.  Actually this is precisely what `autoreconf' can do for you.
+If your package has such a `bootstrap.sh' or `autogen.sh' script,
+consider using `autoreconf'.  That should simplify its logic a lot
+(less things to maintain, yum!), it's even likely you will not need the
+script anymore, and more to the point you will not call `aclocal'
+directly anymore.
+
+   For the time being, third-party packages should continue to install
+public macros into `/usr/share/aclocal/'.  If `aclocal' is replaced by
+another tool it might make sense to rename the directory, but
+supporting `/usr/share/aclocal/' for backward compatibility should be
+really easy provided all macros are properly written (*note Extending
+aclocal::).
+
+
+File: automake.info,  Node: Directories,  Next: Programs,  Prev: configure,  Up: Top
+
+6 Directories
+*************
+
+For simple projects that distributes all files in the same directory it
+is enough to have a single `Makefile.am' that builds everything in
+place.
+
+   In larger projects it is common to organize files in different
+directories, in a tree.  For instance one directory per program, per
+library or per module.  The traditional approach is to build these
+subdirectory recursively: each directory contains its `Makefile'
+(generated from `Makefile.am'), and when `make' is run from the top
+level directory it enters each subdirectory in turn to build its
+contents.
+
+* Menu:
+
+* Subdirectories::              Building subdirectories recursively
+* Conditional Subdirectories::  Conditionally not building directories
+* Alternative::                 Subdirectories without recursion
+* Subpackages::                 Nesting packages
+
+
+File: automake.info,  Node: Subdirectories,  Next: Conditional Subdirectories,  Up: Directories
+
+6.1 Recursing subdirectories
+============================
+
+In packages with subdirectories, the top level `Makefile.am' must tell
+Automake which subdirectories are to be built.  This is done via the
+`SUBDIRS' variable.  
+
+   The `SUBDIRS' variable holds a list of subdirectories in which
+building of various sorts can occur.  The rules for many targets (e.g.,
+`all') in the generated `Makefile' will run commands both locally and
+in all specified subdirectories.  Note that the directories listed in
+`SUBDIRS' are not required to contain `Makefile.am's; only `Makefile's
+(after configuration).  This allows inclusion of libraries from
+packages that do not use Automake (such as `gettext'; see also *Note
+Third-Party Makefiles::).
+
+   In packages that use subdirectories, the top-level `Makefile.am' is
+often very short.  For instance, here is the `Makefile.am' from the GNU
+Hello distribution:
+
+     EXTRA_DIST = BUGS ChangeLog.O README-alpha
+     SUBDIRS = doc intl po src tests
+
+   When Automake invokes `make' in a subdirectory, it uses the value of
+the `MAKE' variable.  It passes the value of the variable
+`AM_MAKEFLAGS' to the `make' invocation; this can be set in
+`Makefile.am' if there are flags you must always pass to `make'.  
+
+   The directories mentioned in `SUBDIRS' are usually direct children
+of the current directory, each subdirectory containing its own
+`Makefile.am' with a `SUBDIRS' pointing to deeper subdirectories.
+Automake can be used to construct packages of arbitrary depth this way.
+
+   By default, Automake generates `Makefiles' that work depth-first in
+postfix order: the subdirectories are built before the current
+directory.  However, it is possible to change this ordering.  You can
+do this by putting `.' into `SUBDIRS'.  For instance, putting `.' first
+will cause a prefix ordering of directories.
+
+   Using
+
+     SUBDIRS = lib src . test
+
+will cause `lib/' to be built before `src/', then the current directory
+will be built, finally the `test/' directory will be built.  It is
+customary to arrange test directories to be built after everything else
+since they are meant to test what has been constructed.
+
+   All `clean' rules are run in reverse order of build rules.
+
+
+File: automake.info,  Node: Conditional Subdirectories,  Next: Alternative,  Prev: Subdirectories,  Up: Directories
+
+6.2 Conditional Subdirectories
+==============================
+
+It is possible to define the `SUBDIRS' variable conditionally if, like
+in the case of GNU Inetutils, you want to only build a subset of the
+entire package.
+
+   To illustrate how this works, let's assume we have two directories
+`src/' and `opt/'.  `src/' should always be built, but we want to
+decide in `configure' whether `opt/' will be built or not.  (For this
+example we will assume that `opt/' should be built when the variable
+`$want_opt' was set to `yes'.)
+
+   Running `make' should thus recurse into `src/' always, and then
+maybe in `opt/'.
+
+   However `make dist' should always recurse into both `src/' and
+`opt/'.  Because `opt/' should be distributed even if it is not needed
+in the current configuration.  This means `opt/Makefile' should be
+created _unconditionally_.
+
+   There are two ways to setup a project like this.  You can use
+Automake conditionals (*note Conditionals::) or use Autoconf `AC_SUBST'
+variables (*note Setting Output Variables: (autoconf)Setting Output
+Variables.).  Using Automake conditionals is the preferred solution.
+Before we illustrate these two possibility, let's introduce
+`DIST_SUBDIRS'.
+
+6.2.1 `SUBDIRS' vs. `DIST_SUBDIRS'
+----------------------------------
+
+Automake considers two sets of directories, defined by the variables
+`SUBDIRS' and `DIST_SUBDIRS'.
+
+   `SUBDIRS' contains the subdirectories of the current directory that
+must be built (*note Subdirectories::).  It must be defined manually;
+Automake will never guess a directory is to be built.  As we will see
+in the next two sections, it is possible to define it conditionally so
+that some directory will be omitted from the build.
+
+   `DIST_SUBDIRS' is used in rules that need to recurse in all
+directories, even those that have been conditionally left out of the
+build.  Recall our example where we may not want to build subdirectory
+`opt/', but yet we want to distribute it?  This is where `DIST_SUBDIRS'
+come into play: `opt' may not appear in `SUBDIRS', but it must appear
+in `DIST_SUBDIRS'.
+
+   Precisely, `DIST_SUBDIRS' is used by `make maintainer-clean', `make
+distclean' and `make dist'.  All other recursive rules use `SUBDIRS'.
+
+   If `SUBDIRS' is defined conditionally using Automake conditionals,
+Automake will define `DIST_SUBDIRS' automatically from the possibles
+values of `SUBDIRS' in all conditions.
+
+   If `SUBDIRS' contains `AC_SUBST' variables, `DIST_SUBDIRS' will not
+be defined correctly because Automake does not know the possible values
+of these variables.  In this case `DIST_SUBDIRS' needs to be defined
+manually.
+
+6.2.2 Conditional subdirectories with `AM_CONDITIONAL'
+------------------------------------------------------
+
+`configure' should output the `Makefile' for each directory and define
+a condition into which `opt/' should be built.
+
+     ...
+     AM_CONDITIONAL([COND_OPT], [test "$want_opt" = yes])
+     AC_CONFIG_FILES([Makefile src/Makefile opt/Makefile])
+     ...
+
+   Then `SUBDIRS' can be defined in the top-level `Makefile.am' as
+follows.
+
+     if COND_OPT
+       MAYBE_OPT = opt
+     endif
+     SUBDIRS = src $(MAYBE_OPT)
+
+   As you can see, running `make' will rightly recurse into `src/' and
+maybe `opt/'.
+
+   As you can't see, running `make dist' will recurse into both `src/'
+and `opt/' directories because `make dist', unlike `make all', doesn't
+use the `SUBDIRS' variable.  It uses the `DIST_SUBDIRS' variable.
+
+   In this case Automake will define `DIST_SUBDIRS = src opt'
+automatically because it knows that `MAYBE_OPT' can contain `opt' in
+some condition.
+
+6.2.3 Conditional Subdirectories with `AC_SUBST'
+------------------------------------------------
+
+Another possibility is to define `MAYBE_OPT' from `./configure' using
+`AC_SUBST':
+
+     ...
+     if test "$want_opt" = yes; then
+       MAYBE_OPT=opt
+     else
+       MAYBE_OPT=
+     fi
+     AC_SUBST([MAYBE_OPT])
+     AC_CONFIG_FILES([Makefile src/Makefile opt/Makefile])
+     ...
+
+   In this case the top-level `Makefile.am' should look as follows.
+
+     SUBDIRS = src $(MAYBE_OPT)
+     DIST_SUBDIRS = src opt
+
+   The drawback is that since Automake cannot guess what the possible
+values of `MAYBE_OPT' are, it is necessary to define `DIST_SUBDIRS'.
+
+6.2.4 Non-configured Subdirectories
+-----------------------------------
+
+The semantic of `DIST_SUBDIRS' is often misunderstood by some users
+that try to _configure and build_ subdirectories conditionally.  Here
+by configuring we mean creating the `Makefile' (it might also involve
+running a nested `configure' script: this is a costly operation that
+explains why people want to do it conditionally, but only the `Makefile'
+is relevant to the discussion).
+
+   The above examples all assume that every `Makefile' is created, even
+in directories that are not going to be built.  The simple reason is
+that we want `make dist' to distribute even the directories that are
+not being built (e.g., platform-dependent code), hence `make dist' must
+recurse into the subdirectory, hence this directory must be configured
+and appear in `DIST_SUBDIRS'.
+
+   Building packages that do not configure every subdirectory is a
+tricky business, and we do not recommend it to the novice as it is easy
+to produce an incomplete tarball by mistake.  We will not discuss this
+topic in depth here, yet for the adventurous here are a few rules to
+remember.
+
+   * `SUBDIRS' should always be a subset of `DIST_SUBDIRS'.
+
+     It makes little sense to have a directory in `SUBDIRS' that is not
+     in `DIST_SUBDIRS'.  Think of the former as a way to tell which
+     directories listed in the latter should be built.
+
+   * Any directory listed in `DIST_SUBDIRS' and `SUBDIRS' must be
+     configured.
+
+     I.e., the `Makefile' must exists or the recursive `make' rules
+     will not be able to process the directory.
+
+   * Any configured directory must be listed in `DIST_SUBDIRS'.
+
+     So that the cleaning rule remove the generated `Makefile's.  It
+     would be correct to see `DIST_SUBDIRS' as a variable that lists
+     all the directories that have been configured.
+
+   In order to prevent recursion in some non-configured directory you
+must therefore ensure that this directory does not appear in
+`DIST_SUBDIRS' (and `SUBDIRS').  For instance, if you define `SUBDIRS'
+conditionally using `AC_SUBST' and do not define `DIST_SUBDIRS'
+explicitly, it will be default to `$(SUBDIRS)'; another possibility is
+to force `DIST_SUBDIRS = $(SUBDIRS)'.
+
+   Of course, directories that are omitted from `DIST_SUBDIRS' will not
+be distributed unless you make other arrangements for this to happen
+(for instance, always running `make dist' in a configuration where all
+directories are known to appear in `DIST_SUBDIRS'; or writing a
+`dist-hook' target to distribute these directories).
+
+   In few packages, non-configured directories are not even expected to
+be distributed.  Although these packages do not require the
+aforementioned extra arrangements, there is another pitfall.  If the
+name of a directory appears in `SUBDIRS' or `DIST_SUBDIRS', `automake'
+will make sure the directory exists.  Consequently `automake' cannot be
+run on such a distribution when one directory has been omitted.  One
+way to avoid this check is to use the `AC_SUBST' method to declare
+conditional directories; since `automake' does not know the values of
+`AC_SUBST' variables it cannot ensure the corresponding directory exist.
+
+
+File: automake.info,  Node: Alternative,  Next: Subpackages,  Prev: Conditional Subdirectories,  Up: Directories
+
+6.3 An Alternative Approach to Subdirectories
+=============================================
+
+If you've ever read Peter Miller's excellent paper, Recursive Make
+Considered Harmful
+(http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html), the
+preceding sections on the use of subdirectories will probably come as
+unwelcome advice.  For those who haven't read the paper, Miller's main
+thesis is that recursive `make' invocations are both slow and
+error-prone.
+
+   Automake provides sufficient cross-directory support (1) to enable
+you to write a single `Makefile.am' for a complex multi-directory
+package.
+
+   By default an installable file specified in a subdirectory will have
+its directory name stripped before installation.  For instance, in this
+example, the header file will be installed as `$(includedir)/stdio.h':
+
+     include_HEADERS = inc/stdio.h
+
+   However, the `nobase_' prefix can be used to circumvent this path
+stripping.  In this example, the header file will be installed as
+`$(includedir)/sys/types.h':
+
+     nobase_include_HEADERS = sys/types.h
+
+   `nobase_' should be specified first when used in conjunction with
+either `dist_' or `nodist_' (*note Dist::).  For instance:
+
+     nobase_dist_pkgdata_DATA = images/vortex.pgm sounds/whirl.ogg
+
+   Finally, note that a variable using the `nobase_' prefix can always
+be replaced by several variables, one for each destination directory
+(*note Uniform::).  For instance, the last example could be rewritten
+as follows:
+
+     imagesdir = $(pkgdatadir)/images
+     soundsdir = $(pkgdatadir)/sounds
+     dist_images_DATA = images/vortex.pgm
+     dist_sounds_DATA = sounds/whirl.ogg
+
+This latter syntax makes it possible to change one destination
+directory without changing the layout of the source tree.
+
+   ---------- Footnotes ----------
+
+   (1) We believe.  This work is new and there are probably warts.
+*Note Introduction::, for information on reporting bugs.
+
+
+File: automake.info,  Node: Subpackages,  Prev: Alternative,  Up: Directories
+
+6.4 Nesting Packages
+====================
+
+In the GNU Build System, packages can be nested to arbitrary depth.
+This means that a package can embedded other packages with their own
+`configure', `Makefile's, etc.
+
+   These other packages should just appear as subdirectories of their
+parent package.  They must be listed in `SUBDIRS' like other ordinary
+directories.  However the subpackage's `Makefile's should be output by
+its own `configure' script, not by the parent's `configure'.  This is
+achieved using the `AC_CONFIG_SUBDIRS' Autoconf macro (*note
+AC_CONFIG_SUBDIRS: (autoconf)Subdirectories.).
+
+   Here is an example package for an `arm' program that links with an
+`hand' library that is a nested package in subdirectory `hand/'.
+
+   `arm''s `configure.ac':
+
+     AC_INIT([arm], [1.0])
+     AC_CONFIG_AUX_DIR([.])
+     AM_INIT_AUTOMAKE
+     AC_PROG_CC
+     AC_CONFIG_FILES([Makefile])
+     # Call hand's ./configure script recursively.
+     AC_CONFIG_SUBDIRS([hand])
+     AC_OUTPUT
+
+   `arm''s `Makefile.am':
+
+     # Build the library in the hand subdirectory first.
+     SUBDIRS = hand
+
+     # Include hand's header when compiling this directory.
+     AM_CPPFLAGS = -I$(srcdir)/hand
+
+     bin_PROGRAMS = arm
+     arm_SOURCES = arm.c
+     # link with the hand library.
+     arm_LDADD = hand/libhand.a
+
+   Now here is `hand''s `hand/configure.ac':
+
+     AC_INIT([hand], [1.2])
+     AC_CONFIG_AUX_DIR([.])
+     AM_INIT_AUTOMAKE
+     AC_PROG_CC
+     AC_PROG_RANLIB
+     AC_CONFIG_FILES([Makefile])
+     AC_OUTPUT
+
+and its `hand/Makefile.am':
+
+     lib_LIBRARIES = libhand.a
+     libhand_a_SOURCES = hand.c
+
+   When `make dist' is run from the top-level directory it will create
+an archive `arm-1.0.tar.gz' that contains the `arm' code as well as the
+`hand' subdirectory.  This package can be built and installed like any
+ordinary package, with the usual `./configure && make && make install'
+sequence (the `hand' subpackage will be built and installed by the
+process).
+
+   When `make dist' is run from the hand directory, it will create a
+self-contained `hand-1.2.tar.gz' archive.  So although it appears to be
+embedded in another package, it can still be used separately.
+
+   The purpose of the `AC_CONFIG_AUX_DIR([.])' instruction is to force
+Automake and Autoconf into search auxiliary script in the current
+directory.  For instance, this means that there will be two copies of
+`install-sh': one in the top-level of the `arm' package, and another
+one in the `hand/' subdirectory for the `hand' package.
+
+   The historical default is to search these auxiliary scripts in the
+immediate parent and grand-parent directories.  So if the
+`AC_CONFIG_AUX_DIR([.])' line was removed from `hand/configure.ac',
+that subpackage would share the auxiliary script of the `arm' package.
+This may looks like a gain in size (a few kilobytes), but it is
+actually a loss of modularity as the `hand' subpackage is no longer
+self-contained (`make dist' in the subdirectory will not work anymore).
+
+   Packages that do not use Automake need more work to be integrated
+this way.  *Note Third-Party Makefiles::.
+
+
+File: automake.info,  Node: Programs,  Next: Other objects,  Prev: Directories,  Up: Top
+
+7 Building Programs and Libraries
+*********************************
+
+A large part of Automake's functionality is dedicated to making it easy
+to build programs and libraries.
+
+* Menu:
+
+* A Program::                   Building a program
+* A Library::                   Building a library
+* A Shared Library::            Building a Libtool library
+* Program and Library Variables::  Variables controlling program and
+                                library builds
+* Default _SOURCES::            Default source files
+* LIBOBJS::                     Special handling for LIBOBJS and ALLOCA
+* Program variables::           Variables used when building a program
+* Yacc and Lex::                Yacc and Lex support
+* C++ Support::                 Compiling C++ sources
+* Assembly Support::            Compiling assembly sources
+* Fortran 77 Support::          Compiling Fortran 77 sources
+* Fortran 9x Support::          Compiling Fortran 9x sources
+* Java Support::                Compiling Java sources
+* Support for Other Languages::  Compiling other languages
+* ANSI::                        Automatic de-ANSI-fication
+* Dependencies::                Automatic dependency tracking
+* EXEEXT::                      Support for executable extensions
+
+
+File: automake.info,  Node: A Program,  Next: A Library,  Up: Programs
+
+7.1 Building a program
+======================
+
+In order to build a program, you need to tell Automake which sources
+are part of it, and which libraries it should be linked with.
+
+   This section also covers conditional compilation of sources or
+programs.  Most of the comments about these also apply to libraries
+(*note A Library::) and libtool libraries (*note A Shared Library::).
+
+* Menu:
+
+* Program Sources::             Defining program sources
+* Linking::                     Linking with libraries or extra objects
+* Conditional Sources::         Handling conditional sources
+* Conditional Programs::        Building program conditionally
+
+
+File: automake.info,  Node: Program Sources,  Next: Linking,  Up: A Program
+
+7.1.1 Defining program sources
+------------------------------
+
+In a directory containing source that gets built into a program (as
+opposed to a library or a script), the `PROGRAMS' primary is used.
+Programs can be installed in `bindir', `sbindir', `libexecdir',
+`pkglibdir', or not at all (`noinst_').  They can also be built only
+for `make check', in which case the prefix is `check_'.
+
+   For instance:
+
+     bin_PROGRAMS = hello
+
+   In this simple case, the resulting `Makefile.in' will contain code
+to generate a program named `hello'.
+
+   Associated with each program are several assisting variables that are
+named after the program.  These variables are all optional, and have
+reasonable defaults.  Each variable, its use, and default is spelled out
+below; we use the "hello" example throughout.
+
+   The variable `hello_SOURCES' is used to specify which source files
+get built into an executable:
+
+     hello_SOURCES = hello.c version.c getopt.c getopt1.c getopt.h system.h
+
+   This causes each mentioned `.c' file to be compiled into the
+corresponding `.o'.  Then all are linked to produce `hello'.
+
+   If `hello_SOURCES' is not specified, then it defaults to the single
+file `hello.c' (*note Default _SOURCES::).  
+
+   Multiple programs can be built in a single directory.  Multiple
+programs can share a single source file, which must be listed in each
+`_SOURCES' definition.
+
+   Header files listed in a `_SOURCES' definition will be included in
+the distribution but otherwise ignored.  In case it isn't obvious, you
+should not include the header file generated by `configure' in a
+`_SOURCES' variable; this file should not be distributed.  Lex (`.l')
+and Yacc (`.y') files can also be listed; see *Note Yacc and Lex::.
+
+
+File: automake.info,  Node: Linking,  Next: Conditional Sources,  Prev: Program Sources,  Up: A Program
+
+7.1.2 Linking the program
+-------------------------
+
+If you need to link against libraries that are not found by
+`configure', you can use `LDADD' to do so.  This variable is used to
+specify additional objects or libraries to link with; it is
+inappropriate for specifying specific linker flags, you should use
+`AM_LDFLAGS' for this purpose.  
+
+   Sometimes, multiple programs are built in one directory but do not
+share the same link-time requirements.  In this case, you can use the
+`PROG_LDADD' variable (where PROG is the name of the program as it
+appears in some `_PROGRAMS' variable, and usually written in lowercase)
+to override the global `LDADD'.  If this variable exists for a given
+program, then that program is not linked using `LDADD'.  
+
+   For instance, in GNU cpio, `pax', `cpio' and `mt' are linked against
+the library `libcpio.a'.  However, `rmt' is built in the same
+directory, and has no such link requirement.  Also, `mt' and `rmt' are
+only built on certain architectures.  Here is what cpio's
+`src/Makefile.am' looks like (abridged):
+
+     bin_PROGRAMS = cpio pax $(MT)
+     libexec_PROGRAMS = $(RMT)
+     EXTRA_PROGRAMS = mt rmt
+
+     LDADD = ../lib/libcpio.a $(INTLLIBS)
+     rmt_LDADD =
+
+     cpio_SOURCES = ...
+     pax_SOURCES = ...
+     mt_SOURCES = ...
+     rmt_SOURCES = ...
+
+   `PROG_LDADD' is inappropriate for passing program-specific linker
+flags (except for `-l', `-L', `-dlopen' and `-dlpreopen').  So, use the
+`PROG_LDFLAGS' variable for this purpose.
+
+   It is also occasionally useful to have a program depend on some other
+target that is not actually part of that program.  This can be done
+using the `PROG_DEPENDENCIES' variable.  Each program depends on the
+contents of such a variable, but no further interpretation is done.
+
+   If `PROG_DEPENDENCIES' is not supplied, it is computed by Automake.
+The automatically-assigned value is the contents of `PROG_LDADD', with
+most configure substitutions, `-l', `-L', `-dlopen' and `-dlpreopen'
+options removed.  The configure substitutions that are left in are only
+`$(LIBOBJS)' and `$(ALLOCA)'; these are left because it is known that
+they will not cause an invalid value for `PROG_DEPENDENCIES' to be
+generated.
+
+
+File: automake.info,  Node: Conditional Sources,  Next: Conditional Programs,  Prev: Linking,  Up: A Program
+
+7.1.3 Conditional compilation of sources
+----------------------------------------
+
+You can't put a configure substitution (e.g., `@FOO@' or `$(FOO)' where
+`FOO' is defined via `AC_SUBST') into a `_SOURCES' variable.  The
+reason for this is a bit hard to explain, but suffice to say that it
+simply won't work.  Automake will give an error if you try to do this.
+
+   Fortunately there are two other ways to achieve the same result.
+One is to use configure substitutions in `_LDADD' variables, the other
+is to use an Automake conditional.
+
+7.1.3.1 Conditional compilation using `_LDADD' substitutions
+............................................................
+
+Automake must know all the source files that could possibly go into a
+program, even if not all the files are built in every circumstance.  Any
+files that are only conditionally built should be listed in the
+appropriate `EXTRA_' variable.  For instance, if `hello-linux.c' or
+`hello-generic.c' were conditionally included in `hello', the
+`Makefile.am' would contain:
+
+     bin_PROGRAMS = hello
+     hello_SOURCES = hello-common.c
+     EXTRA_hello_SOURCES = hello-linux.c hello-generic.c
+     hello_LDADD = $(HELLO_SYSTEM)
+     hello_DEPENDENCIES = $(HELLO_SYSTEM)
+
+You can then setup the `$(HELLO_SYSTEM)' substitution from
+`configure.ac':
+
+     ...
+     case $host in
+       *linux*) HELLO_SYSTEM='hello-linux.$(OBJEXT)' ;;
+       *)       HELLO_SYSTEM='hello-generic.$(OBJEXT)' ;;
+     esac
+     AC_SUBST([HELLO_SYSTEM])
+     ...
+
+   In this case, the variable `HELLO_SYSTEM' should be replaced by
+either `hello-linux.o' or `hello-generic.o', and added to both
+`hello_DEPENDENCIES' and `hello_LDADD' in order to be built and linked
+in.
+
+7.1.3.2 Conditional compilation using Automake conditionals
+...........................................................
+
+An often simpler way to compile source files conditionally is to use
+Automake conditionals.  For instance, you could use this `Makefile.am'
+construct to build the same `hello' example:
+
+     bin_PROGRAMS = hello
+     if LINUX
+     hello_SOURCES = hello-linux.c hello-common.c
+     else
+     hello_SOURCES = hello-generic.c hello-common.c
+     endif
+
+   In this case, `configure.ac' should setup the `LINUX' conditional
+using `AM_CONDITIONAL' (*note Conditionals::).
+
+   When using conditionals like this you don't need to use the `EXTRA_'
+variable, because Automake will examine the contents of each variable
+to construct the complete list of source files.
+
+   If your program uses a lot of files, you will probably prefer a
+conditional `+='.
+
+     bin_PROGRAMS = hello
+     hello_SOURCES = hello-common.c
+     if LINUX
+     hello_SOURCES += hello-linux.c
+     else
+     hello_SOURCES += hello-generic.c
+     endif
+
+
+File: automake.info,  Node: Conditional Programs,  Prev: Conditional Sources,  Up: A Program
+
+7.1.4 Conditional compilation of programs
+-----------------------------------------
+
+Sometimes it is useful to determine the programs that are to be built
+at configure time.  For instance, GNU `cpio' only builds `mt' and `rmt'
+under special circumstances.  The means to achieve conditional
+compilation of programs are the same you can use to compile source
+files conditionally: substitutions or conditionals.
+
+7.1.4.1 Conditional programs using `configure' substitutions
+............................................................
+
+In this case, you must notify Automake of all the programs that can
+possibly be built, but at the same time cause the generated
+`Makefile.in' to use the programs specified by `configure'.  This is
+done by having `configure' substitute values into each `_PROGRAMS'
+definition, while listing all optionally built programs in
+`EXTRA_PROGRAMS'.
+
+     bin_PROGRAMS = cpio pax $(MT)
+     libexec_PROGRAMS = $(RMT)
+     EXTRA_PROGRAMS = mt rmt
+
+   As explained in *Note EXEEXT::, Automake will rewrite
+`bin_PROGRAMS', `libexec_PROGRAMS', and `EXTRA_PROGRAMS', appending
+`$(EXEEXT)' to each binary.  Obviously it cannot rewrite values
+obtained at run-time through `configure' substitutions, therefore you
+should take care of appending `$(EXEEXT)' yourself, as in
+`AC_SUBST([MT], ['mt${EXEEXT}'])'.
+
+7.1.4.2 Conditional programs using Automake conditionals
+........................................................
+
+You can also use Automake conditionals (*note Conditionals::) to select
+programs to be built.  In this case you don't have to worry about
+`$(EXEEXT)' or `EXTRA_PROGRAMS'.
+
+     bin_PROGRAMS = cpio pax
+     if WANT_MT
+       bin_PROGRAMS += mt
+     endif
+     if WANT_RMT
+       libexec_PROGRAMS = rmt
+     endif
+
+
+File: automake.info,  Node: A Library,  Next: A Shared Library,  Prev: A Program,  Up: Programs
+
+7.2 Building a library
+======================
+
+Building a library is much like building a program.  In this case, the
+name of the primary is `LIBRARIES'.  Libraries can be installed in
+`libdir' or `pkglibdir'.
+
+   *Note A Shared Library::, for information on how to build shared
+libraries using libtool and the `LTLIBRARIES' primary.
+
+   Each `_LIBRARIES' variable is a list of the libraries to be built.
+For instance, to create a library named `libcpio.a', but not install
+it, you would write:
+
+     noinst_LIBRARIES = libcpio.a
+     libcpio_a_SOURCES = ...
+
+   The sources that go into a library are determined exactly as they are
+for programs, via the `_SOURCES' variables.  Note that the library name
+is canonicalized (*note Canonicalization::), so the `_SOURCES' variable
+corresponding to `libcpio.a' is `libcpio_a_SOURCES', not
+`libcpio.a_SOURCES'.
+
+   Extra objects can be added to a library using the `LIBRARY_LIBADD'
+variable.  This should be used for objects determined by `configure'.
+Again from `cpio':
+
+     libcpio_a_LIBADD = $(LIBOBJS) $(ALLOCA)
+
+   In addition, sources for extra objects that will not exist until
+configure-time must be added to the `BUILT_SOURCES' variable (*note
+Sources::).
+
+   Building a static library is done by compiling all object files, then
+by invoking `$(AR) $(ARFLAGS)' followed by the name of the library and
+the list of objects, and finally by calling `$(RANLIB)' on that
+library.  You should call `AC_PROG_RANLIB' from your `configure.ac' to
+define `RANLIB' (Automake will complain otherwise).  `AR' and `ARFLAGS'
+default to `ar' and `cru' respectively; you can override these two
+variables my setting them in your `Makefile.am', by `AC_SUBST'ing them
+from your `configure.ac', or by defining a per-library `maude_AR'
+variable (*note Program and Library Variables::).
+
+   Be careful when selecting library components conditionally.  Because
+building an empty library is not portable, you should ensure that any
+library contains always at least one object.
+
+   To use a static library when building a program, add it to `LDADD'
+for this program.  In the following example, the program `cpio' is
+statically linked with the library `libcpio.a'.
+
+     noinst_LIBRARIES = libcpio.a
+     libcpio_a_SOURCES = ...
+
+     bin_PROGRAMS = cpio
+     cpio_SOURCES = cpio.c ...
+     cpio_LDADD = libcpio.a
+
+
+File: automake.info,  Node: A Shared Library,  Next: Program and Library Variables,  Prev: A Library,  Up: Programs
+
+7.3 Building a Shared Library
+=============================
+
+Building shared libraries portably is a relatively complex matter.  For
+this reason, GNU Libtool (*note Introduction: (libtool)Top.) was
+created to help build shared libraries in a platform-independent way.
+
+* Menu:
+
+* Libtool Concept::             Introducing Libtool
+* Libtool Libraries::           Declaring Libtool Libraries
+* Conditional Libtool Libraries::  Building Libtool Libraries Conditionally
+* Conditional Libtool Sources::  Choosing Library Sources Conditionally
+* Libtool Convenience Libraries::  Building Convenience Libtool Libraries
+* Libtool Modules::             Building Libtool Modules
+* Libtool Flags::               Using _LIBADD and _LDFLAGS
+* LTLIBOBJS::                   Using $(LTLIBOBJS) and $(LTALLOCA)
+* Libtool Issues::              Common Issues Related to Libtool's Use
+
+
+File: automake.info,  Node: Libtool Concept,  Next: Libtool Libraries,  Up: A Shared Library
+
+7.3.1 The Libtool Concept
+-------------------------
+
+Libtool abstracts shared and static libraries into a unified concept
+henceforth called "libtool libraries".  Libtool libraries are files
+using the `.la' suffix, and can designate a static library, a shared
+library, or maybe both.  Their exact nature cannot be determined until
+`./configure' is run: not all platforms support all kinds of libraries,
+and users can explicitly select which libraries should be built.
+(However the package's maintainers can tune the default, *note The
+`AC_PROG_LIBTOOL' macro: (libtool)AC_PROG_LIBTOOL.)
+
+   Because object files for shared and static libraries must be compiled
+differently, libtool is also used during compilation.  Object files
+built by libtool are called "libtool objects": these are files using
+the `.lo' suffix.  Libtool libraries are built from these libtool
+objects.
+
+   You should not assume anything about the structure of `.la' or `.lo'
+files and how libtool constructs them: this is libtool's concern, and
+the last thing one wants is to learn about libtool's guts.  However the
+existence of these files matters, because they are used as targets and
+dependencies in `Makefile's rules when building libtool libraries.
+There are situations where you may have to refer to these, for instance
+when expressing dependencies for building source files conditionally
+(*note Conditional Libtool Sources::).
+
+   People considering writing a plug-in system, with dynamically loaded
+modules, should look into `libltdl': libtool's dlopening library (*note
+Using libltdl: (libtool)Using libltdl.).  This offers a portable
+dlopening facility to load libtool libraries dynamically, and can also
+achieve static linking where unavoidable.
+
+   Before we discuss how to use libtool with Automake in details, it
+should be noted that the libtool manual also has a section about how to
+use Automake with libtool (*note Using Automake with Libtool:
+(libtool)Using Automake.).
+
+
+File: automake.info,  Node: Libtool Libraries,  Next: Conditional Libtool Libraries,  Prev: Libtool Concept,  Up: A Shared Library
+
+7.3.2 Building Libtool Libraries
+--------------------------------
+
+Automake uses libtool to build libraries declared with the
+`LTLIBRARIES' primary.  Each `_LTLIBRARIES' variable is a list of
+libtool libraries to build.  For instance, to create a libtool library
+named `libgettext.la', and install it in `libdir', write:
+
+     lib_LTLIBRARIES = libgettext.la
+     libgettext_la_SOURCES = gettext.c gettext.h ...
+
+   Automake predefines the variable `pkglibdir', so you can use
+`pkglib_LTLIBRARIES' to install libraries in `$(libdir)/@PACKAGE@/'.
+
+   If `gettext.h' is a public header file that needs to be installed in
+order for people to use the library, it should be declared using a
+`_HEADERS' variable, not in `libgettext_la_SOURCES'.  Headers listed in
+the latter should be internal headers that are not part of the public
+interface.
+
+     lib_LTLIBRARIES = libgettext.la
+     libgettext_la_SOURCES = gettext.c ...
+     include_HEADERS = gettext.h ...
+
+   A package can build and install such a library along with other
+programs that use it.  This dependency should be specified using
+`LDADD'.  The following example builds a program named `hello' that is
+linked with `libgettext.la'.
+
+     lib_LTLIBRARIES = libgettext.la
+     libgettext_la_SOURCES = gettext.c ...
+
+     bin_PROGRAMS = hello
+     hello_SOURCES = hello.c ...
+     hello_LDADD = libgettext.la
+
+Whether `hello' is statically or dynamically linked with
+`libgettext.la' is not yet known: this will depend on the configuration
+of libtool and the capabilities of the host.
+
+
+File: automake.info,  Node: Conditional Libtool Libraries,  Next: Conditional Libtool Sources,  Prev: Libtool Libraries,  Up: A Shared Library
+
+7.3.3 Building Libtool Libraries Conditionally
+----------------------------------------------
+
+Like conditional programs (*note Conditional Programs::), there are two
+main ways to build conditional libraries: using Automake conditionals
+or using Autoconf `AC_SUBST'itutions.
+
+   The important implementation detail you have to be aware of is that
+the place where a library will be installed matters to libtool: it
+needs to be indicated _at link-time_ using the `-rpath' option.
+
+   For libraries whose destination directory is known when Automake
+runs, Automake will automatically supply the appropriate `-rpath'
+option to libtool.  This is the case for libraries listed explicitly in
+some installable `_LTLIBRARIES' variables such as `lib_LTLIBRARIES'.
+
+   However, for libraries determined at configure time (and thus
+mentioned in `EXTRA_LTLIBRARIES'), Automake does not know the final
+installation directory.  For such libraries you must add the `-rpath'
+option to the appropriate `_LDFLAGS' variable by hand.
+
+   The examples below illustrate the differences between these two
+methods.
+
+   Here is an example where `WANTEDLIBS' is an `AC_SUBST'ed variable
+set at `./configure'-time to either `libfoo.la', `libbar.la', both, or
+none.  Although `$(WANTEDLIBS)' appears in the `lib_LTLIBRARIES',
+Automake cannot guess it relates to `libfoo.la' or `libbar.la' by the
+time it creates the link rule for these two libraries.  Therefore the
+`-rpath' argument must be explicitly supplied.
+
+     EXTRA_LTLIBRARIES = libfoo.la libbar.la
+     lib_LTLIBRARIES = $(WANTEDLIBS)
+     libfoo_la_SOURCES = foo.c ...
+     libfoo_la_LDFLAGS = -rpath '$(libdir)'
+     libbar_la_SOURCES = bar.c ...
+     libbar_la_LDFLAGS = -rpath '$(libdir)'
+
+   Here is how the same `Makefile.am' would look using Automake
+conditionals named `WANT_LIBFOO' and `WANT_LIBBAR'.  Now Automake is
+able to compute the `-rpath' setting itself, because it's clear that
+both libraries will end up in `$(libdir)' if they are installed.
+
+     lib_LTLIBRARIES =
+     if WANT_LIBFOO
+     lib_LTLIBRARIES += libfoo.la
+     endif
+     if WANT_LIBBAR
+     lib_LTLIBRARIES += libbar.la
+     endif
+     libfoo_la_SOURCES = foo.c ...
+     libbar_la_SOURCES = bar.c ...
+
+
+File: automake.info,  Node: Conditional Libtool Sources,  Next: Libtool Convenience Libraries,  Prev: Conditional Libtool Libraries,  Up: A Shared Library
+
+7.3.4 Libtool Libraries with Conditional Sources
+------------------------------------------------
+
+Conditional compilation of sources in a library can be achieved in the
+same way as conditional compilation of sources in a program (*note
+Conditional Sources::).  The only difference is that `_LIBADD' should
+be used instead of `_LDADD' and that it should mention libtool objects
+(`.lo' files).
+
+   So, to mimic the `hello' example from *Note Conditional Sources::,
+we could build a `libhello.la' library using either `hello-linux.c' or
+`hello-generic.c' with the following `Makefile.am'.
+
+     lib_LTLIBRARIES = libhello.la
+     libhello_la_SOURCES = hello-common.c
+     EXTRA_libhello_la_SOURCES = hello-linux.c hello-generic.c
+     libhello_la_LIBADD = $(HELLO_SYSTEM)
+     libhello_la_DEPENDENCIES = $(HELLO_SYSTEM)
+
+And make sure `configure' defines `HELLO_SYSTEM' as either
+`hello-linux.lo' or `hello-generic.lo'.
+
+   Or we could simply use an Automake conditional as follows.
+
+     lib_LTLIBRARIES = libhello.la
+     libhello_la_SOURCES = hello-common.c
+     if LINUX
+     libhello_la_SOURCES += hello-linux.c
+     else
+     libhello_la_SOURCES += hello-generic.c
+     endif
+
+
+File: automake.info,  Node: Libtool Convenience Libraries,  Next: Libtool Modules,  Prev: Conditional Libtool Sources,  Up: A Shared Library
+
+7.3.5 Libtool Convenience Libraries
+-----------------------------------
+
+Sometimes you want to build libtool libraries that should not be
+installed.  These are called "libtool convenience libraries" and are
+typically used to encapsulate many sublibraries, later gathered into
+one big installed library.
+
+   Libtool convenience libraries are declared by directory-less
+variables such as `noinst_LTLIBRARIES', `check_LTLIBRARIES', or even
+`EXTRA_LTLIBRARIES'.  Unlike installed libtool libraries they do not
+need an `-rpath' flag at link time (actually this is the only
+difference).
+
+   Convenience libraries listed in `noinst_LTLIBRARIES' are always
+built.  Those listed in `check_LTLIBRARIES' are built only upon `make
+check'.  Finally, libraries listed in `EXTRA_LTLIBRARIES' are never
+built explicitly: Automake outputs rules to build them, but if the
+library does not appear as a Makefile dependency anywhere it won't be
+built (this is why `EXTRA_LTLIBRARIES' is used for conditional
+compilation).
+
+   Here is a sample setup merging libtool convenience libraries from
+subdirectories into one main `libtop.la' library.
+
+     # -- Top-level Makefile.am --
+     SUBDIRS = sub1 sub2 ...
+     lib_LTLIBRARIES = libtop.la
+     libtop_la_SOURCES =
+     libtop_la_LIBADD = \
+       sub1/libsub1.la \
+       sub2/libsub2.la \
+       ...
+
+     # -- sub1/Makefile.am --
+     noinst_LTLIBRARIES = libsub1.la
+     libsub1_la_SOURCES = ...
+
+     # -- sub2/Makefile.am --
+     # showing nested convenience libraries
+     SUBDIRS = sub2.1 sub2.2 ...
+     noinst_LTLIBRARIES = libsub2.la
+     libsub2_la_SOURCES =
+     libsub2_la_LIBADD = \
+       sub21/libsub21.la \
+       sub22/libsub22.la \
+       ...
+
+   When using such setup, beware that `automake' will assume
+`libtop.la' is to be linked with the C linker.  This is because
+`libtop_la_SOURCES' is empty, so `automake' picks C as default
+language.  If `libtop_la_SOURCES' was not empty, `automake' would
+select the linker as explained in *Note How the Linker is Chosen::.
+
+   If one of the sublibraries contains non-C source, it is important
+that the appropriate linker be chosen.  One way to achieve this is to
+pretend that there is such a non-C file among the sources of the
+library, thus forcing `automake' to select the appropriate linker.
+Here is the top-level `Makefile' of our example updated to force C++
+linking.
+
+     SUBDIRS = sub1 sub2 ...
+     lib_LTLIBRARIES = libtop.la
+     libtop_la_SOURCES =
+     # Dummy C++ source to cause C++ linking.
+     nodist_EXTRA_libtop_la_SOURCES = dummy.cxx
+     libtop_la_LIBADD = \
+       sub1/libsub1.la \
+       sub2/libsub2.la \
+       ...
+
+   `EXTRA_*_SOURCES' variables are used to keep track of source files
+that might be compiled (this is mostly useful when doing conditional
+compilation using `AC_SUBST', *note Conditional Libtool Sources::), and
+the `nodist_' prefix means the listed sources are not to be distributed
+(*note Program and Library Variables::).  In effect the file
+`dummy.cxx' does not need to exist in the source tree.  Of course if
+you have some real source file to list in `libtop_la_SOURCES' there is
+no point in cheating with `nodist_EXTRA_libtop_la_SOURCES'.
+
+
+File: automake.info,  Node: Libtool Modules,  Next: Libtool Flags,  Prev: Libtool Convenience Libraries,  Up: A Shared Library
+
+7.3.6 Libtool Modules
+---------------------
+
+These are libtool libraries meant to be dlopened.  They are indicated
+to libtool by passing `-module' at link-time.
+
+     pkglib_LTLIBRARIES = mymodule.la
+     mymodule_la_SOURCES = doit.c
+     mymodule_la_LDFLAGS = -module
+
+   Ordinarily, Automake requires that a library's name starts with
+`lib'.  However, when building a dynamically loadable module you might
+wish to use a "nonstandard" name.  Automake will not complain about
+such nonstandard name if it knows the library being built is a libtool
+module, i.e., if `-module' explicitly appears in the library's
+`_LDFLAGS' variable (or in the common `AM_LDFLAGS' variable when no
+per-library `_LDFLAGS' variable is defined).
+
+   As always, `AC_SUBST' variables are black boxes to Automake since
+their values are not yet known when `automake' is run.  Therefore if
+`-module' is set via such a variable, Automake cannot notice it and
+will proceed as if the library was an ordinary libtool library, with
+strict naming.
+
+   If `mymodule_la_SOURCES' is not specified, then it defaults to the
+single file `mymodule.c' (*note Default _SOURCES::).
+
+
+File: automake.info,  Node: Libtool Flags,  Next: LTLIBOBJS,  Prev: Libtool Modules,  Up: A Shared Library
+
+7.3.7 _LIBADD and _LDFLAGS
+--------------------------
+
+As shown in previous sections, the `LIBRARY_LIBADD' variable should be
+used to list extra libtool objects (`.lo' files) or libtool libraries
+(`.la') to add to LIBRARY.
+
+   The `LIBRARY_LDFLAGS' variable is the place to list additional
+libtool flags, such as `-version-info', `-static', and a lot more.
+*Note Link mode: (libtool)Link mode.
+
+
+File: automake.info,  Node: LTLIBOBJS,  Next: Libtool Issues,  Prev: Libtool Flags,  Up: A Shared Library
+
+7.3.8 `LTLIBOBJS' and `LTALLOCA'
+--------------------------------
+
+Where an ordinary library might include `$(LIBOBJS)' or `$(ALLOCA)'
+(*note LIBOBJS::), a libtool library must use `$(LTLIBOBJS)' or
+`$(LTALLOCA)'.  This is required because the object files that libtool
+operates on do not necessarily end in `.o'.
+
+   Nowadays, the computation of `LTLIBOBJS' from `LIBOBJS' is performed
+automatically by Autoconf (*note `AC_LIBOBJ' vs. `LIBOBJS':
+(autoconf)AC_LIBOBJ vs LIBOBJS.).
+
+
+File: automake.info,  Node: Libtool Issues,  Prev: LTLIBOBJS,  Up: A Shared Library
+
+7.3.9 Common Issues Related to Libtool's Use
+--------------------------------------------
+
+7.3.9.1 `required file `./ltmain.sh' not found'
+...............................................
+
+Libtool comes with a tool called `libtoolize' that will install
+libtool's supporting files into a package.  Running this command will
+install `ltmain.sh'.  You should execute it before `aclocal' and
+`automake'.
+
+   People upgrading old packages to newer autotools are likely to face
+this issue because older Automake versions used to call `libtoolize'.
+Therefore old build scripts do not call `libtoolize'.
+
+   Since Automake 1.6, it has been decided that running `libtoolize'
+was none of Automake's business.  Instead, that functionality has been
+moved into the `autoreconf' command (*note Using `autoreconf':
+(autoconf)autoreconf Invocation.).  If you do not want to remember what
+to run and when, just learn the `autoreconf' command.  Hopefully,
+replacing existing `bootstrap.sh' or `autogen.sh' scripts by a call to
+`autoreconf' should also free you from any similar incompatible change
+in the future.
+
+7.3.9.2 Objects `created with both libtool and without'
+.......................................................
+
+Sometimes, the same source file is used both to build a libtool library
+and to build another non-libtool target (be it a program or another
+library).
+
+   Let's consider the following `Makefile.am'.
+
+     bin_PROGRAMS = prog
+     prog_SOURCES = prog.c foo.c ...
+
+     lib_LTLIBRARIES = libfoo.la
+     libfoo_la_SOURCES = foo.c ...
+
+(In this trivial case the issue could be avoided by linking `libfoo.la'
+with `prog' instead of listing `foo.c' in `prog_SOURCES'.  But let's
+assume we really want to keep `prog' and `libfoo.la' separate.)
+
+   Technically, it means that we should build `foo.$(OBJEXT)' for
+`prog', and `foo.lo' for `libfoo.la'.  The problem is that in the
+course of creating `foo.lo', libtool may erase (or replace)
+`foo.$(OBJEXT)', and this cannot be avoided.
+
+   Therefore, when Automake detects this situation it will complain
+with a message such as
+     object `foo.$(OBJEXT)' created both with libtool and without
+
+   A workaround for this issue is to ensure that these two objects get
+different basenames.  As explained in *Note renamed objects::, this
+happens automatically when per-targets flags are used.
+
+     bin_PROGRAMS = prog
+     prog_SOURCES = prog.c foo.c ...
+     prog_CFLAGS = $(AM_CFLAGS)
+
+     lib_LTLIBRARIES = libfoo.la
+     libfoo_la_SOURCES = foo.c ...
+
+Adding `prog_CFLAGS = $(AM_CFLAGS)' is almost a no-op, because when the
+`prog_CFLAGS' is defined, it is used instead of `AM_CFLAGS'.  However
+as a side effect it will cause `prog.c' and `foo.c' to be compiled as
+`prog-prog.$(OBJEXT)' and `prog-foo.$(OBJEXT)', which solves the issue.
+
+
+File: automake.info,  Node: Program and Library Variables,  Next: Default _SOURCES,  Prev: A Shared Library,  Up: Programs
+
+7.4 Program and Library Variables
+=================================
+
+Associated with each program are a collection of variables that can be
+used to modify how that program is built.  There is a similar list of
+such variables for each library.  The canonical name of the program (or
+library) is used as a base for naming these variables.
+
+   In the list below, we use the name "maude" to refer to the program or
+library.  In your `Makefile.am' you would replace this with the
+canonical name of your program.  This list also refers to "maude" as a
+program, but in general the same rules apply for both static and dynamic
+libraries; the documentation below notes situations where programs and
+libraries differ.
+
+`maude_SOURCES'
+     This variable, if it exists, lists all the source files that are
+     compiled to build the program.  These files are added to the
+     distribution by default.  When building the program, Automake will
+     cause each source file to be compiled to a single `.o' file (or
+     `.lo' when using libtool).  Normally these object files are named
+     after the source file, but other factors can change this.  If a
+     file in the `_SOURCES' variable has an unrecognized extension,
+     Automake will do one of two things with it.  If a suffix rule
+     exists for turning files with the unrecognized extension into `.o'
+     files, then automake will treat this file as it will any other
+     source file (*note Support for Other Languages::).  Otherwise, the
+     file will be ignored as though it were a header file.
+
+     The prefixes `dist_' and `nodist_' can be used to control whether
+     files listed in a `_SOURCES' variable are distributed.  `dist_' is
+     redundant, as sources are distributed by default, but it can be
+     specified for clarity if desired.
+
+     It is possible to have both `dist_' and `nodist_' variants of a
+     given `_SOURCES' variable at once; this lets you easily distribute
+     some files and not others, for instance:
+
+          nodist_maude_SOURCES = nodist.c
+          dist_maude_SOURCES = dist-me.c
+
+     By default the output file (on Unix systems, the `.o' file) will
+     be put into the current build directory.  However, if the option
+     `subdir-objects' is in effect in the current directory then the
+     `.o' file will be put into the subdirectory named after the source
+     file.  For instance, with `subdir-objects' enabled,
+     `sub/dir/file.c' will be compiled to `sub/dir/file.o'.  Some
+     people prefer this mode of operation.  You can specify
+     `subdir-objects' in `AUTOMAKE_OPTIONS' (*note Options::).  
+
+`EXTRA_maude_SOURCES'
+     Automake needs to know the list of files you intend to compile
+     _statically_.  For one thing, this is the only way Automake has of
+     knowing what sort of language support a given `Makefile.in'
+     requires.  (1)  This means that, for example, you can't put a
+     configure substitution like `@my_sources@' into a `_SOURCES'
+     variable.  If you intend to conditionally compile source files and
+     use `configure' to substitute the appropriate object names into,
+     e.g., `_LDADD' (see below), then you should list the corresponding
+     source files in the `EXTRA_' variable.
+
+     This variable also supports `dist_' and `nodist_' prefixes.  For
+     instance, `nodist_EXTRA_maude_SOURCES' would list extra sources
+     that may need to be built, but should not be distributed.
+
+`maude_AR'
+     A static library is created by default by invoking `$(AR)
+     $(ARFLAGS)' followed by the name of the library and then the
+     objects being put into the library.  You can override this by
+     setting the `_AR' variable.  This is usually used with C++; some
+     C++ compilers require a special invocation in order to instantiate
+     all the templates that should go into a library.  For instance,
+     the SGI C++ compiler likes this variable set like so:
+          libmaude_a_AR = $(CXX) -ar -o
+
+`maude_LIBADD'
+     Extra objects can be added to a _library_ using the `_LIBADD'
+     variable.  For instance, this should be used for objects
+     determined by `configure' (*note A Library::).
+
+     In the case of libtool libraries, `maude_LIBADD' can also refer to
+     other libtool libraries.
+
+`maude_LDADD'
+     Extra objects (`*.$(OBJDIR)') and libraries (`*.a', `*.la') can be
+     added to a _program_ by listing them in the `_LDADD' variable.
+     For instance, this should be used for objects determined by
+     `configure' (*note Linking::).
+
+     `_LDADD' and `_LIBADD' are inappropriate for passing
+     program-specific linker flags (except for `-l', `-L', `-dlopen'
+     and `-dlpreopen').  Use the `_LDFLAGS' variable for this purpose.
+
+     For instance, if your `configure.ac' uses `AC_PATH_XTRA', you
+     could link your program against the X libraries like so:
+
+          maude_LDADD = $(X_PRE_LIBS) $(X_LIBS) $(X_EXTRA_LIBS)
+
+`maude_LDFLAGS'
+     This variable is used to pass extra flags to the link step of a
+     program or a shared library.
+
+`maude_DEPENDENCIES'
+     It is also occasionally useful to have a program depend on some
+     other target that is not actually part of that program.  This can
+     be done using the `_DEPENDENCIES' variable.  Each program depends
+     on the contents of such a variable, but no further interpretation
+     is done.
+
+     If `_DEPENDENCIES' is not supplied, it is computed by Automake.
+     The automatically-assigned value is the contents of `_LDADD' or
+     `_LIBADD', with most configure substitutions, `-l', `-L',
+     `-dlopen' and `-dlpreopen' options removed.  The configure
+     substitutions that are left in are only `$(LIBOBJS)' and
+     `$(ALLOCA)'; these are left because it is known that they will not
+     cause an invalid value for `_DEPENDENCIES' to be generated.
+
+`maude_LINK'
+     You can override the linker on a per-program basis.  By default the
+     linker is chosen according to the languages used by the program.
+     For instance, a program that includes C++ source code would use
+     the C++ compiler to link.  The `_LINK' variable must hold the name
+     of a command that can be passed all the `.o' file names as
+     arguments.  Note that the name of the underlying program is _not_
+     passed to `_LINK'; typically one uses `$@':
+
+          maude_LINK = $(CCLD) -magic -o $@
+
+`maude_CCASFLAGS'
+`maude_CFLAGS'
+`maude_CPPFLAGS'
+`maude_CXXFLAGS'
+`maude_FFLAGS'
+`maude_GCJFLAGS'
+`maude_LFLAGS'
+`maude_OBJCFLAGS'
+`maude_RFLAGS'
+`maude_YFLAGS'
+     Automake allows you to set compilation flags on a per-program (or
+     per-library) basis.  A single source file can be included in
+     several programs, and it will potentially be compiled with
+     different flags for each program.  This works for any language
+     directly supported by Automake.  These "per-target compilation
+     flags" are `_CCASFLAGS', `_CFLAGS', `_CPPFLAGS', `_CXXFLAGS',
+     `_FFLAGS', `_GCJFLAGS', `_LFLAGS', `_OBJCFLAGS', `_RFLAGS', and
+     `_YFLAGS'.
+
+     When using a per-target compilation flag, Automake will choose a
+     different name for the intermediate object files.  Ordinarily a
+     file like `sample.c' will be compiled to produce `sample.o'.
+     However, if the program's `_CFLAGS' variable is set, then the
+     object file will be named, for instance, `maude-sample.o'.  (See
+     also *Note renamed objects::.)
+
+     In compilations with per-target flags, the ordinary `AM_' form of
+     the flags variable is _not_ automatically included in the
+     compilation (however, the user form of the variable _is_ included).
+     So for instance, if you want the hypothetical `maude' compilations
+     to also use the value of `AM_CFLAGS', you would need to write:
+
+          maude_CFLAGS = ... your flags ... $(AM_CFLAGS)
+
+     *Note Flag Variables Ordering::, for more discussion about the
+     interaction between user variables, `AM_' shadow variables, and
+     per-target variables.
+
+`maude_SHORTNAME'
+     On some platforms the allowable file names are very short.  In
+     order to support these systems and per-target compilation flags at
+     the same time, Automake allows you to set a "short name" that will
+     influence how intermediate object files are named.  For instance,
+     in the following example,
+
+          bin_PROGRAMS = maude
+          maude_CPPFLAGS = -DSOMEFLAG
+          maude_SHORTNAME = m
+          maude_SOURCES = sample.c ...
+
+     the object file would be named `m-sample.o' rather than
+     `maude-sample.o'.
+
+     This facility is rarely needed in practice, and we recommend
+     avoiding it until you find it is required.
+
+   ---------- Footnotes ----------
+
+   (1) There are other, more obscure reasons for this limitation as
+well.
+
+
+File: automake.info,  Node: Default _SOURCES,  Next: LIBOBJS,  Prev: Program and Library Variables,  Up: Programs
+
+7.5 Default `_SOURCES'
+======================
+
+`_SOURCES' variables are used to specify source files of programs
+(*note A Program::), libraries (*note A Library::), and Libtool
+libraries (*note A Shared Library::).
+
+   When no such variable is specified for a target, Automake will define
+one itself.  The default is to compile a single C file whose base name
+is the name of the target itself, with any extension replaced by `.c'.
+(Defaulting to C is terrible but we are stuck with it for historical
+reasons.)
+
+   For example if you have the following somewhere in your
+`Makefile.am' with no corresponding `libfoo_a_SOURCES':
+
+     lib_LIBRARIES = libfoo.a sub/libc++.a
+
+`libfoo.a' will be built using a default source file named `libfoo.c',
+and `sub/libc++.a' will be built from `sub/libc++.c'.  (In older
+versions `sub/libc++.a' would be built from `sub_libc___a.c', i.e., the
+default source was the canonized name of the target, with `.c' appended.
+We believe the new behavior is more sensible, but for backward
+compatibility automake will use the old name if a file or a rule with
+that name exist.)
+
+   Default sources are mainly useful in test suites, when building many
+tests programs each from a single source.  For instance, in
+
+     check_PROGRAMS = test1 test2 test3
+
+`test1', `test2', and `test3' will be built from `test1.c', `test2.c',
+and `test3.c'.
+
+   Another case where is this convenient is building many Libtool
+modules (`moduleN.la'), each defined in its own file (`moduleN.c').
+
+     AM_LDFLAGS = -module
+     lib_LTLIBRARIES = module1.la module2.la module3.la
+
+   Finally, there is one situation where this default source computation
+needs to be avoided: when a target should not be built from sources.
+We already saw such an example in *Note true::; this happens when all
+the constituents of a target have already been compiled and need just
+to be combined using a `_LDADD' variable.  Then it is necessary to
+define an empty `_SOURCES' variable, so that automake does not compute
+a default.
+
+     bin_PROGRAMS = target
+     target_SOURCES =
+     target_LDADD = libmain.a libmisc.a
+
+
+File: automake.info,  Node: LIBOBJS,  Next: Program variables,  Prev: Default _SOURCES,  Up: Programs
+
+7.6 Special handling for `LIBOBJS' and `ALLOCA'
+===============================================
+
+The `$(LIBOBJS)' and `$(ALLOCA)' variables list object files that
+should be compiled into the project to provide an implementation for
+functions that are missing or broken on the host system.  They are
+substituted by `configure'.
+
+   These variables are defined by Autoconf macros such as `AC_LIBOBJ',
+`AC_REPLACE_FUNCS' (*note Generic Function Checks: (autoconf)Generic
+Functions.), or `AC_FUNC_ALLOCA' (*note Particular Function Checks:
+(autoconf)Particular Functions.).  Many other Autoconf macros call
+`AC_LIBOBJ' or `AC_REPLACE_FUNCS' to populate `$(LIBOBJS)'.
+
+   Using these variables is very similar to doing conditional
+compilation using `AC_SUBST' variables, as described in *Note
+Conditional Sources::.  That is, when building a program, `$(LIBOBJS)'
+and `$(ALLOCA)' should be added to the associated `*_LDADD' variable,
+or to the `*_LIBADD' variable when building a library.  However there
+is no need to list the corresponding sources in `EXTRA_*_SOURCES' nor
+to define `*_DEPENDENCIES'.  Automake automatically adds `$(LIBOBJS)'
+and `$(ALLOCA)' to the dependencies, and it will discover the list of
+corresponding source files automatically (by tracing the invocations of
+the `AC_LIBSOURCE' Autoconf macros).
+
+   These variables are usually used to build a portability library that
+is linked with all the programs of the project.  We now review a sample
+setup.  First, `configure.ac' contains some checks that affect either
+`LIBOBJS' or `ALLOCA'.
+
+     # configure.ac
+     ...
+     AC_CONFIG_LIBOBJ_DIR([lib])
+     ...
+     AC_FUNC_MALLOC             dnl May add malloc.$(OBJEXT) to LIBOBJS
+     AC_FUNC_MEMCMP             dnl May add memcmp.$(OBJEXT) to LIBOBJS
+     AC_REPLACE_FUNCS([strdup]) dnl May add strdup.$(OBJEXT) to LIBOBJS
+     AC_FUNC_ALLOCA             dnl May add alloca.$(OBJEXT) to ALLOCA
+     ...
+     AC_CONFIG_FILES([
+       lib/Makefile
+       src/Makefile
+     ])
+     AC_OUTPUT
+
+   The `AC_CONFIG_LIBOBJ_DIR' tells Autoconf that the source files of
+these object files are to be found in the `lib/' directory.  Automake
+does not yet use this information; it knows the source files are
+expected to be in the directory where the `$(LIBOBJS)' and `$(ALLOCA)'
+variables are used.
+
+   The `lib/' directory should therefore contain `malloc.c',
+`memcmp.c', `strdup.c', `alloca.c'.  Here is its `Makefile.am':
+
+     # lib/Makefile.am
+
+     noinst_LIBRARIES = libcompat.a
+     libcompat_a_SOURCES =
+     libcompat_a_LIBADD = $(LIBOBJS) $(ALLOCA)
+
+   The library can have any name, of course, and anyway it is not going
+to be installed: it just holds the replacement versions of the missing
+or broken functions so we can later link them in.  In many projects
+also include extra functions, specific to the project, in that library:
+they are simply added on the `_SOURCES' line.
+
+   There is a small trap here, though: `$(LIBOBJS)' and `$(ALLOCA)'
+might be empty, and building an empty library is not portable.  You
+should ensure that there is always something to put in `libcompat.a'.
+Most projects will also add some utility functions in that directory,
+and list them in `libcompat_a_SOURCES', so in practice `libcompat.a'
+cannot be empty.
+
+   Finally here is how this library could be used from the `src/'
+directory.
+
+     # src/Makefile.am
+
+     # Link all programs in this directory with libcompat.a
+     LDADD = ../lib/libcompat.a
+
+     bin_PROGRAMS = tool1 tool2 ...
+     tool1_SOURCES = ...
+     tool2_SOURCES = ...
+
+   Please note it would be wrong to use the variables `$(LIBOBJS)' or
+`$(ALLOCA)' in `src/Makefile.am', because these variables contains
+unprefixed object names, and, for instance, `malloc.$(OBJEXT)' is not
+buildable in the `src/' directory.  (Actually if you try using
+`$(LIBOBJS)' in `src/', Automake will require a copy of `malloc.c',
+`memcmp.c', `strdup.c', `alloca.c' in `src/' too.)
+
+   Because `$(LIBOBJS)' and `$(ALLOCA)' contain object file names that
+end with `.$(OBJEXT)', they are not suitable for Libtool libraries
+(where the expected object extension is `.lo'): `LTLIBOBJS' and
+`LTALLOCA' should be used instead.
+
+   `LTLIBOBJS' is defined automatically by Autoconf and should not be
+defined by hand (as in the past), however at the time of writing
+`LTALLOCA' still needs to be defined from `ALLOCA' manually.  *Note
+`AC_LIBOBJ' vs. `LIBOBJS': (autoconf)AC_LIBOBJ vs LIBOBJS.
+
+
+File: automake.info,  Node: Program variables,  Next: Yacc and Lex,  Prev: LIBOBJS,  Up: Programs
+
+7.7 Variables used when building a program
+==========================================
+
+Occasionally it is useful to know which `Makefile' variables Automake
+uses for compilations; for instance, you might need to do your own
+compilation in some special cases.
+
+   Some variables are inherited from Autoconf; these are `CC',
+`CFLAGS', `CPPFLAGS', `DEFS', `LDFLAGS', and `LIBS'.  
+
+   There are some additional variables that Automake defines on its own:
+
+`AM_CPPFLAGS'
+     The contents of this variable are passed to every compilation that
+     invokes the C preprocessor; it is a list of arguments to the
+     preprocessor.  For instance, `-I' and `-D' options should be
+     listed here.
+
+     Automake already provides some `-I' options automatically.  In
+     particular it generates `-I$(srcdir)', `-I.', and a `-I' pointing
+     to the directory holding `config.h' (if you've used
+     `AC_CONFIG_HEADERS' or `AM_CONFIG_HEADER').  You can disable the
+     default `-I' options using the `nostdinc' option.
+
+     `AM_CPPFLAGS' is ignored in preference to a per-executable (or
+     per-library) `_CPPFLAGS' variable if it is defined.
+
+`INCLUDES'
+     This does the same job as `AM_CPPFLAGS' (or any per-target
+     `_CPPFLAGS' variable if it is used).  It is an older name for the
+     same functionality.  This variable is deprecated; we suggest using
+     `AM_CPPFLAGS' and per-target `_CPPFLAGS' instead.
+
+`AM_CFLAGS'
+     This is the variable the `Makefile.am' author can use to pass in
+     additional C compiler flags.  It is more fully documented
+     elsewhere.  In some situations, this is not used, in preference to
+     the per-executable (or per-library) `_CFLAGS'.
+
+`COMPILE'
+     This is the command used to actually compile a C source file.  The
+     file name is appended to form the complete command line.
+
+`AM_LDFLAGS'
+     This is the variable the `Makefile.am' author can use to pass in
+     additional linker flags.  In some situations, this is not used, in
+     preference to the per-executable (or per-library) `_LDFLAGS'.
+
+`LINK'
+     This is the command used to actually link a C program.  It already
+     includes `-o $@' and the usual variable references (for instance,
+     `CFLAGS'); it takes as "arguments" the names of the object files
+     and libraries to link in.
+
+
+File: automake.info,  Node: Yacc and Lex,  Next: C++ Support,  Prev: Program variables,  Up: Programs
+
+7.8 Yacc and Lex support
+========================
+
+Automake has somewhat idiosyncratic support for Yacc and Lex.
+
+   Automake assumes that the `.c' file generated by `yacc' (or `lex')
+should be named using the basename of the input file.  That is, for a
+yacc source file `foo.y', Automake will cause the intermediate file to
+be named `foo.c' (as opposed to `y.tab.c', which is more traditional).
+
+   The extension of a yacc source file is used to determine the
+extension of the resulting C or C++ file.  Files with the extension `.y'
+will be turned into `.c' files; likewise, `.yy' will become `.cc';
+`.y++', `c++'; and `.yxx', `.cxx'.
+
+   Likewise, lex source files can be used to generate C or C++; the
+extensions `.l', `.ll', `.l++', and `.lxx' are recognized.
+
+   You should never explicitly mention the intermediate (C or C++) file
+in any `SOURCES' variable; only list the source file.
+
+   The intermediate files generated by `yacc' (or `lex') will be
+included in any distribution that is made.  That way the user doesn't
+need to have `yacc' or `lex'.
+
+   If a `yacc' source file is seen, then your `configure.ac' must
+define the variable `YACC'.  This is most easily done by invoking the
+macro `AC_PROG_YACC' (*note Particular Program Checks:
+(autoconf)Particular Programs.).
+
+   When `yacc' is invoked, it is passed `YFLAGS' and `AM_YFLAGS'.  The
+former is a user variable and the latter is intended for the
+`Makefile.am' author.
+
+   `AM_YFLAGS' is usually used to pass the `-d' option to `yacc'.
+Automake knows what this means and will automatically adjust its rules
+to update and distribute the header file built by `yacc -d'.  What
+Automake cannot guess, though, is where this header will be used: it is
+up to you to ensure the header gets built before it is first used.
+Typically this is necessary in order for dependency tracking to work
+when the header is included by another file.  The common solution is
+listing the header file in `BUILT_SOURCES' (*note Sources::) as follows.
+
+     BUILT_SOURCES = parser.h
+     AM_YFLAGS = -d
+     bin_PROGRAMS = foo
+     foo_SOURCES = ... parser.y ...
+
+   If a `lex' source file is seen, then your `configure.ac' must define
+the variable `LEX'.  You can use `AC_PROG_LEX' to do this (*note
+Particular Program Checks: (autoconf)Particular Programs.), but using
+`AM_PROG_LEX' macro (*note Macros::) is recommended.
+
+   When `lex' is invoked, it is passed `LFLAGS' and `AM_LFLAGS'.  The
+former is a user variable and the latter is intended for the
+`Makefile.am' author.
+
+   Automake makes it possible to include multiple `yacc' (or `lex')
+source files in a single program.  When there is more than one distinct
+`yacc' (or `lex') source file in a directory, Automake uses a small
+program called `ylwrap' to run `yacc' (or `lex') in a subdirectory.
+This is necessary because yacc's output file name is fixed, and a
+parallel make could conceivably invoke more than one instance of `yacc'
+simultaneously.  The `ylwrap' program is distributed with Automake.  It
+should appear in the directory specified by `AC_CONFIG_AUX_DIR', or one
+of its default locations (*note Finding `configure' Input:
+(autoconf)Input.).
+
+   For `yacc', simply managing locking is insufficient.  The output of
+`yacc' always uses the same symbol names internally, so it isn't
+possible to link two `yacc' parsers into the same executable.
+
+   We recommend using the following renaming hack used in `gdb':
+     #define yymaxdepth c_maxdepth
+     #define yyparse c_parse
+     #define yylex   c_lex
+     #define yyerror c_error
+     #define yylval  c_lval
+     #define yychar  c_char
+     #define yydebug c_debug
+     #define yypact  c_pact
+     #define yyr1    c_r1
+     #define yyr2    c_r2
+     #define yydef   c_def
+     #define yychk   c_chk
+     #define yypgo   c_pgo
+     #define yyact   c_act
+     #define yyexca  c_exca
+     #define yyerrflag c_errflag
+     #define yynerrs c_nerrs
+     #define yyps    c_ps
+     #define yypv    c_pv
+     #define yys     c_s
+     #define yy_yys  c_yys
+     #define yystate c_state
+     #define yytmp   c_tmp
+     #define yyv     c_v
+     #define yy_yyv  c_yyv
+     #define yyval   c_val
+     #define yylloc  c_lloc
+     #define yyreds  c_reds
+     #define yytoks  c_toks
+     #define yylhs   c_yylhs
+     #define yylen   c_yylen
+     #define yydefred c_yydefred
+     #define yydgoto c_yydgoto
+     #define yysindex c_yysindex
+     #define yyrindex c_yyrindex
+     #define yygindex c_yygindex
+     #define yytable  c_yytable
+     #define yycheck  c_yycheck
+     #define yyname   c_yyname
+     #define yyrule   c_yyrule
+
+   For each define, replace the `c_' prefix with whatever you like.
+These defines work for `bison', `byacc', and traditional `yacc's.  If
+you find a parser generator that uses a symbol not covered here, please
+report the new name so it can be added to the list.
+
+
+File: automake.info,  Node: C++ Support,  Next: Assembly Support,  Prev: Yacc and Lex,  Up: Programs
+
+7.9 C++ Support
+===============
+
+Automake includes full support for C++.
+
+   Any package including C++ code must define the output variable `CXX'
+in `configure.ac'; the simplest way to do this is to use the
+`AC_PROG_CXX' macro (*note Particular Program Checks:
+(autoconf)Particular Programs.).
+
+   A few additional variables are defined when a C++ source file is
+seen:
+
+`CXX'
+     The name of the C++ compiler.
+
+`CXXFLAGS'
+     Any flags to pass to the C++ compiler.
+
+`AM_CXXFLAGS'
+     The maintainer's variant of `CXXFLAGS'.
+
+`CXXCOMPILE'
+     The command used to actually compile a C++ source file.  The file
+     name is appended to form the complete command line.
+
+`CXXLINK'
+     The command used to actually link a C++ program.
+
+
+File: automake.info,  Node: Assembly Support,  Next: Fortran 77 Support,  Prev: C++ Support,  Up: Programs
+
+7.10 Assembly Support
+=====================
+
+Automake includes some support for assembly code.
+
+   The variable `CCAS' holds the name of the compiler used to build
+assembly code.  This compiler must work a bit like a C compiler; in
+particular it must accept `-c' and `-o'.  The values of `CCASFLAGS' and
+`AM_CCASFLAGS' (or its per-target definition) are passed to the
+compilation.
+
+   The autoconf macro `AM_PROG_AS' will define `CCAS' and `CCASFLAGS'
+for you (unless they are already set, it simply sets `CCAS' to the C
+compiler and `CCASFLAGS' to the C compiler flags), but you are free to
+define these variables by other means.
+
+   Only the suffixes `.s' and `.S' are recognized by `automake' as
+being files containing assembly code.
+
+
+File: automake.info,  Node: Fortran 77 Support,  Next: Fortran 9x Support,  Prev: Assembly Support,  Up: Programs
+
+7.11 Fortran 77 Support
+=======================
+
+Automake includes full support for Fortran 77.
+
+   Any package including Fortran 77 code must define the output variable
+`F77' in `configure.ac'; the simplest way to do this is to use the
+`AC_PROG_F77' macro (*note Particular Program Checks:
+(autoconf)Particular Programs.).
+
+   A few additional variables are defined when a Fortran 77 source file
+is seen:
+
+`F77'
+     The name of the Fortran 77 compiler.
+
+`FFLAGS'
+     Any flags to pass to the Fortran 77 compiler.
+
+`AM_FFLAGS'
+     The maintainer's variant of `FFLAGS'.
+
+`RFLAGS'
+     Any flags to pass to the Ratfor compiler.
+
+`AM_RFLAGS'
+     The maintainer's variant of `RFLAGS'.
+
+`F77COMPILE'
+     The command used to actually compile a Fortran 77 source file.
+     The file name is appended to form the complete command line.
+
+`FLINK'
+     The command used to actually link a pure Fortran 77 program or
+     shared library.
+
+
+   Automake can handle preprocessing Fortran 77 and Ratfor source files
+in addition to compiling them(1).  Automake also contains some support
+for creating programs and shared libraries that are a mixture of
+Fortran 77 and other languages (*note Mixing Fortran 77 With C and
+C++::).
+
+   These issues are covered in the following sections.
+
+* Menu:
+
+* Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
+* Compiling Fortran 77 Files::  Compiling Fortran 77 sources
+* Mixing Fortran 77 With C and C++::  Mixing Fortran 77 With C and C++
+
+   ---------- Footnotes ----------
+
+   (1) Much, if not most, of the information in the following sections
+pertaining to preprocessing Fortran 77 programs was taken almost
+verbatim from *Note Catalogue of Rules: (make)Catalogue of Rules.
+
+
+File: automake.info,  Node: Preprocessing Fortran 77,  Next: Compiling Fortran 77 Files,  Up: Fortran 77 Support
+
+7.11.1 Preprocessing Fortran 77
+-------------------------------
+
+`N.f' is made automatically from `N.F' or `N.r'.  This rule runs just
+the preprocessor to convert a preprocessable Fortran 77 or Ratfor
+source file into a strict Fortran 77 source file.  The precise command
+used is as follows:
+
+`.F'
+     `$(F77) -F $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
+     $(AM_FFLAGS) $(FFLAGS)'
+
+`.r'
+     `$(F77) -F $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)'
+
+
+
+File: automake.info,  Node: Compiling Fortran 77 Files,  Next: Mixing Fortran 77 With C and C++,  Prev: Preprocessing Fortran 77,  Up: Fortran 77 Support
+
+7.11.2 Compiling Fortran 77 Files
+---------------------------------
+
+`N.o' is made automatically from `N.f', `N.F' or `N.r' by running the
+Fortran 77 compiler.  The precise command used is as follows:
+
+`.f'
+     `$(F77) -c $(AM_FFLAGS) $(FFLAGS)'
+
+`.F'
+     `$(F77) -c $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)
+     $(AM_FFLAGS) $(FFLAGS)'
+
+`.r'
+     `$(F77) -c $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)'
+
+
+
+File: automake.info,  Node: Mixing Fortran 77 With C and C++,  Prev: Compiling Fortran 77 Files,  Up: Fortran 77 Support
+
+7.11.3 Mixing Fortran 77 With C and C++
+---------------------------------------
+
+Automake currently provides _limited_ support for creating programs and
+shared libraries that are a mixture of Fortran 77 and C and/or C++.
+However, there are many other issues related to mixing Fortran 77 with
+other languages that are _not_ (currently) handled by Automake, but
+that are handled by other packages(1).
+
+   Automake can help in two ways:
+
+  1. Automatic selection of the linker depending on which combinations
+     of source code.
+
+  2. Automatic selection of the appropriate linker flags (e.g., `-L' and
+     `-l') to pass to the automatically selected linker in order to link
+     in the appropriate Fortran 77 intrinsic and run-time libraries.
+
+     These extra Fortran 77 linker flags are supplied in the output
+     variable `FLIBS' by the `AC_F77_LIBRARY_LDFLAGS' Autoconf macro
+     supplied with newer versions of Autoconf (Autoconf version 2.13 and
+     later).  *Note Fortran 77 Compiler Characteristics:
+     (autoconf)Fortran 77 Compiler Characteristics.
+
+   If Automake detects that a program or shared library (as mentioned in
+some `_PROGRAMS' or `_LTLIBRARIES' primary) contains source code that
+is a mixture of Fortran 77 and C and/or C++, then it requires that the
+macro `AC_F77_LIBRARY_LDFLAGS' be called in `configure.ac', and that
+either `$(FLIBS)' appear in the appropriate `_LDADD' (for programs) or
+`_LIBADD' (for shared libraries) variables.  It is the responsibility
+of the person writing the `Makefile.am' to make sure that `$(FLIBS)'
+appears in the appropriate `_LDADD' or `_LIBADD' variable.
+
+   For example, consider the following `Makefile.am':
+
+     bin_PROGRAMS = foo
+     foo_SOURCES  = main.cc foo.f
+     foo_LDADD    = libfoo.la $(FLIBS)
+
+     pkglib_LTLIBRARIES = libfoo.la
+     libfoo_la_SOURCES  = bar.f baz.c zardoz.cc
+     libfoo_la_LIBADD   = $(FLIBS)
+
+   In this case, Automake will insist that `AC_F77_LIBRARY_LDFLAGS' is
+mentioned in `configure.ac'.  Also, if `$(FLIBS)' hadn't been mentioned
+in `foo_LDADD' and `libfoo_la_LIBADD', then Automake would have issued
+a warning.
+
+* Menu:
+
+* How the Linker is Chosen::    Automatic linker selection
+
+   ---------- Footnotes ----------
+
+   (1) For example, the cfortran package
+(http://www-zeus.desy.de/~burow/cfortran/) addresses all of these
+inter-language issues, and runs under nearly all Fortran 77, C and C++
+compilers on nearly all platforms.  However, `cfortran' is not yet Free
+Software, but it will be in the next major release.
+
+
+File: automake.info,  Node: How the Linker is Chosen,  Up: Mixing Fortran 77 With C and C++
+
+7.11.3.1 How the Linker is Chosen
+.................................
+
+When a program or library mixes several languages, Automake choose the
+linker according to the following priorities.  (The names in
+parentheses are the variables containing the link command.)
+
+  1. Native Java (`GCJLINK')
+
+  2. C++ (`CXXLINK')
+
+  3. Fortran 77 (`F77LINK')
+
+  4. Fortran (`FCLINK')
+
+  5. Objective C (`OBJCLINK')
+
+  6. C (`LINK')
+
+   For example, if Fortran 77, C and C++ source code is compiled into a
+program, then the C++ linker will be used.  In this case, if the C or
+Fortran 77 linkers required any special libraries that weren't included
+by the C++ linker, then they must be manually added to an `_LDADD' or
+`_LIBADD' variable by the user writing the `Makefile.am'.
+
+   Automake only looks at the file names listed in `_SOURCES' variables
+to choose the linker, and defaults to the C linker.  Sometimes this is
+inconvenient because you are linking against a library written in
+another language and would like to set the linker more appropriately.
+*Note Libtool Convenience Libraries::, for a trick with
+`nodist_EXTRA_..._SOURCES'.
+
+
+File: automake.info,  Node: Fortran 9x Support,  Next: Java Support,  Prev: Fortran 77 Support,  Up: Programs
+
+7.12 Fortran 9x Support
+=======================
+
+Automake includes full support for Fortran 9x.
+
+   Any package including Fortran 9x code must define the output variable
+`FC' in `configure.ac'; the simplest way to do this is to use the
+`AC_PROG_FC' macro (*note Particular Program Checks:
+(autoconf)Particular Programs.).
+
+   A few additional variables are defined when a Fortran 9x source file
+is seen:
+
+`FC'
+     The name of the Fortran 9x compiler.
+
+`FCFLAGS'
+     Any flags to pass to the Fortran 9x compiler.
+
+`AM_FCFLAGS'
+     The maintainer's variant of `FCFLAGS'.
+
+`FCCOMPILE'
+     The command used to actually compile a Fortran 9x source file.
+     The file name is appended to form the complete command line.
+
+`FCLINK'
+     The command used to actually link a pure Fortran 9x program or
+     shared library.
+
+
+* Menu:
+
+* Compiling Fortran 9x Files::  Compiling Fortran 9x sources
+
+
+File: automake.info,  Node: Compiling Fortran 9x Files,  Up: Fortran 9x Support
+
+7.12.1 Compiling Fortran 9x Files
+---------------------------------
+
+`N.o' is made automatically from `N.f90' or `N.f95' by running the
+Fortran 9x compiler.  The precise command used is as follows:
+
+`.f9x'
+     `$(FC) -c $(AM_FCFLAGS) $(FCFLAGS)'
+
+
+
+File: automake.info,  Node: Java Support,  Next: Support for Other Languages,  Prev: Fortran 9x Support,  Up: Programs
+
+7.13 Java Support
+=================
+
+Automake includes support for compiled Java, using `gcj', the Java
+front end to the GNU Compiler Collection.
+
+   Any package including Java code to be compiled must define the output
+variable `GCJ' in `configure.ac'; the variable `GCJFLAGS' must also be
+defined somehow (either in `configure.ac' or `Makefile.am').  The
+simplest way to do this is to use the `AM_PROG_GCJ' macro.
+
+   By default, programs including Java source files are linked with
+`gcj'.
+
+   As always, the contents of `AM_GCJFLAGS' are passed to every
+compilation invoking `gcj' (in its role as an ahead-of-time compiler,
+when invoking it to create `.class' files, `AM_JAVACFLAGS' is used
+instead).  If it is necessary to pass options to `gcj' from
+`Makefile.am', this variable, and not the user variable `GCJFLAGS',
+should be used.
+
+   `gcj' can be used to compile `.java', `.class', `.zip', or `.jar'
+files.
+
+   When linking, `gcj' requires that the main class be specified using
+the `--main=' option.  The easiest way to do this is to use the
+`_LDFLAGS' variable for the program.
+
+
+File: automake.info,  Node: Support for Other Languages,  Next: ANSI,  Prev: Java Support,  Up: Programs
+
+7.14 Support for Other Languages
+================================
+
+Automake currently only includes full support for C, C++ (*note C++
+Support::), Fortran 77 (*note Fortran 77 Support::), Fortran 9x (*note
+Fortran 9x Support::), and Java (*note Java Support::).  There is only
+rudimentary support for other languages, support for which will be
+improved based on user demand.
+
+   Some limited support for adding your own languages is available via
+the suffix rule handling (*note Suffixes::).
+
+
+File: automake.info,  Node: ANSI,  Next: Dependencies,  Prev: Support for Other Languages,  Up: Programs
+
+7.15 Automatic de-ANSI-fication
+===============================
+
+Although the GNU standards allow the use of ANSI C, this can have the
+effect of limiting portability of a package to some older compilers
+(notably the SunOS C compiler).
+
+   Automake allows you to work around this problem on such machines by
+"de-ANSI-fying" each source file before the actual compilation takes
+place.
+
+   If the `Makefile.am' variable `AUTOMAKE_OPTIONS' (*note Options::)
+contains the option `ansi2knr' then code to handle de-ANSI-fication is
+inserted into the generated `Makefile.in'.
+
+   This causes each C source file in the directory to be treated as
+ANSI C.  If an ANSI C compiler is available, it is used.  If no ANSI C
+compiler is available, the `ansi2knr' program is used to convert the
+source files into K&R C, which is then compiled.
+
+   The `ansi2knr' program is simple-minded.  It assumes the source code
+will be formatted in a particular way; see the `ansi2knr' man page for
+details.
+
+   Support for de-ANSI-fication requires the source files `ansi2knr.c'
+and `ansi2knr.1' to be in the same package as the ANSI C source; these
+files are distributed with Automake.  Also, the package `configure.ac'
+must call the macro `AM_C_PROTOTYPES' (*note Macros::).
+
+   Automake also handles finding the `ansi2knr' support files in some
+other directory in the current package.  This is done by prepending the
+relative path to the appropriate directory to the `ansi2knr' option.
+For instance, suppose the package has ANSI C code in the `src' and
+`lib' subdirectories.  The files `ansi2knr.c' and `ansi2knr.1' appear
+in `lib'.  Then this could appear in `src/Makefile.am':
+
+     AUTOMAKE_OPTIONS = ../lib/ansi2knr
+
+   If no directory prefix is given, the files are assumed to be in the
+current directory.
+
+   Note that automatic de-ANSI-fication will not work when the package
+is being built for a different host architecture.  That is because
+automake currently has no way to build `ansi2knr' for the build machine.
+
+   Using `LIBOBJS' with source de-ANSI-fication used to require
+hand-crafted code in `configure' to append `$U' to basenames in
+`LIBOBJS'.  This is no longer true today.  Starting with version 2.54,
+Autoconf takes care of rewriting `LIBOBJS' and `LTLIBOBJS'.  (*note
+`AC_LIBOBJ' vs. `LIBOBJS': (autoconf)AC_LIBOBJ vs LIBOBJS.)
+
+
+File: automake.info,  Node: Dependencies,  Next: EXEEXT,  Prev: ANSI,  Up: Programs
+
+7.16 Automatic dependency tracking
+==================================
+
+As a developer it is often painful to continually update the
+`Makefile.in' whenever the include-file dependencies change in a
+project.  Automake supplies a way to automatically track dependency
+changes.
+
+   Automake always uses complete dependencies for a compilation,
+including system headers.  Automake's model is that dependency
+computation should be a side effect of the build.  To this end,
+dependencies are computed by running all compilations through a special
+wrapper program called `depcomp'.  `depcomp' understands how to coax
+many different C and C++ compilers into generating dependency
+information in the format it requires.  `automake -a' will install
+`depcomp' into your source tree for you.  If `depcomp' can't figure out
+how to properly invoke your compiler, dependency tracking will simply
+be disabled for your build.
+
+   Experience with earlier versions of Automake (*note Dependency
+Tracking Evolution::) taught us that it is not reliable to generate
+dependencies only on the maintainer's system, as configurations vary
+too much.  So instead Automake implements dependency tracking at build
+time.
+
+   Automatic dependency tracking can be suppressed by putting
+`no-dependencies' in the variable `AUTOMAKE_OPTIONS', or passing
+`no-dependencies' as an argument to `AM_INIT_AUTOMAKE' (this should be
+the preferred way).  Or, you can invoke `automake' with the `-i'
+option.  Dependency tracking is enabled by default.
+
+   The person building your package also can choose to disable
+dependency tracking by configuring with `--disable-dependency-tracking'.
+
+
+File: automake.info,  Node: EXEEXT,  Prev: Dependencies,  Up: Programs
+
+7.17 Support for executable extensions
+======================================
+
+On some platforms, such as Windows, executables are expected to have an
+extension such as `.exe'.  On these platforms, some compilers (GCC
+among them) will automatically generate `foo.exe' when asked to
+generate `foo'.
+
+   Automake provides mostly-transparent support for this.  Unfortunately
+_mostly_ doesn't yet mean _fully_.  Until the English dictionary is
+revised, you will have to assist Automake if your package must support
+those platforms.
+
+   One thing you must be aware of is that, internally, Automake rewrites
+something like this:
+
+     bin_PROGRAMS = liver
+
+   to this:
+
+     bin_PROGRAMS = liver$(EXEEXT)
+
+   The targets Automake generates are likewise given the `$(EXEEXT)'
+extension.
+
+   However, Automake cannot apply this rewriting to `configure'
+substitutions.  This means that if you are conditionally building a
+program using such a substitution, then your `configure.ac' must take
+care to add `$(EXEEXT)' when constructing the output variable.
+
+   With Autoconf 2.13 and earlier, you must explicitly use `AC_EXEEXT'
+to get this support.  With Autoconf 2.50, `AC_EXEEXT' is run
+automatically if you configure a compiler (say, through `AC_PROG_CC').
+
+   Sometimes maintainers like to write an explicit link rule for their
+program.  Without executable extension support, this is easy--you
+simply write a rule whose target is the name of the program.  However,
+when executable extension support is enabled, you must instead add the
+`$(EXEEXT)' suffix.
+
+   Unfortunately, due to the change in Autoconf 2.50, this means you
+must always add this extension.  However, this is a problem for
+maintainers who know their package will never run on a platform that has
+executable extensions.  For those maintainers, the `no-exeext' option
+(*note Options::) will disable this feature.  This works in a fairly
+ugly way; if `no-exeext' is seen, then the presence of a rule for a
+target named `foo' in `Makefile.am' will override an automake-generated
+rule for `foo$(EXEEXT)'.  Without the `no-exeext' option, this use will
+give a diagnostic.
+
+
+File: automake.info,  Node: Other objects,  Next: Other GNU Tools,  Prev: Programs,  Up: Top
+
+8 Other Derived Objects
+***********************
+
+Automake can handle derived objects that are not C programs.  Sometimes
+the support for actually building such objects must be explicitly
+supplied, but Automake will still automatically handle installation and
+distribution.
+
+* Menu:
+
+* Scripts::                     Executable scripts
+* Headers::                     Header files
+* Data::                        Architecture-independent data files
+* Sources::                     Derived sources
+
+
+File: automake.info,  Node: Scripts,  Next: Headers,  Up: Other objects
+
+8.1 Executable Scripts
+======================
+
+It is possible to define and install programs that are scripts.  Such
+programs are listed using the `SCRIPTS' primary name.  Automake doesn't
+define any dependencies for scripts; the `Makefile.am' should include
+the appropriate rules.  
+
+   Automake does not assume that scripts are derived objects; such
+objects must be deleted by hand (*note Clean::).
+
+   The `automake' program itself is a Perl script that is generated
+from `automake.in'.  Here is how this is handled:
+
+     bin_SCRIPTS = automake
+     CLEANFILES = $(bin_SCRIPTS)
+
+     do_subst = sed -e 's,[@]datadir[@],$(datadir),g' \
+                 -e 's,[@]PERL[@],$(PERL),g' \
+                 -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+                 -e 's,[@]VERSION[@],$(VERSION),g' \
+                 ...
+
+     automake: automake.in Makefile
+             $(do_subst) < $(srcdir)/automake.in > automake
+             chmod +x automake
+
+   Because--as we have just seen--scripts can be built, they are not
+distributed by default.  Scripts that should be distributed can be
+specified using a `dist_' prefix as in other primaries.  For instance,
+the following `Makefile.am' declares that `my_script' should be
+distributed and installed in `$(sbindir)'.
+
+     dist_sbin_SCRIPTS = my_script
+
+   Script objects can be installed in `bindir', `sbindir',
+`libexecdir', or `pkgdatadir'.
+
+   Scripts that need not being installed can be listed in
+`noinst_SCRIPTS', and among them, those which are needed only by `make
+check' should go in `check_SCRIPTS'.
+
+
+File: automake.info,  Node: Headers,  Next: Data,  Prev: Scripts,  Up: Other objects
+
+8.2 Header files
+================
+
+Header files that must be installed are specified by the `HEADERS'
+family of variables.  Headers can be installed in `includedir',
+`oldincludedir', `pkgincludedir' or any other directory you may have
+defined (*note Uniform::).  For instance,
+
+     include_HEADERS = foo.h bar/bar.h
+
+will install the two files as `$(includedir)/foo.h' and
+`$(includedir)/bar.h'.
+
+   The `nobase_' prefix is also supported,
+
+     nobase_include_HEADERS = foo.h bar/bar.h
+
+will install the two files as `$(includedir)/foo.h' and
+`$(includedir)/bar/bar.h' (*note Alternative::).
+
+   Usually, only header files that accompany installed libraries need to
+be installed.  Headers used by programs or convenience libraries are
+not installed.  The `noinst_HEADERS' variable can be used for such
+headers.  However when the header actually belongs to one convenient
+library or program, we recommend listing it in the program's or
+library's `_SOURCES' variable (*note Program Sources::) instead of in
+`noinst_HEADERS'.  This is clearer for the `Makefile.am' reader.
+`noinst_HEADERS' would be the right variable to use in a directory
+containing only headers and no associated library or program.
+
+   All header files must be listed somewhere; in a `_SOURCES' variable
+or in a `_HEADERS' variable.  Missing ones will not appear in the
+distribution.
+
+   For header files that are built and must not be distributed, use the
+`nodist_' prefix as in `nodist_include_HEADERS' or
+`nodist_prog_SOURCES'.  If these generated headers are needed during
+the build, you must also ensure they exist before they are used (*note
+Sources::).
+
+
+File: automake.info,  Node: Data,  Next: Sources,  Prev: Headers,  Up: Other objects
+
+8.3 Architecture-independent data files
+=======================================
+
+Automake supports the installation of miscellaneous data files using the
+`DATA' family of variables.  
+
+   Such data can be installed in the directories `datadir',
+`sysconfdir', `sharedstatedir', `localstatedir', or `pkgdatadir'.
+
+   By default, data files are _not_ included in a distribution.  Of
+course, you can use the `dist_' prefix to change this on a per-variable
+basis.
+
+   Here is how Automake declares its auxiliary data files:
+
+     dist_pkgdata_DATA = clean-kr.am clean.am ...
+
+
+File: automake.info,  Node: Sources,  Prev: Data,  Up: Other objects
+
+8.4 Built sources
+=================
+
+Because Automake's automatic dependency tracking works as a side-effect
+of compilation (*note Dependencies::) there is a bootstrap issue: a
+target should not be compiled before its dependencies are made, but
+these dependencies are unknown until the target is first compiled.
+
+   Ordinarily this is not a problem, because dependencies are
+distributed sources: they preexist and do not need to be built.
+Suppose that `foo.c' includes `foo.h'.  When it first compiles `foo.o',
+`make' only knows that `foo.o' depends on `foo.c'.  As a side-effect of
+this compilation `depcomp' records the `foo.h' dependency so that
+following invocations of `make' will honor it.  In these conditions,
+it's clear there is no problem: either `foo.o' doesn't exist and has to
+be built (regardless of the dependencies), or accurate dependencies
+exist and they can be used to decide whether `foo.o' should be rebuilt.
+
+   It's a different story if `foo.h' doesn't exist by the first `make'
+run.  For instance, there might be a rule to build `foo.h'.  This time
+`file.o''s build will fail because the compiler can't find `foo.h'.
+`make' failed to trigger the rule to build `foo.h' first by lack of
+dependency information.
+
+   The `BUILT_SOURCES' variable is a workaround for this problem.  A
+source file listed in `BUILT_SOURCES' is made on `make all' or `make
+check' (or even `make install') before other targets are processed.
+However, such a source file is not _compiled_ unless explicitly
+requested by mentioning it in some other `_SOURCES' variable.
+
+   So, to conclude our introductory example, we could use
+`BUILT_SOURCES = foo.h' to ensure `foo.h' gets built before any other
+target (including `foo.o') during `make all' or `make check'.
+
+   `BUILT_SOURCES' is actually a bit of a misnomer, as any file which
+must be created early in the build process can be listed in this
+variable.  Moreover, all built sources do not necessarily have to be
+listed in `BUILT_SOURCES'.  For instance, a generated `.c' file doesn't
+need to appear in `BUILT_SOURCES' (unless it is included by another
+source), because it's a known dependency of the associated object.
+
+   It might be important to emphasize that `BUILT_SOURCES' is honored
+only by `make all', `make check' and `make install'.  This means you
+cannot build a specific target (e.g., `make foo') in a clean tree if it
+depends on a built source.  However it will succeed if you have run
+`make all' earlier, because accurate dependencies are already available.
+
+   The next section illustrates and discusses the handling of built
+sources on a toy example.
+
+* Menu:
+
+* Built sources example::       Several ways to handle built sources.
+
+
+File: automake.info,  Node: Built sources example,  Up: Sources
+
+8.4.1 Built sources example
+---------------------------
+
+Suppose that `foo.c' includes `bindir.h', which is
+installation-dependent and not distributed: it needs to be built.  Here
+`bindir.h' defines the preprocessor macro `bindir' to the value of the
+`make' variable `bindir' (inherited from `configure').
+
+   We suggest several implementations below.  It's not meant to be an
+exhaustive listing of all ways to handle built sources, but it will give
+you a few ideas if you encounter this issue.
+
+First try
+---------
+
+This first implementation will illustrate the bootstrap issue mentioned
+in the previous section (*note Sources::).
+
+   Here is a tentative `Makefile.am'.
+
+     # This won't work.
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+     nodist_foo_SOURCES = bindir.h
+     CLEANFILES = bindir.h
+     bindir.h: Makefile
+             echo '#define bindir "$(bindir)"' >$@
+
+   This setup doesn't work, because Automake doesn't know that `foo.c'
+includes `bindir.h'.  Remember, automatic dependency tracking works as
+a side-effect of compilation, so the dependencies of `foo.o' will be
+known only after `foo.o' has been compiled (*note Dependencies::).  The
+symptom is as follows.
+
+     % make
+     source='foo.c' object='foo.o' libtool=no \
+     depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
+     depmode=gcc /bin/sh ./depcomp \
+     gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
+     foo.c:2: bindir.h: No such file or directory
+     make: *** [foo.o] Error 1
+
+   In this example `bindir.h' is not distributed, not installed, and it
+is not even being built on-time.  One may wonder what the
+`nodist_foo_SOURCES = bindir.h' line has any use at all.  This line
+simply states that `bindir.h' is a source of `foo', so for instance, it
+should be inspected while generating tags (*note Tags::).  In other
+words, it does not help our present problem, and the build would fail
+identically without it.
+
+Using `BUILT_SOURCES'
+---------------------
+
+A solution is to require `bindir.h' to be built before anything else.
+This is what `BUILT_SOURCES' is meant for (*note Sources::).
+
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+     nodist_foo_SOURCES = bindir.h
+     BUILT_SOURCES = bindir.h
+     CLEANFILES = bindir.h
+     bindir.h: Makefile
+             echo '#define bindir "$(bindir)"' >$@
+
+   See how `bindir.h' get built first:
+
+     % make
+     echo '#define bindir "/usr/local/bin"' >bindir.h
+     make  all-am
+     make[1]: Entering directory `/home/adl/tmp'
+     source='foo.c' object='foo.o' libtool=no \
+     depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
+     depmode=gcc /bin/sh ./depcomp \
+     gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
+     gcc  -g -O2   -o foo  foo.o
+     make[1]: Leaving directory `/home/adl/tmp'
+
+   However, as said earlier, `BUILT_SOURCES' applies only to the `all',
+`check', and `install' targets.  It still fails if you try to run `make
+foo' explicitly:
+
+     % make clean
+     test -z "bindir.h" || rm -f bindir.h
+     test -z "foo" || rm -f foo
+     rm -f *.o
+     % : > .deps/foo.Po # Suppress previously recorded dependencies
+     % make foo
+     source='foo.c' object='foo.o' libtool=no \
+     depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
+     depmode=gcc /bin/sh ./depcomp \
+     gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
+     foo.c:2: bindir.h: No such file or directory
+     make: *** [foo.o] Error 1
+
+Recording dependencies manually
+-------------------------------
+
+Usually people are happy enough with `BUILT_SOURCES' because they never
+build targets such as `make foo' before `make all', as in the previous
+example.  However if this matters to you, you can avoid `BUILT_SOURCES'
+and record such dependencies explicitly in the `Makefile.am'.
+
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+     nodist_foo_SOURCES = bindir.h
+     foo.$(OBJEXT): bindir.h
+     CLEANFILES = bindir.h
+     bindir.h: Makefile
+             echo '#define bindir "$(bindir)"' >$@
+
+   You don't have to list _all_ the dependencies of `foo.o' explicitly,
+only those that might need to be built.  If a dependency already
+exists, it will not hinder the first compilation and will be recorded
+by the normal dependency tracking code.  (Note that after this first
+compilation the dependency tracking code will also have recorded the
+dependency between `foo.o' and `bindir.h'; so our explicit dependency
+is really useful to the first build only.)
+
+   Adding explicit dependencies like this can be a bit dangerous if you
+are not careful enough.  This is due to the way Automake tries not to
+overwrite your rules (it assumes you know better than it).
+`foo.$(OBJEXT): bindir.h' supersedes any rule Automake may want to
+output to build `foo.$(OBJEXT)'.  It happens to work in this case
+because Automake doesn't have to output any `foo.$(OBJEXT):' target: it
+relies on a suffix rule instead (i.e., `.c.$(OBJEXT):').  Always check
+the generated `Makefile.in' if you do this.
+
+Build `bindir.h' from `configure'
+---------------------------------
+
+It's possible to define this preprocessor macro from `configure',
+either in `config.h' (*note Defining Directories: (autoconf)Defining
+Directories.), or by processing a `bindir.h.in' file using
+`AC_CONFIG_FILES' (*note Configuration Actions: (autoconf)Configuration
+Actions.).
+
+   At this point it should be clear that building `bindir.h' from
+`configure' work well for this example.  `bindir.h' will exist before
+you build any target, hence will not cause any dependency issue.
+
+   The Makefile can be shrunk as follows.  We do not even have to
+mention `bindir.h'.
+
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+
+   However, it's not always possible to build sources from `configure',
+especially when these sources are generated by a tool that needs to be
+built first...
+
+Build `bindir.c', not `bindir.h'.
+---------------------------------
+
+Another attractive idea is to define `bindir' as a variable or function
+exported from `bindir.o', and build `bindir.c' instead of `bindir.h'.
+
+     noinst_PROGRAMS = foo
+     foo_SOURCES = foo.c bindir.h
+     nodist_foo_SOURCES = bindir.c
+     CLEANFILES = bindir.c
+     bindir.c: Makefile
+             echo 'const char bindir[] = "$(bindir)";' >$@
+
+   `bindir.h' contains just the variable's declaration and doesn't need
+to be built, so it won't cause any trouble.  `bindir.o' is always
+dependent on `bindir.c', so `bindir.c' will get built first.
+
+Which is best?
+--------------
+
+There is no panacea, of course.  Each solution has its merits and
+drawbacks.
+
+   You cannot use `BUILT_SOURCES' if the ability to run `make foo' on a
+clean tree is important to you.
+
+   You won't add explicit dependencies if you are leery of overriding
+an Automake rule by mistake.
+
+   Building files from `./configure' is not always possible, neither is
+converting `.h' files into `.c' files.
+
+
+File: automake.info,  Node: Other GNU Tools,  Next: Documentation,  Prev: Other objects,  Up: Top
+
+9 Other GNU Tools
+*****************
+
+Since Automake is primarily intended to generate `Makefile.in's for use
+in GNU programs, it tries hard to interoperate with other GNU tools.
+
+* Menu:
+
+* Emacs Lisp::                  Emacs Lisp
+* gettext::                     Gettext
+* Libtool::                     Libtool
+* Java::                        Java
+* Python::                      Python
+
+
+File: automake.info,  Node: Emacs Lisp,  Next: gettext,  Up: Other GNU Tools
+
+9.1 Emacs Lisp
+==============
+
+Automake provides some support for Emacs Lisp.  The `LISP' primary is
+used to hold a list of `.el' files.  Possible prefixes for this primary
+are `lisp_' and `noinst_'.  Note that if `lisp_LISP' is defined, then
+`configure.ac' must run `AM_PATH_LISPDIR' (*note Macros::).
+
+   Lisp sources are not distributed by default.  You can prefix the
+`LISP' primary with `dist_', as in `dist_lisp_LISP' or
+`dist_noinst_LISP', to indicate that these files should be distributed.
+
+   Automake will byte-compile all Emacs Lisp source files using the
+Emacs found by `AM_PATH_LISPDIR', if any was found.
+
+   Byte-compiled Emacs Lisp files are not portable among all versions of
+Emacs, so it makes sense to turn this off if you expect sites to have
+more than one version of Emacs installed.  Furthermore, many packages
+don't actually benefit from byte-compilation.  Still, we recommend that
+you byte-compile your Emacs Lisp sources.  It is probably better for
+sites with strange setups to cope for themselves than to make the
+installation less nice for everybody else.
+
+   There are two ways to avoid byte-compiling.  Historically, we have
+recommended the following construct.
+     lisp_LISP = file1.el file2.el
+     ELCFILES =
+   `ELCFILES' is an internal Automake variable that normally lists all
+`.elc' files that must be byte-compiled.  Automake defines `ELCFILES'
+automatically from `lisp_LISP'.  Emptying this variable explicitly
+prevents byte-compilation to occur.
+
+   Since Automake 1.8, we now recommend using `lisp_DATA' instead.  As
+in
+     lisp_DATA = file1.el file2.el
+
+   Note that these two constructs are not equivalent.  `_LISP' will not
+install a file if Emacs is not installed, while `_DATA' will always
+install its files.
+
+
+File: automake.info,  Node: gettext,  Next: Libtool,  Prev: Emacs Lisp,  Up: Other GNU Tools
+
+9.2 Gettext
+===========
+
+If `AM_GNU_GETTEXT' is seen in `configure.ac', then Automake turns on
+support for GNU gettext, a message catalog system for
+internationalization (*note GNU Gettext: (gettext)GNU Gettext.).
+
+   The `gettext' support in Automake requires the addition of two
+subdirectories to the package, `intl' and `po'.  Automake insures that
+these directories exist and are mentioned in `SUBDIRS'.
+
+
+File: automake.info,  Node: Libtool,  Next: Java,  Prev: gettext,  Up: Other GNU Tools
+
+9.3 Libtool
+===========
+
+Automake provides support for GNU Libtool (*note Introduction:
+(libtool)Top.) with the `LTLIBRARIES' primary.  *Note A Shared
+Library::.
+
+
+File: automake.info,  Node: Java,  Next: Python,  Prev: Libtool,  Up: Other GNU Tools
+
+9.4 Java
+========
+
+Automake provides some minimal support for Java compilation with the
+`JAVA' primary.
+
+   Any `.java' files listed in a `_JAVA' variable will be compiled with
+`JAVAC' at build time.  By default, `.java' files are not included in
+the distribution, you should use the `dist_' prefix to distribute them.
+
+   Here is a typical setup for distributing `.java' files and
+installing the `.class' files resulting from their compilation.
+
+     javadir = $(datadir)/java
+     dist_java_JAVA = a.java b.java ...
+
+   Currently Automake enforces the restriction that only one `_JAVA'
+primary can be used in a given `Makefile.am'.  The reason for this
+restriction is that, in general, it isn't possible to know which
+`.class' files were generated from which `.java' files, so it would be
+impossible to know which files to install where.  For instance, a
+`.java' file can define multiple classes; the resulting `.class' file
+names cannot be predicted without parsing the `.java' file.
+
+   There are a few variables that are used when compiling Java sources:
+
+`JAVAC'
+     The name of the Java compiler.  This defaults to `javac'.
+
+`JAVACFLAGS'
+     The flags to pass to the compiler.  This is considered to be a user
+     variable (*note User Variables::).
+
+`AM_JAVACFLAGS'
+     More flags to pass to the Java compiler.  This, and not
+     `JAVACFLAGS', should be used when it is necessary to put Java
+     compiler flags into `Makefile.am'.
+
+`JAVAROOT'
+     The value of this variable is passed to the `-d' option to
+     `javac'.  It defaults to `$(top_builddir)'.
+
+`CLASSPATH_ENV'
+     This variable is an `sh' expression that is used to set the
+     `CLASSPATH' environment variable on the `javac' command line.  (In
+     the future we will probably handle class path setting differently.)
+
+
+File: automake.info,  Node: Python,  Prev: Java,  Up: Other GNU Tools
+
+9.5 Python
+==========
+
+Automake provides support for Python compilation with the `PYTHON'
+primary.
+
+   Any files listed in a `_PYTHON' variable will be byte-compiled with
+`py-compile' at install time.  `py-compile' actually creates both
+standard (`.pyc') and byte-compiled (`.pyo') versions of the source
+files.  Note that because byte-compilation occurs at install time, any
+files listed in `noinst_PYTHON' will not be compiled.  Python source
+files are included in the distribution by default.
+
+   Automake ships with an Autoconf macro called `AM_PATH_PYTHON' that
+will determine some Python-related directory variables (see below).  If
+you have called `AM_PATH_PYTHON' from `configure.ac', then you may use
+the following variables to list you Python source files in your
+variables: `python_PYTHON', `pkgpython_PYTHON', `pyexecdir_PYTHON',
+`pkgpyexecdir_PYTHON', depending where you want your files installed.
+
+ -- Macro: AM_PATH_PYTHON ([VERSION], [ACTION-IF-FOUND],
+          [ACTION-IF-NOT-FOUND])
+     Search a Python interpreter on the system.  This macro takes three
+     optional arguments.  The first argument, if present, is the minimum
+     version of Python required for this package: `AM_PATH_PYTHON' will
+     skip any Python interpreter that is older than VERSION.  If an
+     interpreter is found and satisfies VERSION, then ACTION-IF-FOUND
+     is run.  Otherwise, ACTION-IF-NOT-FOUND is run.
+
+     If ACTION-IF-NOT-FOUND is not specified, the default is to abort
+     configure.  This is fine when Python is an absolute requirement
+     for the package.  Therefore if Python >= 2.2 is only _optional_ to
+     the package, `AM_PATH_PYTHON' could be called as follows.
+
+          AM_PATH_PYTHON(2.2,, :)
+
+     `AM_PATH_PYTHON' creates the following output variables based on
+     the Python installation found during configuration.
+
+`PYTHON'
+     The name of the Python executable, or `:' if no suitable
+     interpreter could be found.
+
+     Assuming ACTION-IF-NOT-FOUND is used (otherwise `./configure' will
+     abort if Python is absent), the value of `PYTHON' can be used to
+     setup a conditional in order to disable the relevant part of a
+     build as follows.
+
+            AM_PATH_PYTHON(,, :)
+            AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
+
+`PYTHON_VERSION'
+     The Python version number, in the form MAJOR.MINOR (e.g., `1.5').
+     This is currently the value of `sys.version[:3]'.
+
+`PYTHON_PREFIX'
+     The string `${prefix}'.  This term may be used in future work that
+     needs the contents of Python's `sys.prefix', but general consensus
+     is to always use the value from configure.
+
+`PYTHON_EXEC_PREFIX'
+     The string `${exec_prefix}'.  This term may be used in future work
+     that needs the contents of Python's `sys.exec_prefix', but general
+     consensus is to always use the value from configure.
+
+`PYTHON_PLATFORM'
+     The canonical name used by Python to describe the operating
+     system, as given by `sys.platform'.  This value is sometimes
+     needed when building Python extensions.
+
+`pythondir'
+     The directory name for the `site-packages' subdirectory of the
+     standard Python install tree.
+
+`pkgpythondir'
+     This is the directory under `pythondir' that is named after the
+     package.  That is, it is `$(pythondir)/$(PACKAGE)'.  It is provided
+     as a convenience.
+
+`pyexecdir'
+     This is the directory where Python extension modules (shared
+     libraries) should be installed.
+
+`pkgpyexecdir'
+     This is a convenience variable that is defined as
+     `$(pyexecdir)/$(PACKAGE)'.
+
+   All these directory variables have values that start with either
+`${prefix}' or `${exec_prefix}' unexpanded.  This works fine in
+`Makefiles', but it makes these variables hard to use in `configure'.
+This is mandated by the GNU coding standards, so that the user can run
+`make prefix=/foo install'.  The Autoconf manual has a section with
+more details on this topic (*note Installation Directory Variables:
+(autoconf)Installation Directory Variables.).  See also *Note
+Hard-Coded Install Paths::.
+
+
+File: automake.info,  Node: Documentation,  Next: Install,  Prev: Other GNU Tools,  Up: Top
+
+10 Building documentation
+*************************
+
+Currently Automake provides support for Texinfo and man pages.
+
+* Menu:
+
+* Texinfo::                     Texinfo
+* Man pages::                   Man pages
+
+
+File: automake.info,  Node: Texinfo,  Next: Man pages,  Up: Documentation
+
+10.1 Texinfo
+============
+
+If the current directory contains Texinfo source, you must declare it
+with the `TEXINFOS' primary.  Generally Texinfo files are converted
+into info, and thus the `info_TEXINFOS' variable is most commonly used
+here.  Any Texinfo source file must end in the `.texi', `.txi', or
+`.texinfo' extension.  We recommend `.texi' for new manuals.
+
+   Automake generates rules to build `.info', `.dvi', `.ps', `.pdf' and
+`.html' files from your Texinfo sources.  The `.info' files are built
+by `make all' and installed by `make install' (unless you use
+`no-installinfo', see below).  The other files can be built on request
+by `make dvi', `make ps', `make pdf' and `make html'.
+
+   If the `.texi' file `@include's `version.texi', then that file will
+be automatically generated.  The file `version.texi' defines four
+Texinfo flag you can reference using `@value{EDITION}',
+`@value{VERSION}', `@value{UPDATED}', and `@value{UPDATED-MONTH}'.
+
+`EDITION'
+`VERSION'
+     Both of these flags hold the version number of your program.  They
+     are kept separate for clarity.
+
+`UPDATED'
+     This holds the date the primary `.texi' file was last modified.
+
+`UPDATED-MONTH'
+     This holds the name of the month in which the primary `.texi' file
+     was last modified.
+
+   The `version.texi' support requires the `mdate-sh' script; this
+script is supplied with Automake and automatically included when
+`automake' is invoked with the `--add-missing' option.
+
+   If you have multiple Texinfo files, and you want to use the
+`version.texi' feature, then you have to have a separate version file
+for each Texinfo file.  Automake will treat any include in a Texinfo
+file that matches `vers*.texi' just as an automatically generated
+version file.
+
+   Sometimes an info file actually depends on more than one `.texi'
+file.  For instance, in GNU Hello, `hello.texi' includes the file
+`gpl.texi'.  You can tell Automake about these dependencies using the
+`TEXI_TEXINFOS' variable.  Here is how GNU Hello does it: 
+
+     info_TEXINFOS = hello.texi
+     hello_TEXINFOS = gpl.texi
+
+   By default, Automake requires the file `texinfo.tex' to appear in
+the same directory as the Texinfo source (this can be changed using the
+`TEXINFO_TEX' variable, see below).  However, if you used
+`AC_CONFIG_AUX_DIR' in `configure.ac' (*note Finding `configure' Input:
+(autoconf)Input.), then `texinfo.tex' is looked for there.  Automake
+supplies `texinfo.tex' if `--add-missing' is given.
+
+   The option `no-texinfo.tex' can be used to eliminate the requirement
+for the file `texinfo.tex'.  Use of the variable `TEXINFO_TEX' is
+preferable, however, because that allows the `dvi', `ps', and `pdf'
+targets to still work.
+
+   Automake generates an `install-info' rule; some people apparently
+use this.  By default, info pages are installed by `make install'.
+This can be prevented via the `no-installinfo' option.
+
+   The following variables are used by the Texinfo build rules.
+
+`MAKEINFO'
+     The name of the program invoked to build `.info' files.  This
+     variable is defined by Automake.  If the `makeinfo' program is
+     found on the system then it will be used by default; otherwise
+     `missing' will be used instead.
+
+`MAKEINFOHTML'
+     The command invoked to build `.html' files.  Automake defines this
+     to `$(MAKEINFO) --html'.
+
+`MAKEINFOFLAGS'
+     User flags passed to each invocation of `$(MAKEINFO)' and
+     `$(MAKEINFOHTML)'.  This user variable (*note User Variables::) is
+     not expected to be defined in any `Makefile'; it can be used by
+     users to pass extra flags to suit their needs.
+
+`AM_MAKEINFOFLAGS'
+`AM_MAKEINFOHTMLFLAGS'
+     Maintainer flags passed to each `makeinfo' invocation.  Unlike
+     `MAKEINFOFLAGS', these variables are meant to be defined by
+     maintainers in `Makefile.am'.  `$(AM_MAKEINFOFLAGS)' is passed to
+     `makeinfo' when building `.info' files; and
+     `$(AM_MAKEINFOHTMLFLAGS)' is used when building `.html' files.
+
+     For instance, the following setting can be used to obtain one
+     single `.html' file per manual, without node separators.
+          AM_MAKEINFOHTMLFLAGS = --no-headers --no-split
+
+     `AM_MAKEINFOHTMLFLAGS' defaults to `$(AM_MAKEINFOFLAGS)'.  This
+     means that defining `AM_MAKEINFOFLAGS' without defining
+     `AM_MAKEINFOHTMLFLAGS' will impact builds of both `.info' and
+     `.html' files.
+
+`TEXI2DVI'
+     The name of the command that converts a `.texi' file into a `.dvi'
+     file.  This defaults to `texi2dvi', a script that ships with the
+     Texinfo package.
+
+`TEXI2PDF'
+     The name of the command that translates a `.texi' file into a
+     `.pdf' file.  This defaults to `$(TEXI2DVI) --pdf --batch'.
+
+`DVIPS'
+     The name of the command that build a `.ps' file out of a `.dvi'
+     file.  This defaults to `dvips'.
+
+`TEXINFO_TEX'
+     If your package has Texinfo files in many directories, you can use
+     the variable `TEXINFO_TEX' to tell Automake where to find the
+     canonical `texinfo.tex' for your package.  The value of this
+     variable should be the relative path from the current
+     `Makefile.am' to `texinfo.tex':
+
+          TEXINFO_TEX = ../doc/texinfo.tex
+
+
+File: automake.info,  Node: Man pages,  Prev: Texinfo,  Up: Documentation
+
+10.2 Man pages
+==============
+
+A package can also include man pages (but see the GNU standards on this
+matter, *Note Man Pages: (standards)Man Pages.)  Man pages are declared
+using the `MANS' primary.  Generally the `man_MANS' variable is used.
+Man pages are automatically installed in the correct subdirectory of
+`mandir', based on the file extension.
+
+   File extensions such as `.1c' are handled by looking for the valid
+part of the extension and using that to determine the correct
+subdirectory of `mandir'.  Valid section names are the digits `0'
+through `9', and the letters `l' and `n'.
+
+   Sometimes developers prefer to name a man page something like
+`foo.man' in the source, and then rename it to have the correct suffix,
+for example `foo.1', when installing the file.  Automake also supports
+this mode.  For a valid section named SECTION, there is a corresponding
+directory named `manSECTIONdir', and a corresponding `_MANS' variable.
+Files listed in such a variable are installed in the indicated section.
+If the file already has a valid suffix, then it is installed as-is;
+otherwise the file suffix is changed to match the section.
+
+   For instance, consider this example:
+     man1_MANS = rename.man thesame.1 alsothesame.1c
+
+   In this case, `rename.man' will be renamed to `rename.1' when
+installed, but the other files will keep their names.
+
+   By default, man pages are installed by `make install'.  However,
+since the GNU project does not require man pages, many maintainers do
+not expend effort to keep the man pages up to date.  In these cases, the
+`no-installman' option will prevent the man pages from being installed
+by default.  The user can still explicitly install them via `make
+install-man'.
+
+   Here is how the man pages are handled in GNU `cpio' (which includes
+both Texinfo documentation and man pages):
+
+     man_MANS = cpio.1 mt.1
+     EXTRA_DIST = $(man_MANS)
+
+   Man pages are not currently considered to be source, because it is
+not uncommon for man pages to be automatically generated.  Therefore
+they are not automatically included in the distribution.  However, this
+can be changed by use of the `dist_' prefix.
+
+   The `nobase_' prefix is meaningless for man pages and is disallowed.
+
+
+File: automake.info,  Node: Install,  Next: Clean,  Prev: Documentation,  Up: Top
+
+11 What Gets Installed
+**********************
+
+11.1 Basics of installation
+===========================
+
+Naturally, Automake handles the details of actually installing your
+program once it has been built.  All files named by the various
+primaries are automatically installed in the appropriate places when the
+user runs `make install'.
+
+   A file named in a primary is installed by copying the built file into
+the appropriate directory.  The base name of the file is used when
+installing.
+
+     bin_PROGRAMS = hello subdir/goodbye
+
+   In this example, both `hello' and `goodbye' will be installed in
+`$(bindir)'.
+
+   Sometimes it is useful to avoid the basename step at install time.
+For instance, you might have a number of header files in subdirectories
+of the source tree that are laid out precisely how you want to install
+them.  In this situation you can use the `nobase_' prefix to suppress
+the base name step.  For example:
+
+     nobase_include_HEADERS = stdio.h sys/types.h
+
+   Will install `stdio.h' in `$(includedir)' and `types.h' in
+`$(includedir)/sys'.
+
+11.2 The two parts of install
+=============================
+
+Automake generates separate `install-data' and `install-exec' rules, in
+case the installer is installing on multiple machines that share
+directory structure--these targets allow the machine-independent parts
+to be installed only once.  `install-exec' installs platform-dependent
+files, and `install-data' installs platform-independent files.  The
+`install' target depends on both of these targets.  While Automake
+tries to automatically segregate objects into the correct category, the
+`Makefile.am' author is, in the end, responsible for making sure this
+is done correctly.  
+
+   Variables using the standard directory prefixes `data', `info',
+`man', `include', `oldinclude', `pkgdata', or `pkginclude' are
+installed by `install-data'.
+
+   Variables using the standard directory prefixes `bin', `sbin',
+`libexec', `sysconf', `localstate', `lib', or `pkglib' are installed by
+`install-exec'.
+
+   For instance, `data_DATA' files are installed by `install-data',
+while `bin_PROGRAMS' files are installed by `install-exec'.
+
+   Any variable using a user-defined directory prefix with `exec' in
+the name (e.g., `myexecbin_PROGRAMS') is installed by `install-exec'.
+All other user-defined prefixes are installed by `install-data'.
+
+11.3 Extending installation
+===========================
+
+It is possible to extend this mechanism by defining an
+`install-exec-local' or `install-data-local' rule.  If these rules
+exist, they will be run at `make install' time.  These rules can do
+almost anything; care is required.  
+
+   Automake also supports two install hooks, `install-exec-hook' and
+`install-data-hook'.  These hooks are run after all other install rules
+of the appropriate type, exec or data, have completed.  So, for
+instance, it is possible to perform post-installation modifications
+using an install hook.  *Note Extending:: gives some examples.  
+
+11.4 Staged installs
+====================
+
+Automake generates support for the `DESTDIR' variable in all install
+rules.  `DESTDIR' is used during the `make install' step to relocate
+install objects into a staging area.  Each object and path is prefixed
+with the value of `DESTDIR' before being copied into the install area.
+Here is an example of typical DESTDIR usage:
+
+     mkdir /tmp/staging &&
+     make DESTDIR=/tmp/staging install
+
+   The `mkdir' command avoids a security problem if the attacker
+creates a symbolic link from `/tmp/staging' to a victim area; then
+`make' places install objects in a directory tree built under
+`/tmp/staging'.  If `/gnu/bin/foo' and `/gnu/share/aclocal/foo.m4' are
+to be installed, the above command would install
+`/tmp/staging/gnu/bin/foo' and `/tmp/staging/gnu/share/aclocal/foo.m4'.
+
+   This feature is commonly used to build install images and packages.
+For more information, see *Note Makefile Conventions:
+(standards)Makefile Conventions.
+
+   Support for `DESTDIR' is implemented by coding it directly into the
+install rules.  If your `Makefile.am' uses a local install rule (e.g.,
+`install-exec-local') or an install hook, then you must write that code
+to respect `DESTDIR'.
+
+11.5 Rules for the user
+=======================
+
+Automake also generates rules for targets `uninstall', `installdirs',
+and `install-strip'.  
+
+   Automake supports `uninstall-local' and `uninstall-hook'.  There is
+no notion of separate uninstalls for "exec" and "data", as these
+features would not provide additional functionality.
+
+   Note that `uninstall' is not meant as a replacement for a real
+packaging tool.
+
+
+File: automake.info,  Node: Clean,  Next: Dist,  Prev: Install,  Up: Top
+
+12 What Gets Cleaned
+********************
+
+The GNU Makefile Standards specify a number of different clean rules.
+*Note Standard Targets for Users: (standards)Standard Targets.
+
+   Generally the files that can be cleaned are determined automatically
+by Automake.  Of course, Automake also recognizes some variables that
+can be defined to specify additional files to clean.  These variables
+are `MOSTLYCLEANFILES', `CLEANFILES', `DISTCLEANFILES', and
+`MAINTAINERCLEANFILES'.  
+
+   When cleaning involves more than deleting some hard-coded list of
+files, it is also possible to supplement the cleaning rules with your
+own commands.  Simply define a rule for any of the `mostlyclean-local',
+`clean-local', `distclean-local', or `maintainer-clean-local' targets
+(*note Extending::).  A common case is deleting a directory, for
+instance, a directory created by the test suite:
+
+     clean-local:
+             -rm -rf testSubDir
+
+   As the GNU Standards aren't always explicit as to which files should
+be removed by which rule, we've adopted a heuristic that we believe was
+first formulated by Franc,ois Pinard:
+
+   * If `make' built it, and it is commonly something that one would
+     want to rebuild (for instance, a `.o' file), then `mostlyclean'
+     should delete it.
+
+   * Otherwise, if `make' built it, then `clean' should delete it.
+
+   * If `configure' built it, then `distclean' should delete it.
+
+   * If the maintainer built it (for instance, a `.info' file), then
+     `maintainer-clean' should delete it.  However `maintainer-clean'
+     should not delete anything that needs to exist in order to run
+     `./configure && make'.
+
+   We recommend that you follow this same set of heuristics in your
+`Makefile.am'.
+
+
+File: automake.info,  Node: Dist,  Next: Tests,  Prev: Clean,  Up: Top
+
+13 What Goes in a Distribution
+******************************
+
+13.1 Basics of distribution
+===========================
+
+The `dist' rule in the generated `Makefile.in' can be used to generate
+a gzip'd `tar' file and other flavors of archive for distribution.  The
+files is named based on the `PACKAGE' and `VERSION' variables defined
+by `AM_INIT_AUTOMAKE' (*note Macros::); more precisely the gzip'd `tar'
+file is named `PACKAGE-VERSION.tar.gz'.  You can use the `make'
+variable `GZIP_ENV' to control how gzip is run.  The default setting is
+`--best'.
+
+   For the most part, the files to distribute are automatically found by
+Automake: all source files are automatically included in a distribution,
+as are all `Makefile.am's and `Makefile.in's.  Automake also has a
+built-in list of commonly used files that are automatically included if
+they are found in the current directory (either physically, or as the
+target of a `Makefile.am' rule).  This list is printed by `automake
+--help'.  Also, files that are read by `configure' (i.e. the source
+files corresponding to the files specified in various Autoconf macros
+such as `AC_CONFIG_FILES' and siblings) are automatically distributed.
+Files included in `Makefile.am's (using `include') or in `configure.ac'
+(using `m4_include'), and helper scripts installed with `automake
+--add-missing' are also distributed.
+
+   Still, sometimes there are files that must be distributed, but which
+are not covered in the automatic rules.  These files should be listed in
+the `EXTRA_DIST' variable.  You can mention files from subdirectories
+in `EXTRA_DIST'.
+
+   You can also mention a directory in `EXTRA_DIST'; in this case the
+entire directory will be recursively copied into the distribution.
+Please note that this will also copy _everything_ in the directory,
+including CVS/RCS version control files.  We recommend against using
+this feature.
+
+   If you define `SUBDIRS', Automake will recursively include the
+subdirectories in the distribution.  If `SUBDIRS' is defined
+conditionally (*note Conditionals::), Automake will normally include
+all directories that could possibly appear in `SUBDIRS' in the
+distribution.  If you need to specify the set of directories
+conditionally, you can set the variable `DIST_SUBDIRS' to the exact
+list of subdirectories to include in the distribution (*note
+Conditional Subdirectories::).
+
+13.2 Fine-grained distribution control
+======================================
+
+Sometimes you need tighter control over what does _not_ go into the
+distribution; for instance, you might have source files that are
+generated and that you do not want to distribute.  In this case
+Automake gives fine-grained control using the `dist' and `nodist'
+prefixes.  Any primary or `_SOURCES' variable can be prefixed with
+`dist_' to add the listed files to the distribution.  Similarly,
+`nodist_' can be used to omit the files from the distribution.
+
+   As an example, here is how you would cause some data to be
+distributed while leaving some source code out of the distribution:
+
+     dist_data_DATA = distribute-this
+     bin_PROGRAMS = foo
+     nodist_foo_SOURCES = do-not-distribute.c
+
+13.3 The dist hook
+==================
+
+Occasionally it is useful to be able to change the distribution before
+it is packaged up.  If the `dist-hook' rule exists, it is run after the
+distribution directory is filled, but before the actual tar (or shar)
+file is created.  One way to use this is for distributing files in
+subdirectories for which a new `Makefile.am' is overkill:
+
+     dist-hook:
+             mkdir $(distdir)/random
+             cp -p $(srcdir)/random/a1 $(srcdir)/random/a2 $(distdir)/random
+
+   Another way to to use this is for removing unnecessary files that get
+recursively included by specifying a directory in EXTRA_DIST:
+
+     EXTRA_DIST = doc
+
+     dist-hook:
+             rm -rf `find $(distdir)/doc -name CVS`
+
+   Two variables that come handy when writing `dist-hook' rules are
+`$(distdir)' and `$(top_distdir)'.
+
+   `$(distdir)' points to the directory where the `dist' rule will copy
+files from the current directory before creating the tarball.  If you
+are at the top-level directory, then `distdir = $(PACKAGE)-$(VERSION)'.
+When used from subdirectory named `foo/', then `distdir =
+../$(PACKAGE)-$(VERSION)/foo'.  `$(distdir)' can be a relative or
+absolute path, do not assume any form.
+
+   `$(top_distdir)' always points to the root directory of the
+distributed tree.  At the top-level it's equal to `$(distdir)'.  In the
+`foo/' subdirectory `top_distdir = ../$(PACKAGE)-$(VERSION)'.
+`$(top_distdir)' too can be a relative or absolute path.
+
+   Note that when packages are nested using `AC_CONFIG_SUBDIRS' (*note
+Subpackages::), then `$(distdir)' and `$(top_distdir)' are relative to
+the package where `make dist' was run, not to any sub-packages involved.
+
+13.4 Checking the distribution
+==============================
+
+Automake also generates a `distcheck' rule that can be of help to
+ensure that a given distribution will actually work.  `distcheck' makes
+a distribution, then tries to do a `VPATH' build, run the test suite,
+and finally make another tarfile to ensure the distribution is
+self-contained.
+
+   Building the package involves running `./configure'.  If you need to
+supply additional flags to `configure', define them in the
+`DISTCHECK_CONFIGURE_FLAGS' variable, either in your top-level
+`Makefile.am', or on the command line when invoking `make'.
+
+   If the `distcheck-hook' rule is defined in your top-level
+`Makefile.am', then it will be invoked by `distcheck' after the new
+distribution has been unpacked, but before the unpacked copy is
+configured and built.  Your `distcheck-hook' can do almost anything,
+though as always caution is advised.  Generally this hook is used to
+check for potential distribution errors not caught by the standard
+mechanism.  Note that `distcheck-hook' as well as
+`DISTCHECK_CONFIGURE_FLAGS' are not honored in a subpackage
+`Makefile.am', but the `DISTCHECK_CONFIGURE_FLAGS' are passed down to
+the `configure' script of the subpackage.
+
+   Speaking of potential distribution errors, `distcheck' also ensures
+that the `distclean' rule actually removes all built files.  This is
+done by running `make distcleancheck' at the end of the `VPATH' build.
+By default, `distcleancheck' will run `distclean' and then make sure
+the build tree has been emptied by running
+`$(distcleancheck_listfiles)'.  Usually this check will find generated
+files that you forgot to add to the `DISTCLEANFILES' variable (*note
+Clean::).
+
+   The `distcleancheck' behavior should be OK for most packages,
+otherwise you have the possibility to override the definition of either
+the `distcleancheck' rule, or the `$(distcleancheck_listfiles)'
+variable.  For instance, to disable `distcleancheck' completely, add
+the following rule to your top-level `Makefile.am':
+
+     distcleancheck:
+             @:
+
+   If you want `distcleancheck' to ignore built files that have not
+been cleaned because they are also part of the distribution, add the
+following definition instead:
+
+     distcleancheck_listfiles = \
+       find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
+
+   The above definition is not the default because it's usually an
+error if your Makefiles cause some distributed files to be rebuilt when
+the user build the package.  (Think about the user missing the tool
+required to build the file; or if the required tool is built by your
+package, consider the cross-compilation case where it can't be run.)
+There is a FAQ entry about this (*note distcleancheck::), make sure you
+read it before playing with `distcleancheck_listfiles'.
+
+   `distcheck' also checks that the `uninstall' rule works properly,
+both for ordinary and `DESTDIR' builds.  It does this by invoking `make
+uninstall', and then it checks the install tree to see if any files are
+left over.  This check will make sure that you correctly coded your
+`uninstall'-related rules.
+
+   By default, the checking is done by the `distuninstallcheck' rule,
+and the list of files in the install tree is generated by
+`$(distuninstallcheck_listfiles') (this is a variable whose value is a
+shell command to run that prints the list of files to stdout).
+
+   Either of these can be overridden to modify the behavior of
+`distcheck'.  For instance, to disable this check completely, you would
+write:
+
+     distuninstallcheck:
+             @:
+
+13.5 The types of distributions
+===============================
+
+Automake generates rules to provide archives of the project for
+distributions in various formats.  Their targets are:
+
+`dist-bzip2'
+     Generate a bzip2 tar archive of the distribution.  bzip2 archives
+     are frequently smaller than gzipped archives.  
+
+`dist-gzip'
+     Generate a gzip tar archive of the distribution.  
+
+`dist-shar'
+     Generate a shar archive of the distribution.  
+
+`dist-zip'
+     Generate a zip archive of the distribution.  
+
+`dist-tarZ'
+     Generate a compressed tar archive of the distribution.  
+
+   The rule `dist' (and its historical synonym `dist-all') will create
+archives in all the enabled formats, *Note Options::.  By default, only
+the `dist-gzip' target is hooked to `dist'.
+
+
+File: automake.info,  Node: Tests,  Next: Rebuilding,  Prev: Dist,  Up: Top
+
+14 Support for test suites
+**************************
+
+Automake supports two forms of test suites.
+
+14.1 Simple Tests
+=================
+
+If the variable `TESTS' is defined, its value is taken to be a list of
+programs to run in order to do the testing.  The programs can either be
+derived objects or source objects; the generated rule will look both in
+`srcdir' and `.'.  Programs needing data files should look for them in
+`srcdir' (which is both an environment variable and a make variable) so
+they work when building in a separate directory (*note Build
+Directories: (autoconf)Build Directories.), and in particular for the
+`distcheck' rule (*note Dist::).
+
+   The number of failures will be printed at the end of the run.  If a
+given test program exits with a status of 77, then its result is ignored
+in the final count.  This feature allows non-portable tests to be
+ignored in environments where they don't make sense.
+
+   The variable `TESTS_ENVIRONMENT' can be used to set environment
+variables for the test run; the environment variable `srcdir' is set in
+the rule.  If all your test programs are scripts, you can also set
+`TESTS_ENVIRONMENT' to an invocation of the shell (e.g.  `$(SHELL)
+-x'); this can be useful for debugging the tests.  
+
+   You may define the variable `XFAIL_TESTS' to a list of tests
+(usually a subset of `TESTS') that are expected to fail.  This will
+reverse the result of those tests.  
+
+   Automake ensures that each program listed in `TESTS' is built before
+any tests are run; you can list both source and derived programs in
+`TESTS'.  For instance, you might want to run a C program as a test.
+To do this you would list its name in `TESTS' and also in
+`check_PROGRAMS', and then specify it as you would any other program.
+
+14.2 DejaGnu Tests
+==================
+
+If `dejagnu' (ftp://ftp.gnu.org/gnu/dejagnu/) appears in
+`AUTOMAKE_OPTIONS', then a `dejagnu'-based test suite is assumed.  The
+variable `DEJATOOL' is a list of names that are passed, one at a time,
+as the `--tool' argument to `runtest' invocations; it defaults to the
+name of the package.
+
+   The variable `RUNTESTDEFAULTFLAGS' holds the `--tool' and `--srcdir'
+flags that are passed to dejagnu by default; this can be overridden if
+necessary.  
+
+   The variables `EXPECT' and `RUNTEST' can also be overridden to
+provide project-specific values.  For instance, you will need to do
+this if you are testing a compiler toolchain, because the default
+values do not take into account host and target names.  
+
+   The contents of the variable `RUNTESTFLAGS' are passed to the
+`runtest' invocation.  This is considered a "user variable" (*note User
+Variables::).  If you need to set `runtest' flags in `Makefile.am', you
+can use `AM_RUNTESTFLAGS' instead.  
+
+   Automake will generate rules to create a local `site.exp' file,
+defining various variables detected by `configure'.  This file is
+automatically read by DejaGnu.  It is OK for the user of a package to
+edit this file in order to tune the test suite.  However this is not
+the place where the test suite author should define new variables: this
+should be done elsewhere in the real test suite code.  Especially,
+`site.exp' should not be distributed.
+
+   For more information regarding DejaGnu test suites, see *Note Top:
+(dejagnu)Top.
+
+   In either case, the testing is done via `make check'.
+
+14.3 Install Tests
+==================
+
+The `installcheck' target is available to the user as a way to run any
+tests after the package has been installed.  You can add tests to this
+by writing an `installcheck-local' rule.
+
+
+File: automake.info,  Node: Rebuilding,  Next: Options,  Prev: Tests,  Up: Top
+
+15 Rebuilding Makefiles
+***********************
+
+Automake generates rules to automatically rebuild `Makefile's,
+`configure', and other derived files like `Makefile.in'.
+
+   If you are using `AM_MAINTAINER_MODE' in `configure.ac', then these
+automatic rebuilding rules are only enabled in maintainer mode.
+
+   Sometimes you need to run `aclocal' with an argument like `-I' to
+tell it where to find `.m4' files.  Since sometimes `make' will
+automatically run `aclocal', you need a way to specify these arguments.
+You can do this by defining `ACLOCAL_AMFLAGS'; this holds arguments
+that are passed verbatim to `aclocal'.  This variable is only useful in
+the top-level `Makefile.am'.
+
+   Sometimes it is convenient to supplement the rebuild rules for
+`configure' or `config.status' with additional dependencies.  The
+variables `CONFIGURE_DEPENDENCIES' and `CONFIG_STATUS_DEPENDENCIES' can
+be used to list these extra dependencies.  These variable should be
+defined in all `Makefile's of the tree (because these two rebuild rules
+are output in all them), so it is safer and easier to `AC_SUBST' them
+from `configure.ac'.  For instance, the following statement will cause
+`configure' to be rerun each time `version.sh' is changed.
+     AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version.sh'])
+   Note the `$(top_srcdir)/' in the file name.  Since this variable is
+to be used in all `Makefile's, its value must be sensible at any level
+in the build hierarchy.
+
+   Beware not to mistake `CONFIGURE_DEPENDENCIES' for
+`CONFIG_STATUS_DEPENDENCIES'.
+
+   `CONFIGURE_DEPENDENCIES' adds dependencies to the `configure' rule,
+whose effect is to run `autoconf'.  This variable should be seldom
+used, because `automake' already tracks `m4_include'd files.  However
+it can be useful when playing tricky games with `m4_esyscmd' or similar
+non-recommendable macros with side effects.
+
+   `CONFIG_STATUS_DEPENDENCIES' adds dependencies to the
+`config.status' rule, whose effect is to run `configure'.  This
+variable should therefore carry any non-standard source that may be
+read as a side effect of running configure, like `version.sh' in the
+example above.
+
+   Speaking of `version.sh' scripts, we recommend against them today.
+They are mainly used when the version of a package is updated
+automatically by a script (e.g., in daily builds).  Here is what some
+old-style `configure.ac's may look like:
+     AC_INIT
+     . $srcdir/version.sh
+     AM_INIT_AUTOMAKE([name], $VERSION_NUMBER)
+     ...
+   Here, `version.sh' is a shell fragment that sets `VERSION_NUMBER'.
+The problem with this example is that `automake' cannot track
+dependencies (listing `version.sh' in `CONFIG_STATUS_DEPENDENCIES', and
+distributing this file is up to the user), and that it uses the
+obsolete form of `AC_INIT' and `AM_INIT_AUTOMAKE'.  Upgrading to the
+new syntax is not straightforward, because shell variables are not
+allowed in `AC_INIT''s arguments.  We recommend that `version.sh' be
+replaced by an M4 file that is included by `configure.ac':
+     m4_include([version.m4])
+     AC_INIT([name], VERSION_NUMBER)
+     AM_INIT_AUTOMAKE
+     ...
+   Here `version.m4' could contain something like
+`m4_define([VERSION_NUMBER], [1.2])'.  The advantage of this second
+form is that `automake' will take care of the dependencies when
+defining the rebuild rule, and will also distribute the file
+automatically.  An inconvenience is that `autoconf' will now be rerun
+each time the version number is bumped, when only `configure' had to be
+rerun in the previous setup.
+
+
+File: automake.info,  Node: Options,  Next: Miscellaneous,  Prev: Rebuilding,  Up: Top
+
+16 Changing Automake's Behavior
+*******************************
+
+Various features of Automake can be controlled by options in the
+`Makefile.am'.  Such options are applied on a per-`Makefile' basis when
+listed in a special `Makefile' variable named `AUTOMAKE_OPTIONS'.  They
+are applied globally to all processed `Makefiles' when listed in the
+first argument of `AM_INIT_AUTOMAKE' in `configure.ac'.  Currently
+understood options are: 
+
+`gnits'
+`gnu'
+`foreign'
+`cygnus'
+     Set the strictness as appropriate.  The `gnits' option also
+     implies options `readme-alpha' and `check-news'.
+
+`ansi2knr'
+`PATH/ansi2knr'
+     Turn on automatic de-ANSI-fication.  *Note ANSI::.  If preceded by
+     a path, the generated `Makefile.in' will look in the specified
+     directory to find the `ansi2knr' program.  The path should be a
+     relative path to another directory in the same distribution
+     (Automake currently does not check this).
+
+`check-news'
+     Cause `make dist' to fail unless the current version number appears
+     in the first few lines of the `NEWS' file.
+
+`dejagnu'
+     Cause `dejagnu'-specific rules to be generated.  *Note Tests::.
+
+`dist-bzip2'
+     Hook `dist-bzip2' to `dist'.  
+
+`dist-shar'
+     Hook `dist-shar' to `dist'.  
+
+`dist-zip'
+     Hook `dist-zip' to `dist'.  
+
+`dist-tarZ'
+     Hook `dist-tarZ' to `dist'.  
+
+`filename-length-max=99'
+     Abort if file names longer than 99 characters are found during
+     `make dist'.  Such long file names are generally considered not to
+     be portable in tarballs.  See the `tar-v7' and `tar-ustar' options
+     below.  This option should be used in the top-level `Makefile.am'
+     or as an argument of `AM_INIT_AUTOMAKE' in `configure.ac', it will
+     be ignored otherwise.
+
+`no-define'
+     This options is meaningful only when passed as an argument to
+     `AM_INIT_AUTOMAKE'.  It will prevent the `PACKAGE' and `VERSION'
+     variables to be `AC_DEFINE'd.
+
+`no-dependencies'
+     This is similar to using `--include-deps' on the command line, but
+     is useful for those situations where you don't have the necessary
+     bits to make automatic dependency tracking work (*note
+     Dependencies::).  In this case the effect is to effectively
+     disable automatic dependency tracking.
+
+`no-dist'
+     Don't emit any code related to `dist' target.  This is useful when
+     a package has its own method for making distributions.
+
+`no-dist-gzip'
+     Do not hook `dist-gzip' to `dist'.  
+
+`no-exeext'
+     If your `Makefile.am' defines a rule for target `foo', it will
+     override a rule for a target named `foo$(EXEEXT)'.  This is
+     necessary when `EXEEXT' is found to be empty.  However, by default
+     automake will generate an error for this use.  The `no-exeext'
+     option will disable this error.  This is intended for use only
+     where it is known in advance that the package will not be ported
+     to Windows, or any other operating system using extensions on
+     executables.
+
+`no-installinfo'
+     The generated `Makefile.in' will not cause info pages to be built
+     or installed by default.  However, `info' and `install-info'
+     targets will still be available.  This option is disallowed at
+     `gnu' strictness and above.  
+
+`no-installman'
+     The generated `Makefile.in' will not cause man pages to be
+     installed by default.  However, an `install-man' target will still
+     be available for optional installation.  This option is disallowed
+     at `gnu' strictness and above.  
+
+`nostdinc'
+     This option can be used to disable the standard `-I' options that
+     are ordinarily automatically provided by Automake.
+
+`no-texinfo.tex'
+     Don't require `texinfo.tex', even if there are texinfo files in
+     this directory.
+
+`readme-alpha'
+     If this release is an alpha release, and the file `README-alpha'
+     exists, then it will be added to the distribution.  If this option
+     is given, version numbers are expected to follow one of two forms.
+     The first form is `MAJOR.MINOR.ALPHA', where each element is a
+     number; the final period and number should be left off for
+     non-alpha releases.  The second form is `MAJOR.MINORALPHA', where
+     ALPHA is a letter; it should be omitted for non-alpha releases.
+
+`std-options'
+     Make the `installcheck' rule check that installed scripts and
+     programs support the `--help' and `--version' options.  This also
+     provides a basic check that the program's run-time dependencies
+     are satisfied after installation.
+
+     In a few situations, programs (or scripts) have to be exempted
+     from this test.  For instance, `false' (from GNU sh-utils) is never
+     successful, even for `--help' or `--version'.  You can list such
+     programs in the variable `AM_INSTALLCHECK_STD_OPTIONS_EXEMPT'.
+     Programs (not scripts) listed in this variable should be suffixed
+     by `$(EXEEXT)' for the sake of Win32 or OS/2.  For instance,
+     suppose we build `false' as a program but `true.sh' as a script,
+     and that neither of them support `--help' or `--version':
+
+          AUTOMAKE_OPTIONS = std-options
+          bin_PROGRAMS = false ...
+          bin_SCRIPTS = true.sh ...
+          AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) true.sh
+
+`subdir-objects'
+     If this option is specified, then objects are placed into the
+     subdirectory of the build directory corresponding to the
+     subdirectory of the source file.  For instance, if the source file
+     is `subdir/file.cxx', then the output file would be
+     `subdir/file.o'.
+
+`tar-v7'
+`tar-ustar'
+`tar-pax'
+     These three mutually exclusive options select the tar format to use
+     when generating tarballs with `make dist'.  (The tar file created
+     is then compressed according to the set of `no-dist-gzip',
+     `dist-bzip2' and `dist-tarZ' options in use.)
+
+     These options must be passed as argument to `AM_INIT_AUTOMAKE'
+     (*note Macros::) because they can require additional configure
+     checks.  Automake will complain if it sees such options in an
+     `AUTOMAKE_OPTIONS' variable.
+
+     `tar-v7' selects the old V7 tar format.  This is the historical
+     default.  This antiquated format is understood by all tar
+     implementations and supports file names with up to 99 characters.
+     When given longer file names some tar implementations will
+     diagnose the problem while other will generate broken tarballs or
+     use non-portable extensions.  Furthermore, the V7 format cannot
+     store empty directories.  When using this format, consider using
+     the `filename-length-max=99' option to catch file names too long.
+
+     `tar-ustar' selects the ustar format defined by POSIX 1003.1-1988.
+     This format is believed to be old enough to be portable.  It
+     fully supports empty directories.  It can store file names with up
+     to 256 characters, provided that the file name can be split at
+     directory separator in two parts, first of them being at most 155
+     bytes long.  So, in most cases the maximum file name length will be
+     shorter than 256 characters.  However you may run against broken
+     tar implementations that incorrectly handle file names longer than
+     99 characters (please report them to <bug-automake@gnu.org> so we
+     can document this accurately).
+
+     `tar-pax' selects the new pax interchange format defined by POSIX
+     1003.1-2001.  It does not limit the length of file names.  However,
+     this format is very young and should probably be restricted to
+     packages that target only very modern platforms.  There are moves
+     to change the pax format in an upward-compatible way, so this
+     option may refer to a more recent version in the future.
+
+     *Note Controlling the Archive Format: (tar)Formats, for further
+     discussion about tar formats.
+
+     `configure' knows several ways to construct these formats.  It
+     will not abort if it cannot find a tool up to the task (so that the
+     package can still be built), but `make dist' will fail.
+
+VERSION
+     A version number (e.g., `0.30') can be specified.  If Automake is
+     not newer than the version specified, creation of the `Makefile.in'
+     will be suppressed.
+
+`-WCATEGORY' or `--warnings=CATEGORY'
+     These options behave exactly like their command-line counterpart
+     (*note Invoking Automake::).  This allows you to enable or disable
+     some warning categories on a per-file basis.  You can also setup
+     some warnings for your entire project; for instance, try
+     `AM_INIT_AUTOMAKE([-Wall])' in your `configure.ac'.
+
+
+   Unrecognized options are diagnosed by `automake'.
+
+   If you want an option to apply to all the files in the tree, you can
+use the `AM_INIT_AUTOMAKE' macro in `configure.ac'.  *Note Macros::.
+
+
+File: automake.info,  Node: Miscellaneous,  Next: Include,  Prev: Options,  Up: Top
+
+17 Miscellaneous Rules
+**********************
+
+There are a few rules and variables that didn't fit anywhere else.
+
+* Menu:
+
+* Tags::                        Interfacing to etags and mkid
+* Suffixes::                    Handling new file extensions
+* Multilibs::                   Support for multilibs.
+
+
+File: automake.info,  Node: Tags,  Next: Suffixes,  Up: Miscellaneous
+
+17.1 Interfacing to `etags'
+===========================
+
+Automake will generate rules to generate `TAGS' files for use with GNU
+Emacs under some circumstances.
+
+   If any C, C++ or Fortran 77 source code or headers are present, then
+`tags' and `TAGS' rules will be generated for the directory.  All files
+listed using the `_SOURCES', `_HEADERS', and `_LISP' primaries will be
+used to generate tags.  Note that generated source files that are not
+distributed must be declared in variables like `nodist_noinst_HEADERS'
+or `nodist_PROG_SOURCES' or they will be ignored.
+
+   A `tags' rule will be output at the topmost directory of a
+multi-directory package.  When run from this topmost directory, `make
+tags' will generate a `TAGS' file that includes by reference all `TAGS'
+files from subdirectories.
+
+   The `tags' rule will also be generated if the variable `ETAGS_ARGS'
+is defined.  This variable is intended for use in directories that
+contain taggable source that `etags' does not understand.  The user can
+use the `ETAGSFLAGS' to pass additional flags to `etags';
+`AM_ETAGSFLAGS' is also available for use in `Makefile.am'.  
+
+   Here is how Automake generates tags for its source, and for nodes in
+its Texinfo file:
+
+     ETAGS_ARGS = automake.in --lang=none \
+      --regex='/^@node[ \t]+\([^,]+\)/\1/' automake.texi
+
+   If you add file names to `ETAGS_ARGS', you will probably also want
+to define `TAGS_DEPENDENCIES'.  The contents of this variable are added
+directly to the dependencies for the `tags' rule.  
+
+   Automake also generates a `ctags' rule that can be used to build
+`vi'-style `tags' files.  The variable `CTAGS' is the name of the
+program to invoke (by default `ctags'); `CTAGSFLAGS' can be used by the
+user to pass additional flags, and `AM_CTAGSFLAGS' can be used by the
+`Makefile.am'.
+
+   Automake will also generate an `ID' rule that will run `mkid' on the
+source.  This is only supported on a directory-by-directory basis.  
+
+   Finally, Automake also emit rules to support the GNU Global Tags
+program (http://www.gnu.org/software/global/).  The `GTAGS' rule runs
+Global Tags and puts the result in the top build directory.  The
+variable `GTAGS_ARGS' holds arguments that are passed to `gtags'.  
+
+
+File: automake.info,  Node: Suffixes,  Next: Multilibs,  Prev: Tags,  Up: Miscellaneous
+
+17.2 Handling new file extensions
+=================================
+
+It is sometimes useful to introduce a new implicit rule to handle a file
+type that Automake does not know about.
+
+   For instance, suppose you had a compiler that could compile `.foo'
+files to `.o' files.  You would simply define an suffix rule for your
+language:
+
+     .foo.o:
+             foocc -c -o $@ $<
+
+   Then you could directly use a `.foo' file in a `_SOURCES' variable
+and expect the correct results:
+
+     bin_PROGRAMS = doit
+     doit_SOURCES = doit.foo
+
+   This was the simpler and more common case.  In other cases, you will
+have to help Automake to figure which extensions you are defining your
+suffix rule for.  This usually happens when your extensions does not
+start with a dot.  Then, all you have to do is to put a list of new
+suffixes in the `SUFFIXES' variable *before* you define your implicit
+rule.
+
+   For instance, the following definition prevents Automake to
+misinterpret `.idlC.cpp:' as an attempt to transform `.idlC' files into
+`.cpp' files.
+
+     SUFFIXES = .idl C.cpp
+     .idlC.cpp:
+             # whatever
+
+   As you may have noted, the `SUFFIXES' variable behaves like the
+`.SUFFIXES' special target of `make'.  You should not touch `.SUFFIXES'
+yourself, but use `SUFFIXES' instead and let Automake generate the
+suffix list for `.SUFFIXES'.  Any given `SUFFIXES' go at the start of
+the generated suffixes list, followed by Automake generated suffixes
+not already in the list.
+
+
+File: automake.info,  Node: Multilibs,  Prev: Suffixes,  Up: Miscellaneous
+
+17.3 Support for Multilibs
+==========================
+
+Automake has support for an obscure feature called multilibs.  A
+"multilib" is a library that is built for multiple different ABIs at a
+single time; each time the library is built with a different target
+flag combination.  This is only useful when the library is intended to
+be cross-compiled, and it is almost exclusively used for compiler
+support libraries.
+
+   The multilib support is still experimental.  Only use it if you are
+familiar with multilibs and can debug problems you might encounter.
+
+
+File: automake.info,  Node: Include,  Next: Conditionals,  Prev: Miscellaneous,  Up: Top
+
+18 Include
+**********
+
+Automake supports an `include' directive that  can be used to include
+other `Makefile' fragments when `automake' is run.  Note that these
+fragments are read and interpreted by `automake', not by `make'.  As
+with conditionals, `make' has no idea that `include' is in use.
+
+   There are two forms of `include':
+
+`include $(srcdir)/file'
+     Include a fragment that is found relative to the current source
+     directory.
+
+`include $(top_srcdir)/file'
+     Include a fragment that is found relative to the top source
+     directory.
+
+   Note that if a fragment is included inside a conditional, then the
+condition applies to the entire contents of that fragment.
+
+   Makefile fragments included this way are always distributed because
+they are needed to rebuild `Makefile.in'.
+
+
+File: automake.info,  Node: Conditionals,  Next: Gnits,  Prev: Include,  Up: Top
+
+19 Conditionals
+***************
+
+Automake supports a simple type of conditionals.
+
+   Before using a conditional, you must define it by using
+`AM_CONDITIONAL' in the `configure.ac' file (*note Macros::).
+
+ -- Macro: AM_CONDITIONAL (CONDITIONAL, CONDITION)
+     The conditional name, CONDITIONAL, should be a simple string
+     starting with a letter and containing only letters, digits, and
+     underscores.  It must be different from `TRUE' and `FALSE' that
+     are reserved by Automake.
+
+     The shell CONDITION (suitable for use in a shell `if' statement)
+     is evaluated when `configure' is run.  Note that you must arrange
+     for _every_ `AM_CONDITIONAL' to be invoked every time `configure'
+     is run.  If `AM_CONDITIONAL' is run conditionally (e.g., in a
+     shell `if' statement), then the result will confuse automake.
+
+   Conditionals typically depend upon options that the user provides to
+the `configure' script.  Here is an example of how to write a
+conditional that is true if the user uses the `--enable-debug' option.
+
+     AC_ARG_ENABLE(debug,
+     [  --enable-debug    Turn on debugging],
+     [case "${enableval}" in
+       yes) debug=true ;;
+       no)  debug=false ;;
+       *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+     esac],[debug=false])
+     AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+
+   Here is an example of how to use that conditional in `Makefile.am':
+
+     if DEBUG
+     DBG = debug
+     else
+     DBG =
+     endif
+     noinst_PROGRAMS = $(DBG)
+
+   This trivial example could also be handled using `EXTRA_PROGRAMS'
+(*note Conditional Programs::).
+
+   You may only test a single variable in an `if' statement, possibly
+negated using `!'.  The `else' statement may be omitted.  Conditionals
+may be nested to any depth.  You may specify an argument to `else' in
+which case it must be the negation of the condition used for the
+current `if'.  Similarly you may specify the condition that is closed
+by an `end':
+
+     if DEBUG
+     DBG = debug
+     else !DEBUG
+     DBG =
+     endif !DEBUG
+
+Unbalanced conditions are errors.
+
+   Note that conditionals in Automake are not the same as conditionals
+in GNU Make.  Automake conditionals are checked at configure time by the
+`configure' script, and affect the translation from `Makefile.in' to
+`Makefile'.  They are based on options passed to `configure' and on
+results that `configure' has discovered about the host system.  GNU
+Make conditionals are checked at `make' time, and are based on
+variables passed to the make program or defined in the `Makefile'.
+
+   Automake conditionals will work with any make program.
+
+
+File: automake.info,  Node: Gnits,  Next: Cygnus,  Prev: Conditionals,  Up: Top
+
+20 The effect of `--gnu' and `--gnits'
+**************************************
+
+The `--gnu' option (or `gnu' in the `AUTOMAKE_OPTIONS' variable) causes
+`automake' to check the following:
+
+   * The files `INSTALL', `NEWS', `README', `AUTHORS', and `ChangeLog',
+     plus one of `COPYING.LIB', `COPYING.LESSER' or `COPYING', are
+     required at the topmost directory of the package.
+
+   * The options `no-installman' and `no-installinfo' are prohibited.
+
+   Note that this option will be extended in the future to do even more
+checking; it is advisable to be familiar with the precise requirements
+of the GNU standards.  Also, `--gnu' can require certain non-standard
+GNU programs to exist for use by various maintainer-only rules; for
+instance, in the future `pathchk' might be required for `make dist'.
+
+   The `--gnits' option does everything that `--gnu' does, and checks
+the following as well:
+
+   * `make installcheck' will check to make sure that the `--help' and
+     `--version' really print a usage message and a version string,
+     respectively.  This is the `std-options' option (*note Options::).
+
+   * `make dist' will check to make sure the `NEWS' file has been
+     updated to the current version.
+
+   * `VERSION' is checked to make sure its format complies with Gnits
+     standards.
+
+   * If `VERSION' indicates that this is an alpha release, and the file
+     `README-alpha' appears in the topmost directory of a package, then
+     it is included in the distribution.  This is done in `--gnits'
+     mode, and no other, because this mode is the only one where version
+     number formats are constrained, and hence the only mode where
+     Automake can automatically determine whether `README-alpha' should
+     be included.
+
+   * The file `THANKS' is required.
+
+
+File: automake.info,  Node: Cygnus,  Next: Not Enough,  Prev: Gnits,  Up: Top
+
+21 The effect of `--cygnus'
+***************************
+
+Some packages, notably GNU GCC and GNU gdb, have a build environment
+originally written at Cygnus Support (subsequently renamed Cygnus
+Solutions, and then later purchased by Red Hat).  Packages with this
+ancestry are sometimes referred to as "Cygnus" trees.
+
+   A Cygnus tree has slightly different rules for how a `Makefile.in'
+is to be constructed.  Passing `--cygnus' to `automake' will cause any
+generated `Makefile.in' to comply with Cygnus rules.
+
+   Here are the precise effects of `--cygnus':
+
+   * Info files are always created in the build directory, and not in
+     the source directory.
+
+   * `texinfo.tex' is not required if a Texinfo source file is
+     specified.  The assumption is that the file will be supplied, but
+     in a place that Automake cannot find.  This assumption is an
+     artifact of how Cygnus packages are typically bundled.
+
+   * `make dist' is not supported, and the rules for it are not
+     generated.  Cygnus-style trees use their own distribution
+     mechanism.
+
+   * Certain tools will be searched for in the build tree as well as in
+     the user's `PATH'.  These tools are `runtest', `expect',
+     `makeinfo' and `texi2dvi'.
+
+   * `--foreign' is implied.
+
+   * The options `no-installinfo' and `no-dependencies' are implied.
+
+   * The macros `AM_MAINTAINER_MODE' and `AM_CYGWIN32' are required.
+
+   * The `check' target doesn't depend on `all'.
+
+   GNU maintainers are advised to use `gnu' strictness in preference to
+the special Cygnus mode.  Some day, perhaps, the differences between
+Cygnus trees and GNU trees will disappear (for instance, as GCC is made
+more standards compliant).  At that time the special Cygnus mode will be
+removed.
+
+
+File: automake.info,  Node: Not Enough,  Next: Distributing,  Prev: Cygnus,  Up: Top
+
+22 When Automake Isn't Enough
+*****************************
+
+In some situations, where Automake is not up to one task, one has to
+resort to handwritten rules or even handwritten `Makefile's.
+
+* Menu:
+
+* Extending::                   Adding new rules or overriding existing ones.
+* Third-Party Makefiles::       Integrating Non-Automake `Makefile's.
+
+
+File: automake.info,  Node: Extending,  Next: Third-Party Makefiles,  Up: Not Enough
+
+22.1 Extending Automake Rules
+=============================
+
+With some minor exceptions (like `_PROGRAMS' variables being rewritten
+to append `$(EXEEXT)'), the contents of a `Makefile.am' is copied to
+`Makefile.in' verbatim.
+
+   These copying semantics means that many problems can be worked around
+by simply adding some `make' variables and rules to `Makefile.am'.
+Automake will ignore these additions.
+
+   Since a `Makefile.in' is built from data gathered from three
+different places (`Makefile.am', `configure.ac', and `automake'
+itself), it is possible to have conflicting definitions of rules or
+variables.  When building `Makefile.in' the following priorities are
+respected by `automake' to ensure the user always have the last word.
+User defined variables in `Makefile.am' have priority over variables
+`AC_SUBST'ed from `configure.ac', and `AC_SUBST'ed variables have
+priority over `automake'-defined variables.  As far rules are
+concerned, a user-defined rule overrides any `automake'-defined rule
+for the same target.
+
+   These overriding semantics make it possible to fine tune some default
+settings of Automake, or replace some of its rules.  Overriding
+Automake rules is often inadvisable, particularly in the topmost
+directory of a package with subdirectories.  The `-Woverride' option
+(*note Invoking Automake::) comes handy to catch overridden definitions.
+
+   Note that Automake does not make any difference between rules with
+commands and rules that only specify dependencies.  So it is not
+possible to append new dependencies to an `automake'-defined target
+without redefining the entire rule.
+
+   However, various useful targets have a `-local' version you can
+specify in your `Makefile.am'.  Automake will supplement the standard
+target with these user-supplied targets.
+
+   The targets that support a local version are `all', `info', `dvi',
+`ps', `pdf', `html', `check', `install-data', `install-exec',
+`uninstall', `installdirs', `installcheck' and the various `clean'
+targets (`mostlyclean', `clean', `distclean', and `maintainer-clean').
+
+   Note that there are no `uninstall-exec-local' or
+`uninstall-data-local' targets; just use `uninstall-local'.  It doesn't
+make sense to uninstall just data or just executables.
+
+   For instance, here is one way to erase a subdirectory during `make
+clean' (*note Clean::).
+
+     clean-local:
+             -rm -rf testSubDir
+
+   Older version of this manual used to show how to use
+`install-data-local' to install a file to some hard-coded location, but
+you should avoid this.  (*note Hard-Coded Install Paths::)
+
+   Some rule also have a way to run another rule, called a "hook",
+after their work is done.  The hook is named after the principal target,
+with `-hook' appended.  The targets allowing hooks are `install-data',
+`install-exec', `uninstall', `dist', and `distcheck'.  
+
+   For instance, here is how to create a hard link to an installed
+program:
+
+     install-exec-hook:
+             ln $(DESTDIR)$(bindir)/program$(EXEEXT) \
+                $(DESTDIR)$(bindir)/proglink$(EXEEXT)
+
+   Although cheaper and more portable than symbolic links, hard links
+will not work everywhere (for instance, OS/2 does not have `ln').
+Ideally you should fall back to `cp -p' when `ln' does not work.  An
+easy way, if symbolic links are acceptable to you, is to add
+`AC_PROG_LN_S' to `configure.ac' (*note Particular Program Checks:
+(autoconf)Particular Programs.) and use `$(LN_S)' in `Makefile.am'.
+
+   For instance, here is how you could install a versioned copy of a
+program using `$(LN_S)':
+
+     install-exec-hook:
+             cd $(DESTDIR)$(bindir) && \
+               mv -f prog$(EXEEXT) prog-$(VERSION)$(EXEEXT) && \
+               $(LN_S) prog-$(VERSION)$(EXEEXT) prog$(EXEEXT)
+
+   Note that we rename the program so that a new version will erase the
+symbolic link, not the real binary.  Also we `cd' into the destination
+directory in order to create relative links.
+
+   When writing `install-exec-hook' or `install-data-hook', please bear
+in mind that the exec/data distinction is based on the installation
+directory, not on the primary used (*note Install::).  So a
+`foo_SCRIPTS' will be installed by `install-data', and a
+`barexec_SCRIPTS' will be installed by `install-exec'.  You should
+define your hooks consequently.
+
+
+File: automake.info,  Node: Third-Party Makefiles,  Prev: Extending,  Up: Not Enough
+
+22.2 Third-Party `Makefile's
+============================
+
+In most projects all `Makefile's are generated by Automake.  In some
+cases, however, projects need to embed subdirectories with handwritten
+`Makefile's.  For instance, one subdirectory could be a third-party
+project with its own build system, not using Automake.
+
+   It is possible to list arbitrary directories in `SUBDIRS' or
+`DIST_SUBDIRS' provided each of these directories has a `Makefile' that
+recognizes all the following recursive targets.
+
+   When a user runs one of these targets, that target is run recursively
+in all subdirectories.  This is why it is important that even
+third-party `Makefile's support them.
+
+`all'
+     Compile the entire package.  This is the default target in
+     Automake-generated `Makefile's, but it does not need to be the
+     default in third-party `Makefile's.
+
+`distdir'
+     Copy files to distribute into `$(distdir)', before a tarball is
+     constructed.  Of course this target is not required if the
+     `no-dist' option (*note Options::) is used.
+
+     The variables `$(top_distdir)' and `$(distdir)' (*note Dist::)
+     will be passed from the outer package to the subpackage when the
+     `distdir' target is invoked.  These two variables have been
+     adjusted for the directory that is being recursed into, so they
+     are ready to use.
+
+`install'
+`install-data'
+`install-exec'
+`uninstall'
+     Install or uninstall files (*note Install::).
+
+`install-info'
+     Install only the Texinfo documentation (*note Texinfo::).
+
+`installdirs'
+     Create install directories, but do not install any files.
+
+`check'
+`installcheck'
+     Check the package (*note Tests::).
+
+`mostlyclean'
+`clean'
+`distclean'
+`maintainer-clean'
+     Cleaning rules (*note Clean::).
+
+`dvi'
+`pdf'
+`ps'
+`info'
+`html'
+     Build the documentation in various formats (*note Texinfo::).
+
+`tags'
+`ctags'
+     Build `TAGS' and `CTAGS' (*note Tags::).
+
+   If you have ever used Gettext in a project, this is a good example of
+how third-party `Makefile's can be used with Automake.  The `Makefile's
+`gettextize' puts in the `po/' and `intl/' directories are handwritten
+`Makefile's that implement all these targets.  That way they can be
+added to `SUBDIRS' in Automake packages.
+
+   Directories that are only listed in `DIST_SUBDIRS' but not in
+`SUBDIRS' need only the `distclean', `maintainer-clean', and `distdir'
+rules (*note Conditional Subdirectories::).
+
+   Usually, many of these rules are irrelevant to the third-party
+subproject, but they are required for the whole package to work.  It's
+OK to have a rule that does nothing, so if you are integrating a
+third-party project with no documentation or tag support, you could
+simply augment its `Makefile' as follows:
+
+     EMPTY_AUTOMAKE_TARGETS = dvi pdf ps info html tags ctags
+     .PHONY: $(EMPTY_AUTOMAKE_TARGETS)
+     $(EMPTY_AUTOMAKE_TARGETS):
+
+   Another aspect of integrating third-party build systems is whether
+they support VPATH builds.  Obviously if the subpackage does not
+support VPATH builds the whole package will not support VPATH builds.
+This in turns means that `make distcheck' will not work, because it
+relies on VPATH builds.  Some people can live without this (actually,
+many Automake users have never heard of `make distcheck').  Other
+people may prefer to revamp the existing `Makefile's to support VPATH.
+Doing so does not necessarily require Automake, only Autoconf is needed
+(*note Build Directories: (autoconf)Build Directories.).  The necessary
+substitutions: `@scrdir@', `@top_srcdir@', and `@top_builddir@' are
+defined by `configure' when it processes a `Makefile' (*note Preset
+Output Variables: (autoconf)Preset Output Variables.), they are not
+computed by the Makefile like the aforementioned `$(distdir)' and
+`$(top_distdir)' variables..
+
+   It is sometimes inconvenient to modify a third-party `Makefile' to
+introduce the above required targets.  For instance, one may want to
+keep the third-party sources untouched to ease upgrades to new versions.
+
+   Here are two other ideas.  If GNU make is assumed, one possibility is
+to add to that subdirectory a `GNUmakefile' that defines the required
+targets and include the third-party `Makefile'.  For this to work in
+VPATH builds, `GNUmakefile' must lie in the build directory; the
+easiest way to do this is to write a `GNUmakefile.in' instead, and have
+it processed with `AC_CONFIG_FILES' from the outer package.  For
+example if we assume `Makefile' defines all targets except the
+documentation targets, and that the `check' target is actually called
+`test', we could write `GNUmakefile' (or `GNUmakefile.in') like this:
+
+     # First, include the real Makefile
+     include Makefile
+     # Then, define the other targets needed by Automake Makefiles.
+     .PHONY: dvi pdf ps info html check
+     dvi pdf ps info html:
+     check: test
+
+   A similar idea that does not use `include' is to write a proxy
+`Makefile' that dispatches rules to the real `Makefile', either with
+`$(MAKE) -f Makefile.real $(AM_MAKEFLAGS) target' (if it's OK to rename
+the original `Makefile') or with `cd subdir && $(MAKE) $(AM_MAKEFLAGS)
+target' (if it's OK to store the subdirectory project one directory
+deeper).  The good news is that this proxy `Makefile' can be generated
+with Automake.  All we need are `-local' targets (*note Extending::)
+that perform the dispatch.  Of course the other Automake features are
+available, so you could decide to let Automake perform distribution or
+installation.  Here is a possible `Makefile.am':
+
+     all-local:
+             cd subdir && $(MAKE) $(AM_MAKEFLAGS) all
+     check-local:
+             cd subdir && $(MAKE) $(AM_MAKEFLAGS) test
+     clean-local:
+             cd subdir && $(MAKE) $(AM_MAKEFLAGS) clean
+
+     # Assuming the package knows how to install itself
+     install-data-local:
+             cd subdir && $(MAKE) $(AM_MAKEFLAGS) install-data
+     install-exec-local:
+             cd subdir && $(MAKE) $(AM_MAKEFLAGS) install-exec
+     uninstall-local:
+             cd subdir && $(MAKE) $(AM_MAKEFLAGS) uninstall
+
+     # Distribute files from here.
+     EXTRA_DIST = subdir/Makefile subdir/program.c ...
+
+   Pushing this idea to the extreme, it is also possible to ignore the
+subproject build system and build everything from this proxy
+`Makefile.am'.  This might sounds very sensible if you need VPATH
+builds but the subproject does not support them.
+
+
+File: automake.info,  Node: Distributing,  Next: API versioning,  Prev: Not Enough,  Up: Top
+
+23 Distributing `Makefile.in's
+******************************
+
+Automake places no restrictions on the distribution of the resulting
+`Makefile.in's.  We still encourage software authors to distribute
+their work under terms like those of the GPL, but doing so is not
+required to use Automake.
+
+   Some of the files that can be automatically installed via the
+`--add-missing' switch do fall under the GPL.  However, these also have
+a special exception allowing you to distribute them with your package,
+regardless of the licensing you choose.
+
+
+File: automake.info,  Node: API versioning,  Next: Upgrading,  Prev: Distributing,  Up: Top
+
+24 Automake API versioning
+**************************
+
+New Automake releases usually include bug fixes and new features.
+Unfortunately they may also introduce new bugs and incompatibilities.
+This makes four reasons why a package may require a particular Automake
+version.
+
+   Things get worse when maintaining a large tree of packages, each one
+requiring a different version of Automake.  In the past, this meant that
+any developer (and sometime users) had to install several versions of
+Automake in different places, and switch `$PATH' appropriately for each
+package.
+
+   Starting with version 1.6, Automake installs versioned binaries.
+This means you can install several versions of Automake in the same
+`$prefix', and can select an arbitrary Automake version by running
+`automake-1.6' or `automake-1.7' without juggling with `$PATH'.
+Furthermore, `Makefile''s generated by Automake 1.6 will use
+`automake-1.6' explicitly in their rebuild rules.
+
+   The number `1.6' in `automake-1.6' is Automake's API version, not
+Automake's version.  If a bug fix release is made, for instance
+Automake 1.6.1, the API version will remain 1.6.  This means that a
+package that works with Automake 1.6 should also work with 1.6.1; after
+all, this is what people expect from bug fix releases.
+
+   If your package relies on a feature or a bug fix introduced in a
+release, you can pass this version as an option to Automake to ensure
+older releases will not be used.  For instance, use this in your
+`configure.ac':
+
+       AM_INIT_AUTOMAKE(1.6.1)    dnl Require Automake 1.6.1 or better.
+   or, in a particular `Makefile.am':
+
+       AUTOMAKE_OPTIONS = 1.6.1   # Require Automake 1.6.1 or better.
+   Automake will print an error message if its version is older than
+the requested version.
+
+What is in the API
+==================
+
+Automake's programming interface is not easy to define.  Basically it
+should include at least all *documented* variables and targets that a
+`Makefile.am' author can use, any behavior associated with them (e.g.,
+the places where `-hook''s are run), the command line interface of
+`automake' and `aclocal', ...
+
+What is not in the API
+======================
+
+Every undocumented variable, target, or command line option, is not part
+of the API.  You should avoid using them, as they could change from one
+version to the other (even in bug fix releases, if this helps to fix a
+bug).
+
+   If it turns out you need to use such a undocumented feature, contact
+<automake@gnu.org> and try to get it documented and exercised by the
+test-suite.
+
+
+File: automake.info,  Node: Upgrading,  Next: FAQ,  Prev: API versioning,  Up: Top
+
+25 Upgrading a Package to a Newer Automake Version
+**************************************************
+
+Automake maintains three kind of files in a package.
+
+   * `aclocal.m4'
+
+   * `Makefile.in's
+
+   * auxiliary tools like `install-sh' or `py-compile'
+
+   `aclocal.m4' is generated by `aclocal' and contains some
+Automake-supplied M4 macros.  Auxiliary tools are installed by
+`automake --add-missing' when needed.  `Makefile.in's are built from
+`Makefile.am' by `automake', and rely on the definitions of the M4
+macros put in `aclocal.m4' as well as the behavior of the auxiliary
+tools installed.
+
+   Because all these files are closely related, it is important to
+regenerate all of them when upgrading to a newer Automake release.  The
+usual way to do that is
+
+     aclocal # with any option needed (such a -I m4)
+     autoconf
+     automake --add-missing --force-missing
+
+or more conveniently:
+
+     autoreconf -vfi
+
+   The use of `--force-missing' ensures that auxiliary tools will be
+overridden by new versions (*note Invoking Automake::).
+
+   It is important to regenerate all these files each time Automake is
+upgraded, even between bug fixes releases.  For instance, it is not
+unusual for a bug fix to involve changes to both the rules generated in
+`Makefile.in' and the supporting M4 macros copied to `aclocal.m4'.
+
+   Presently `automake' is able to diagnose situations where
+`aclocal.m4' has been generated with another version of `aclocal'.
+However it never checks whether auxiliary scripts are up-to-date.  In
+other words, `automake' will tell you when `aclocal' needs to be rerun,
+but it will never diagnose a missing `--force-missing'.
+
+   Before upgrading to a new major release, it is a good idea to read
+the file `NEWS'.  This file lists all changes between releases: new
+features, obsolete constructs, known incompatibilities, and workarounds.
+
+
+File: automake.info,  Node: FAQ,  Next: History,  Prev: Upgrading,  Up: Top
+
+26 Frequently Asked Questions about Automake
+********************************************
+
+This chapter covers some questions that often come up on the mailing
+lists.
+
+* Menu:
+
+* CVS::                         CVS and generated files
+* maintainer-mode::             missing and AM_MAINTAINER_MODE
+* wildcards::                   Why doesn't Automake support wildcards?
+* distcleancheck::              Files left in build directory after distclean
+* Flag Variables Ordering::     CFLAGS vs. AM_CFLAGS vs. mumble_CFLAGS
+* renamed objects::             Why are object files sometimes renamed?
+* Per-Object Flags::            How to simulate per-object flags?
+* Multiple Outputs::            Writing rules for tools with many output files
+* Hard-Coded Install Paths::    Installing to Hard-Coded Locations
+
+
+File: automake.info,  Node: CVS,  Next: maintainer-mode,  Up: FAQ
+
+26.1 CVS and generated files
+============================
+
+26.1.1 Background: distributed generated files
+----------------------------------------------
+
+Packages made with Autoconf and Automake ship with some generated files
+like `configure' or `Makefile.in'.  These files were generated on the
+developer's host and are distributed so that end-users do not have to
+install the maintainer tools required to rebuild them.  Other generated
+files like Lex scanners, Yacc parsers, or Info documentation, are
+usually distributed on similar grounds.
+
+   Automake outputs rules in `Makefile's to rebuild these files.  For
+instance, `make' will run `autoconf' to rebuild `configure' whenever
+`configure.ac' is changed.  This makes development safer by ensuring a
+`configure' is never out-of-date with respect to `configure.ac'.
+
+   As generated files shipped in packages are up-to-date, and because
+`tar' preserves times-tamps, these rebuild rules are not triggered when
+a user unpacks and builds a package.
+
+26.1.2 Background: CVS and timestamps
+-------------------------------------
+
+Unless you use CVS keywords (in which case files must be updated at
+commit time), CVS preserves timestamp during `cvs commit' and `cvs
+import -d' operations.
+
+   When you check out a file using `cvs checkout' its timestamp is set
+to that of the revision that is being checked out.
+
+   However, during `cvs update', files will have the date of the
+update, not the original timestamp of this revision.  This is meant to
+make sure that `make' notices sources files have been updated.
+
+   This timestamp shift is troublesome when both sources and generated
+files are kept under CVS.  Because CVS processes files in alphabetical
+order, `configure.ac' will appear older than `configure' after a `cvs
+update' that updates both files, even if `configure' was newer than
+`configure.ac' when it was checked in.  Calling `make' will then
+trigger a spurious rebuild of `configure'.
+
+26.1.3 Living with CVS in Autoconfiscated projects
+--------------------------------------------------
+
+There are basically two clans amongst maintainers: those who keep all
+distributed files under CVS, including generated files, and those who
+keep generated files _out_ of CVS.
+
+All files in CVS
+................
+
+   * The CVS repository contains all distributed files so you know
+     exactly what is distributed, and you can checkout any prior
+     version entirely.
+
+   * Maintainers can see how generated files evolve (for instance, you
+     can see what happens to your `Makefile.in's when you upgrade
+     Automake and make sure they look OK).
+
+   * Users do not need the autotools to build a checkout of the
+     project, it works just like a released tarball.
+
+   * If users use `cvs update' to update their copy, instead of `cvs
+     checkout' to fetch a fresh one, timestamps will be inaccurate.
+     Some rebuild rules will be triggered and attempt to run developer
+     tools such as `autoconf' or `automake'.
+
+     Actually, calls to such tools are all wrapped into a call to the
+     `missing' script discussed later (*note maintainer-mode::).
+     `missing' will take care of fixing the timestamps when these tools
+     are not installed, so that the build can continue.
+
+   * In distributed development, developers are likely to have different
+     version of the maintainer tools installed.  In this case rebuilds
+     triggered by timestamp lossage will lead to spurious changes to
+     generated files.  There are several solutions to this:
+
+        * All developers should use the same versions, so that the
+          rebuilt files are identical to files in CVS.  (This starts to
+          be difficult when each project you work on uses different
+          versions.)
+
+        * Or people use a script to fix the timestamp after a checkout
+          (the GCC folks have such a script).
+
+        * Or `configure.ac' uses `AM_MAINTAINER_MODE', which will
+          disable all these rebuild rules by default.  This is further
+          discussed in *Note maintainer-mode::.
+
+   * Although we focused on spurious rebuilds, the converse can also
+     happen.  CVS's timestamp handling can also let you think an
+     out-of-date file is up-to-date.
+
+     For instance, suppose a developer has modified `Makefile.am' and
+     has rebuilt `Makefile.in'.  He then decide to do a last-minute
+     change to `Makefile.am' right before checking in both files
+     (without rebuilding `Makefile.in' to account for the change).
+
+     This last change to `Makefile.am' make the copy of `Makefile.in'
+     out-of-date.  Since CVS processes files alphabetically, when
+     another developer `cvs update' his or her tree, `Makefile.in' will
+     happen to be newer than `Makefile.am'.  This other developer will
+     not see `Makefile.in' is out-of-date.
+
+
+Generated files out of CVS
+..........................
+
+One way to get CVS and `make' working peacefully is to never store
+generated files in CVS, i.e., do not CVS-control files that are
+`Makefile' targets (also called _derived_ files).
+
+   This way developers are not annoyed by changes to generated files.
+It does not matter if they all have different versions (assuming they
+are compatible, of course).  And finally, timestamps are not lost,
+changes to sources files can't be missed as in the
+`Makefile.am'/`Makefile.in' example discussed earlier.
+
+   The drawback is that the CVS repository is not an exact copy of what
+is distributed and that users now need to install various development
+tools (maybe even specific versions) before they can build a checkout.
+But, after all, CVS's job is versioning, not distribution.
+
+   Allowing developers to use different versions of their tools can also
+hide bugs during distributed development.  Indeed, developers will be
+using (hence testing) their own generated files, instead of the
+generated files that will be released actually.  The developer who
+prepares the tarball might be using a version of the tool that produces
+bogus output (for instance a non-portable C file), something other
+developers could have noticed if they weren't using their own versions
+of this tool.
+
+26.1.4 Third-party files
+------------------------
+
+Another class of files not discussed here (because they do not cause
+timestamp issues) are files that are shipped with a package, but
+maintained elsewhere.  For instance, tools like `gettextize' and
+`autopoint' (from Gettext) or `libtoolize' (from Libtool), will install
+or update files in your package.
+
+   These files, whether they are kept under CVS or not, raise similar
+concerns about version mismatch between developers' tools.  The Gettext
+manual has a section about this, see *Note CVS Issues: (gettext)CVS
+Issues.
+
+
+File: automake.info,  Node: maintainer-mode,  Next: wildcards,  Prev: CVS,  Up: FAQ
+
+26.2 `missing' and `AM_MAINTAINER_MODE'
+=======================================
+
+26.2.1 `missing'
+----------------
+
+The `missing' script is a wrapper around several maintainer tools,
+designed to warn users if a maintainer tool is required but missing.
+Typical maintainer tools are `autoconf', `automake', `bison', etc.
+Because file generated by these tools are shipped with the other
+sources of a package, these tools shouldn't be required during a user
+build and they are not checked for in `configure'.
+
+   However, if for some reason a rebuild rule is triggered and involves
+a missing tool, `missing' will notice it and warn the user.  Besides
+the warning, when a tool is missing, `missing' will attempt to fix
+timestamps in a way that allows the build to continue.  For instance,
+`missing' will touch `configure' if `autoconf' is not installed.  When
+all distributed files are kept under CVS, this feature of `missing'
+allows user _with no maintainer tools_ to build a package off CVS,
+bypassing any timestamp inconsistency implied by `cvs update'.
+
+   If the required tool is installed, `missing' will run it and won't
+attempt to continue after failures.  This is correct during
+development: developers love fixing failures.  However, users with
+wrong versions of maintainer tools may get an error when the rebuild
+rule is spuriously triggered, halting the build.  This failure to let
+the build continue is one of the arguments of the `AM_MAINTAINER_MODE'
+advocates.
+
+26.2.2 `AM_MAINTAINER_MODE'
+---------------------------
+
+`AM_MAINTAINER_MODE' disables the so called "rebuild rules" by default.
+If you have `AM_MAINTAINER_MODE' in `configure.ac', and run
+`./configure && make', then `make' will *never* attempt to rebuilt
+`configure', `Makefile.in's, Lex or Yacc outputs, etc.  I.e., this
+disables build rules for files that are usually distributed and that
+users should normally not have to update.
+
+   If you run `./configure --enable-maintainer-mode', then these
+rebuild rules will be active.
+
+   People use `AM_MAINTAINER_MODE' either because they do want their
+users (or themselves) annoyed by timestamps lossage (*note CVS::), or
+because they simply can't stand the rebuild rules and prefer running
+maintainer tools explicitly.
+
+   `AM_MAINTAINER_MODE' also allows you to disable some custom build
+rules conditionally.  Some developers use this feature to disable rules
+that need exotic tools that users may not have available.
+
+   Several years ago Franc,ois Pinard pointed out several arguments
+against this `AM_MAINTAINER_MODE' macro.  Most of them relate to
+insecurity.  By removing dependencies you get non-dependable builds:
+change to sources files can have no effect on generated files and this
+can be very confusing when unnoticed.  He adds that security shouldn't
+be reserved to maintainers (what `--enable-maintainer-mode' suggests),
+on the contrary.  If one user has to modify a `Makefile.am', then
+either `Makefile.in' should be updated or a warning should be output
+(this is what Automake uses `missing' for) but the last thing you want
+is that nothing happens and the user doesn't notice it (this is what
+happens when rebuild rules are disabled by `AM_MAINTAINER_MODE').
+
+   Jim Meyering, the inventor of the `AM_MAINTAINER_MODE' macro was
+swayed by Franc,ois's arguments, and got rid of `AM_MAINTAINER_MODE' in
+all of his packages.
+
+   Still many people continue to use `AM_MAINTAINER_MODE', because it
+helps them working on projects where all files are kept under CVS, and
+because `missing' isn't enough if you have the wrong version of the
+tools.
+
+
+File: automake.info,  Node: wildcards,  Next: distcleancheck,  Prev: maintainer-mode,  Up: FAQ
+
+26.3 Why doesn't Automake support wildcards?
+============================================
+
+Developers are lazy.  They often would like to use wildcards in
+`Makefile.am's, so they don't need to remember they have to update
+`Makefile.am's every time they add, delete, or rename a file.
+
+   There are several objections to this:
+   * When using CVS (or similar) developers need to remember they have
+     to run `cvs add' or `cvs rm' anyway.  Updating `Makefile.am'
+     accordingly quickly becomes a reflex.
+
+     Conversely, if your application doesn't compile because you forgot
+     to add a file in `Makefile.am', it will help you remember to `cvs
+     add' it.
+
+   * Using wildcards makes easy to distribute files by mistake.  For
+     instance, some code a developer is experimenting with (a test case,
+     say) but that should not be part of the distribution.
+
+   * Using wildcards it's easy to omit some files by mistake.  For
+     instance, one developer creates a new file, uses it at many places,
+     but forget to commit it.  Another developer then checkout the
+     incomplete project and is able to run `make dist' successfully,
+     even though a file is missing.
+
+   * Listing files, you control *exactly* what you distribute.  If some
+     file that should be distributed is missing from your tree, `make
+     dist' will complain.  Besides, you don't distribute more than what
+     you listed.
+
+   * Finally it's really hard to `forget' adding a file to
+     `Makefile.am', because if you don't add it, it doesn't get
+     compiled nor installed, so you can't even test it.
+
+   Still, these are philosophical objections, and as such you may
+disagree, or find enough value in wildcards to dismiss all of them.
+Before you start writing a patch against Automake to teach it about
+wildcards, let's see the main technical issue: portability.
+
+   Although `$(wildcard ...)' works with GNU `make', it is not portable
+to other `make' implementations.
+
+   The only way Automake could support `$(wildcard ...)' is by
+expending `$(wildcard ...)' when `automake' is run.  Resulting
+`Makefile.in's would be portable since they would list all files and
+not use `$(wildcard ...)'.  However that means developers need to
+remember they must run `automake' each time they add, delete, or rename
+files.
+
+   Compared to editing `Makefile.am', this is really little win.  Sure,
+it's easier and faster to type `automake; make' than to type `emacs
+Makefile.am; make'.  But nobody bothered enough to write a patch add
+support for this syntax.  Some people use scripts to generated file
+lists in `Makefile.am' or in separate `Makefile' fragments.
+
+   Even if you don't care about portability, and are tempted to use
+`$(wildcard ...)' anyway because you target only GNU Make, you should
+know there are many places where Automake need to know exactly which
+files should be processed.  As Automake doesn't know how to expand
+`$(wildcard ...)', you cannot use it in these places.  `$(wildcard
+...)' is a black box comparable to `AC_SUBST'ed variables as far
+Automake is concerned.
+
+   You can get warnings about `$(wildcard ...') constructs using the
+`-Wportability' flag.
+
+
+File: automake.info,  Node: distcleancheck,  Next: Flag Variables Ordering,  Prev: wildcards,  Up: FAQ
+
+26.4 Files left in build directory after distclean
+==================================================
+
+This is a diagnostic you might encounter while running `make distcheck'.
+
+   As explained in *Note Dist::, `make distcheck' attempts to build and
+check your package for errors like this one.
+
+   `make distcheck' will perform a `VPATH' build of your package, and
+then call `make distclean'.  Files left in the build directory after
+`make distclean' has run are listed after this error.
+
+   This diagnostic really covers two kinds of errors:
+
+   * files that are forgotten by distclean;
+
+   * distributed files that are erroneously rebuilt.
+
+   The former left-over files are not distributed, so the fix is to mark
+them for cleaning (*note Clean::), this is obvious and doesn't deserve
+more explanations.
+
+   The latter bug is not always easy to understand and fix, so let's
+proceed with an example.  Suppose our package contains a program for
+which we want to build a man page using `help2man'.  GNU `help2man'
+produces simple manual pages from the `--help' and `--version' output
+of other commands (*note Overview: (help2man)Top.).  Because we don't
+to force want our users to install `help2man', we decide to distribute
+the generated man page using the following setup.
+
+     # This Makefile.am is bogus.
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+     dist_man_MANS = foo.1
+
+     foo.1: foo$(EXEEXT)
+             help2man --output=foo.1 ./foo$(EXEEXT)
+
+   This will effectively distribute the man page.  However, `make
+distcheck' will fail with:
+
+     ERROR: files left in build directory after distclean:
+     ./foo.1
+
+   Why was `foo.1' rebuilt?  Because although distributed, `foo.1'
+depends on a non-distributed built file: `foo$(EXEEXT)'.
+`foo$(EXEEXT)' is built by the user, so it will always appear to be
+newer than the distributed `foo.1'.
+
+   `make distcheck' caught an inconsistency in our package.  Our intent
+was to distribute `foo.1' so users do not need installing `help2man',
+however since this our rule causes this file to be always rebuilt,
+users _do_ need `help2man'.  Either we should ensure that `foo.1' is
+not rebuilt by users, or there is no point in distributing `foo.1'.
+
+   More generally, the rule is that distributed files should never
+depend on non-distributed built files.  If you distribute something
+generated, distribute its sources.
+
+   One way to fix the above example, while still distributing `foo.1'
+is to not depend on `foo$(EXEEXT)'.  For instance, assuming `foo
+--version' and `foo --help' do not change unless `foo.c' or
+`configure.ac' change, we could write the following `Makefile.am':
+
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c
+     dist_man_MANS = foo.1
+
+     foo.1: foo.c $(top_srcdir)/configure.ac
+             $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
+             help2man --output=foo.1 ./foo$(EXEEXT)
+
+   This way, `foo.1' will not get rebuilt every time `foo$(EXEEXT)'
+changes.  The `make' call makes sure `foo$(EXEEXT)' is up-to-date
+before `help2man'.  Another way to ensure this would be to use separate
+directories for binaries and man pages, and set `SUBDIRS' so that
+binaries are built before man pages.
+
+   We could also decide not to distribute `foo.1'.  In this case it's
+fine to have `foo.1' dependent upon `foo$(EXEEXT)', since both will
+have to be rebuilt.  However it would be impossible to build the
+package in a cross-compilation, because building `foo.1' involves an
+_execution_ of `foo$(EXEEXT)'.
+
+   Another context where such errors are common is when distributed
+files are built by tools that are built by the package.  The pattern is
+similar:
+
+     distributed-file: built-tools distributed-sources
+             build-command
+
+should be changed to
+
+     distributed-file: distributed-sources
+             $(MAKE) $(AM_MAKEFLAGS) built-tools
+             build-command
+
+or you could choose not to distribute `distributed-file', if
+cross-compilation does not matter.
+
+   The points made through these examples are worth a summary:
+
+   * Distributed files should never depend upon non-distributed built
+     files.
+
+   * Distributed files should be distributed will all their
+     dependencies.
+
+   * If a file is _intended_ be rebuilt by users, there is no point in
+     distributing it.
+
+   For desperate cases, it's always possible to disable this check by
+setting `distcleancheck_listfiles' as documented in *Note Dist::.  Make
+sure you do understand the reason why `make distcheck' complains before
+you do this.  `distcleancheck_listfiles' is a way to _hide_ errors, not
+to fix them.  You can always do better.
+
+
+File: automake.info,  Node: Flag Variables Ordering,  Next: renamed objects,  Prev: distcleancheck,  Up: FAQ
+
+26.5 Flag Variables Ordering
+============================
+
+     What is the difference between `AM_CFLAGS', `CFLAGS', and
+     `mumble_CFLAGS'?
+
+     Why does `automake' output `CPPFLAGS' after
+     `AM_CPPFLAGS' on compile lines?  Shouldn't it be the converse?
+
+     My `configure' adds some warning flags into `CXXFLAGS'.  In
+     one `Makefile.am' I would like to append a new flag, however if I
+     put the flag into `AM_CXXFLAGS' it is prepended to the other
+     flags, not appended.
+
+26.5.1 Compile Flag Variables
+-----------------------------
+
+This section attempts to answer all the above questions.  We will
+mostly discuss `CPPFLAGS' in our examples, but actually the answer
+holds for all the compile flags used in Automake: `CCASFLAGS',
+`CFLAGS', `CPPFLAGS', `CXXFLAGS', `FCFLAGS', `FFLAGS', `GCJFLAGS',
+`LDFLAGS', `LFLAGS', `OBJCFLAGS', `RFLAGS', and `YFLAGS'.
+
+   `CPPFLAGS', `AM_CPPFLAGS', and `mumble_CPPFLAGS' are three variables
+that can be used to pass flags to the C preprocessor (actually these
+variables are also used for other languages like C++ or preprocessed
+Fortran).  `CPPFLAGS' is the user variable (*note User Variables::),
+`AM_CPPFLAGS' is the Automake variable, and `mumble_CPPFLAGS' is the
+variable specific to the `mumble' target (we call this a per-target
+variable, *note Program and Library Variables::).
+
+   Automake always uses two of these variables when compiling C sources
+files.  When compiling an object file for the `mumble' target, the
+first variable will be `mumble_CPPFLAGS' if it is defined, or
+`AM_CPPFLAGS' otherwise.  The second variable is always `CPPFLAGS'.
+
+   In the following example,
+
+     bin_PROGRAMS = foo bar
+     foo_SOURCES = xyz.c
+     bar_SOURCES = main.c
+     foo_CPPFLAGS = -DFOO
+     AM_CPPFLAGS = -DBAZ
+
+`xyz.o' will be compiled with `$(foo_CPPFLAGS) $(CPPFLAGS)', (because
+`xyz.o' is part of the `foo' target), while `main.o' will be compiled
+with `$(AM_CPPFLAGS) $(CPPFLAGS)' (because there is no per-target
+variable for target `bar').
+
+   The difference between `mumble_CPPFLAGS' and `AM_CPPFLAGS' being
+clear enough, let's focus on `CPPFLAGS'.  `CPPFLAGS' is a user
+variable, i.e., a variable that users are entitled to modify in order
+to compile the package.  This variable, like many others, is documented
+at the end of the output of `configure --help'.
+
+   For instance, someone who needs to add `/home/my/usr/include' to the
+C compiler's search path would configure a package with
+
+     ./configure CPPFLAGS='-I /home/my/usr/include'
+
+and this flag would be propagated to the compile rules of all
+`Makefile's.
+
+   It is also not uncommon to override a user variable at `make'-time.
+Many installers do this with `prefix', but this can be useful with
+compiler flags too.  For instance, if, while debugging a C++ project,
+you need to disable optimization in one specific object file, you can
+run something like
+
+     rm file.o
+     make CXXFLAGS=-O0 file.o
+     make
+
+   The reason `$(CPPFLAGS)' appears after `$(AM_CPPFLAGS)' or
+`$(mumble_CPPFLAGS)' in the compile command is that users should always
+have the last say.  It probably makes more sense if you think about it
+while looking at the `CXXFLAGS=-O0' above, which should supersede any
+other switch from `AM_CXXFLAGS' or `mumble_CXXFLAGS' (and this of
+course replaces the previous value of `CXXFLAGS').
+
+   You should never redefine a user variable such as `CPPFLAGS' in
+`Makefile.am'.  Use `automake -Woverride' to diagnose such mistakes.
+Even something like
+
+     CPPFLAGS = -DDATADIR=\"$(datadir)\" @CPPFLAGS@
+
+is erroneous.  Although this preserves `configure''s value of
+`CPPFLAGS', the definition of `DATADIR' will disappear if a user
+attempts to override `CPPFLAGS' from the `make' command line.
+
+     AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
+
+is all what is needed here if no per-target flags are used.
+
+   You should not add options to these user variables within
+`configure' either, for the same reason.  Occasionally you need to
+modify these variables to perform a test, but you should reset their
+values afterwards.  In contrast, it is OK to modify the `AM_' variables
+within `configure' if you `AC_SUBST' them, but it is rather rare that
+you need to do this, unless you really want to change the default
+definitions of the `AM_' variables in all `Makefile's.
+
+   What we recommend is that you define extra flags in separate
+variables.  For instance, you may write an Autoconf macro that computes
+a set of warning options for the C compiler, and `AC_SUBST' them in
+`WARNINGCFLAGS'; you may also have an Autoconf macro that determines
+which compiler and which linker flags should be used to link with
+library `libfoo', and `AC_SUBST' these in `LIBFOOCFLAGS' and
+`LIBFOOLDFLAGS'.  Then, a `Makefile.am' could use these variables as
+follows:
+
+     AM_CFLAGS = $(WARNINGCFLAGS)
+     bin_PROGRAMS = prog1 prog2
+     prog1_SOURCES = ...
+     prog2_SOURCES = ...
+     prog2_CFLAGS = $(LIBFOOCFLAGS) $(AM_CFLAGS)
+     prog2_LDFLAGS = $(LIBFOOLDFLAGS)
+
+   In this example both programs will be compiled with the flags
+substituted into `$(WARNINGCFLAGS)', and `prog2' will additionally be
+compiled with the flags required to link with `libfoo'.
+
+   Note that listing `AM_CFLAGS' in a per-target `CFLAGS' variable is a
+common idiom to ensure that `AM_CFLAGS' applies to every target in a
+`Makefile.in'.
+
+   Using variables like this gives you full control over the ordering of
+the flags.  For instance, if there is a flag in $(WARNINGCFLAGS) that
+you want to negate for a particular target, you can use something like
+`prog1_CFLAGS = $(AM_CFLAGS) -no-flag'.  If all these flags had been
+forcefully appended to `CFLAGS', there would be no way to disable one
+flag.  Yet another reason to leave user variables to users.
+
+   Finally, we have avoided naming the variable of the example
+`LIBFOO_LDFLAGS' (with an underscore) because that would cause Automake
+to think that this is actually a per-target variable (like
+`mumble_LDFLAGS') for some non-declared `LIBFOO' target.
+
+26.5.2 Other Variables
+----------------------
+
+There are other variables in Automake that follow similar principles to
+allow user options.  For instance, Texinfo rules (*note Texinfo::) use
+`MAKEINFOFLAGS' and `AM_MAKEINFOFLAGS'.  Similarly, DejaGnu tests
+(*note Tests::) use `RUNTESTDEFAULTFLAGS' and `AM_RUNTESTDEFAULTFLAGS'.
+The tags and ctags rules (*note Tags::) use `ETAGSFLAGS',
+`AM_ETAGSFLAGS', `CTAGSFLAGS', and `AM_CTAGSFLAGS'.  Java rules (*note
+Java::) use `JAVACFLAGS' and `AM_JAVACFLAGS'.  None of these rules do
+support per-target flags (yet).
+
+   To some extent, even `AM_MAKEFLAGS' (*note Subdirectories::) obeys
+this naming scheme.  The slight difference is that `MAKEFLAGS' is
+passed to sub-`make's implicitly by `make' itself.
+
+   However you should not think that all variables ending with `FLAGS'
+follow this convention.  For instance, `DISTCHECK_CONFIGURE_FLAGS'
+(*note Dist::), `ACLOCAL_AMFLAGS' (see *Note Rebuilding:: and *Note
+Local Macros::), are two variables that are only useful to the
+maintainer and have no user counterpart.
+
+   `ARFLAGS' (*note A Library::) is usually defined by Automake and has
+neither `AM_' nor per-target cousin.
+
+   Finally you should not think either that the existence of a
+per-target variable implies that of an `AM_' variable or that of a user
+variable.  For instance, the `mumble_LDADD' per-target variable
+overrides the global `LDADD' variable (which is not a user variable),
+and `mumble_LIBADD' exists only as a per-target variable.  *Note
+Program and Library Variables::.
+
+
+File: automake.info,  Node: renamed objects,  Next: Per-Object Flags,  Prev: Flag Variables Ordering,  Up: FAQ
+
+26.6 Why are object files sometimes renamed?
+============================================
+
+This happens when per-target compilation flags are used.  Object files
+need to be renamed just in case they would clash with object files
+compiled from the same sources, but with different flags.  Consider the
+following example.
+
+     bin_PROGRAMS = true false
+     true_SOURCES = generic.c
+     true_CPPFLAGS = -DEXIT_CODE=0
+     false_SOURCES = generic.c
+     false_CPPFLAGS = -DEXIT_CODE=1
+   Obviously the two programs are built from the same source, but it
+would be bad if they shared the same object, because `generic.o' cannot
+be built with both `-DEXIT_CODE=0' _and_ `-DEXIT_CODE=1'.  Therefore
+`automake' outputs rules to build two different objects:
+`true-generic.o' and `false-generic.o'.
+
+   `automake' doesn't actually look whether source files are shared to
+decide if it must rename objects.  It will just rename all objects of a
+target as soon as it sees per-target compilation flags are used.
+
+   It's OK to share object files when per-target compilation flags are
+not used.  For instance, `true' and `false' will both use `version.o'
+in the following example.
+
+     AM_CPPFLAGS = -DVERSION=1.0
+     bin_PROGRAMS = true false
+     true_SOURCES = true.c version.c
+     false_SOURCES = false.c version.c
+
+   Note that the renaming of objects is also affected by the
+`_SHORTNAME' variable (*note Program and Library Variables::).
+
+
+File: automake.info,  Node: Per-Object Flags,  Next: Multiple Outputs,  Prev: renamed objects,  Up: FAQ
+
+26.7 Per-Object Flags Emulation
+===============================
+
+     One of my source files needs to be compiled with different flags.  How
+     do I do?
+
+   Automake supports per-program and per-library compilation flags (see
+*Note Program and Library Variables:: and *Note Flag Variables
+Ordering::).  With this you can define compilation flags that apply to
+all files compiled for a target.  For instance, in
+
+     bin_PROGRAMS = foo
+     foo_SOURCES = foo.c foo.h bar.c bar.h main.c
+     foo_CFLAGS = -some -flags
+
+`foo-foo.o', `foo-bar.o', and `foo-main.o' will all be compiled with
+`-some -flags'.  (If you wonder about the names of these object files,
+see *Note renamed objects::.)  Note that `foo_CFLAGS' gives the flags
+to use when compiling all the C sources of the _program_ `foo', it has
+nothing to do with `foo.c' or `foo-foo.o' specifically.
+
+   What if `foo.c' needs to be compiled into `foo.o' using some
+specific flags, that none of the other files require?  Obviously
+per-program flags are not directly applicable here.  Something like
+per-object flags are expected, i.e., flags that would be used only when
+creating `foo-foo.o'.  Automake does not support that, however this is
+easy to simulate using a library that contains only that object, and
+compiling this library with per-library flags.
+
+     bin_PROGRAMS = foo
+     foo_SOURCES = bar.c bar.h main.c
+     foo_CFLAGS = -some -flags
+     foo_LDADD = libfoo.a
+     noinst_LIBRARIES = libfoo.a
+     libfoo_a_SOURCES = foo.c foo.h
+     libfoo_a_CFLAGS = -some -other -flags
+
+   Here `foo-bar.o' and `foo-main.o' will all be compiled with `-some
+-flags', while `libfoo_a-foo.o' will be compiled using `-some -other
+-flags'.  Eventually, all three objects will be linked to form `foo'.
+
+   This trick can also be achieved using Libtool convenience libraries,
+for instance `noinst_LTLIBRARIES = libfoo.la' (*note Libtool
+Convenience Libraries::).
+
+   Another tempting idea to implement per-object flags is to override
+the compile rules `automake' would output for these files.  Automake
+will not define a rule for a target you have defined, so you could
+think about defining the `foo-foo.o: foo.c' rule yourself.  We
+recommend against this, because this is error prone.  For instance, if
+you add such a rule to the first example, it will break the day you
+decide to remove `foo_CFLAGS' (because `foo.c' will then be compiled as
+`foo.o' instead of `foo-foo.o', *note renamed objects::).  Also in
+order to support dependency tracking, the two `.o'/`.obj' extensions,
+and all the other flags variables involved in a compilation, you will
+end up modifying a copy of the rule previously output by `automake' for
+this file.  If a new release of Automake generates a different rule,
+your copy will need to be updated by hand.
+
+
+File: automake.info,  Node: Multiple Outputs,  Next: Hard-Coded Install Paths,  Prev: Per-Object Flags,  Up: FAQ
+
+26.8 Handling Tools that Produce Many Outputs
+=============================================
+
+This section describes a `make' idiom that can be used when a tool
+produces multiple output files.  It is not specific to Automake and can
+be used in ordinary `Makefile's.
+
+   Suppose we have a program called `foo' that will read one file
+called `data.foo' and produce two files named `data.c' and `data.h'.
+We want to write a `Makefile' rule that captures this one-to-two
+dependency.
+
+   The naive rule is incorrect:
+
+     # This is incorrect.
+     data.c data.h: data.foo
+             foo data.foo
+
+What the above rule really says is that `data.c' and `data.h' each
+depend on `data.foo', and can each be built by running `foo data.foo'.
+In other words it is equivalent to:
+
+     # We do not want this.
+     data.c: data.foo
+             foo data.foo
+     data.h: data.foo
+             foo data.foo
+
+which means that `foo' can be run twice.  Usually it will not be run
+twice, because `make' implementations are smart enough to check for the
+existence of the second file after the first one has been built; they
+will therefore detect that it already exists.  However there are a few
+situations where it can run twice anyway:
+
+   * The most worrying case is when running a parallel `make'.  If
+     `data.c' and `data.h' are built in parallel, two `foo data.foo'
+     commands will run concurrently.  This is harmful.
+
+   * Another case is when the dependency (here `data.foo') is (or
+     depends upon) a phony target.
+
+   A solution that works with parallel `make' but not with phony
+dependencies is the following:
+
+     data.c data.h: data.foo
+             foo data.foo
+     data.h: data.c
+
+The above rules are equivalent to
+
+     data.c: data.foo
+             foo data.foo
+     data.h: data.foo data.c
+             foo data.foo
+   therefore a parallel `make' will have to serialize the builds of
+`data.c' and `data.h', and will detect that the second is no longer
+needed once the first is over.
+
+   Using this pattern is probably enough for most cases.  However it
+does not scale easily to more output files (in this scheme all output
+files must be totally ordered by the dependency relation), so we will
+explore a more complicated solution.
+
+   Another idea is to write the following:
+
+     # There is still a problem with this one.
+     data.c: data.foo
+             foo data.foo
+     data.h: data.c
+
+The idea is that `foo data.foo' is run only when `data.c' needs to be
+updated, but we further state that `data.h' depends upon `data.c'.
+That way, if `data.h' is required and `data.foo' is out of date, the
+dependency on `data.c' will trigger the build.
+
+   This is almost perfect, but suppose we have built `data.h' and
+`data.c', and then we erase `data.h'.  Then, running `make data.h' will
+not rebuild `data.h'.  The above rules just state that `data.c' must be
+up-to-date with respect to `data.foo', and this is already the case.
+
+   What we need is a rule that forces a rebuild when `data.h' is
+missing.  Here it is:
+
+     data.c: data.foo
+             foo data.foo
+     data.h: data.c
+     ## Recover from the removal of $@
+             @if test -f $@; then :; else \
+               rm -f data.c; \
+               $(MAKE) $(AM_MAKEFLAGS) data.c; \
+             fi
+
+   The above scheme can be extended to handle more outputs and more
+inputs.  One of the outputs is selected to serve as a witness to the
+successful completion of the command, it depends upon all inputs, and
+all other outputs depend upon it.  For instance, if `foo' should
+additionally read `data.bar' and also produce `data.w' and `data.x', we
+would write:
+
+     data.c: data.foo data.bar
+             foo data.foo data.bar
+     data.h data.w data.x: data.c
+     ## Recover from the removal of $@
+             @if test -f $@; then :; else \
+               rm -f data.c; \
+               $(MAKE) $(AM_MAKEFLAGS) data.c; \
+             fi
+
+   However there are now two minor problems in this setup.  One is
+related to the timestamp ordering of `data.h', `data.w', `data.x', and
+`data.c'.  The other one is a race condition if a parallel `make'
+attempts to run multiple instances of the recover block at once.
+
+   Let us deal with the first problem.  `foo' outputs four files, but
+we do not know in which order these files are created.  Suppose that
+`data.h' is created before `data.c'.  Then we have a weird situation.
+The next time `make' is run, `data.h' will appear older than `data.c',
+the second rule will be triggered, a shell will be started to execute
+the `if...fi' command, but actually it will just execute the `then'
+branch, that is: nothing.  In other words, because the witness we
+selected is not the first file created by `foo', `make' will start a
+shell to do nothing each time it is run.
+
+   A simple riposte is to fix the timestamps when this happens.
+
+     data.c: data.foo data.bar
+             foo data.foo data.bar
+     data.h data.w data.x: data.c
+             @if test -f $@; then \
+               touch $@; \
+             else \
+     ## Recover from the removal of $@
+               rm -f data.c; \
+               $(MAKE) $(AM_MAKEFLAGS) data.c; \
+             fi
+
+   Another solution is to use a different and dedicated file as witness,
+rather than using any of `foo''s outputs.
+
+     data.stamp: data.foo data.bar
+             @rm -f data.tmp
+             @touch data.tmp
+             foo data.foo data.bar
+             @mv -f data.tmp $@
+     data.c data.h data.w data.x: data.stamp
+     ## Recover from the removal of $@
+             @if test -f $@; then :; else \
+               rm -f data.stamp; \
+               $(MAKE) $(AM_MAKEFLAGS) data.stamp; \
+             fi
+
+   `data.tmp' is created before `foo' is run, so it has a timestamp
+older than output files output by `foo'.  It is then renamed to
+`data.stamp' after `foo' has run, because we do not want to update
+`data.stamp' if `foo' fails.
+
+   This solution still suffers from the second problem: the race
+condition in the recover rule.  If, after a successful build, a user
+erases `data.c' and `data.h', and runs `make -j', then `make' may start
+both recover rules in parallel.  If the two instances of the rule
+execute `$(MAKE) $(AM_MAKEFLAGS) data.stamp' concurrently the build is
+likely to fail (for instance, the two rules will create `data.tmp', but
+only one can rename it).
+
+   Admittedly, such a weird situation does not arise during ordinary
+builds.  It occurs only when the build tree is mutilated.  Here
+`data.c' and `data.h' have been explicitly removed without also
+removing `data.stamp' and the other output files.  `make clean; make'
+will always recover from these situations even with parallel makes, so
+you may decide that the recover rule is solely to help non-parallel
+make users and leave things as-is.  Fixing this requires some locking
+mechanism to ensure only one instance of the recover rule rebuilds
+`data.stamp'.  One could imagine something along the following lines.
+
+     data.c data.h data.w data.x: data.stamp
+     ## Recover from the removal of $@
+             @if test -f $@; then :; else \
+               trap 'rm -rf data.lock data.stamp 1 2 13 15; \
+     ## mkdir is a portable test-and-set
+               if mkdir data.lock 2>/dev/null; then \
+     ## This code is being executed by the first process.
+                 rm -f data.stamp; \
+                 $(MAKE) $(AM_MAKEFLAGS) data.stamp; \
+               else \
+     ## This code is being executed by the follower processes.
+     ## Wait until the first process is done.
+                 while test -d data.lock; do sleep 1; done; \
+     ## Succeed if and only if the first process succeeded.
+                 test -f data.stamp; exit $$?; \
+               fi; \
+             fi
+
+   Using a dedicated witness, like `data.stamp', is very handy when the
+list of output files is not known beforehand.  As an illustration,
+consider the following rules to compile many `*.el' files into `*.elc'
+files in a single command.  It does not matter how `ELFILES' is defined
+(as long as it is not empty: empty targets are not accepted by POSIX).
+
+     ELFILES = one.el two.el three.el ...
+     ELCFILES = $(ELFILES:=c)
+
+     elc-stamp: $(ELFILES)
+             @rm -f elc-temp
+             @touch elc-temp
+             $(elisp_comp) $(ELFILES)
+             @mv -f elc-temp $@
+
+     $(ELCFILES): elc-stamp
+     ## Recover from the removal of $@
+             @if test -f $@; then :; else \
+               trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
+               if mkdir elc-lock 2>/dev/null; then \
+     ## This code is being executed by the first process.
+                 rm -f elc-stamp; \
+                 $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
+                 rmdir elc-lock; \
+               else \
+     ## This code is being executed by the follower processes.
+     ## Wait until the first process is done.
+                 while test -d elc-lock; do sleep 1; done; \
+     ## Succeed if and only if the first process succeeded.
+                 test -f elc-stamp; exit $$?; \
+               fi; \
+             fi
+
+   For completeness it should be noted that GNU `make' is able to
+express rules with multiple output files using pattern rules (*note
+Pattern Rule Examples: (make)Pattern Examples.).  We do not discuss
+pattern rules here because they are not portable, but they can be
+convenient in packages that assume GNU `make'.
+
+
+File: automake.info,  Node: Hard-Coded Install Paths,  Prev: Multiple Outputs,  Up: FAQ
+
+26.9 Installing to Hard-Coded Locations
+=======================================
+
+     My package needs to install some configuration file.  I tried to use
+     the following rule, but `make distcheck' fails.  Why?
+          # Do not do this.
+          install-data-local:
+                  $(INSTALL_DATA) $(srcdir)/afile $(DESTDIR)/etc/afile
+
+     My package needs to populate the installation directory of another
+     package at install-time.  I can easily compute that installation
+     directory in `configure', but if I install files therein,
+     `make distcheck' fails.  How else should I do?
+
+   These two setups share their symptoms: `make distcheck' fails
+because they are installing files to hard-coded paths.  In the later
+case the path is not really hard-coded in the package, but we can
+consider it to be hard-coded in the system (or in whichever tool that
+supplies the path).  As long as the path does not use any of the
+standard directory variables (`$(prefix)', `$(bindir)', `$(datadir)',
+etc.), the effect will be the same: user-installations are impossible.
+
+   When a (non-root) user wants to install a package, he usually has no
+right to install anything in `/usr' or `/usr/local'.  So he does
+something like `./configure --prefix ~/usr' to install package in his
+own `~/usr' tree.
+
+   If a package attempts to install something to some hard-coded path
+(e.g., `/etc/afile'), regardless of this `--prefix' setting, then the
+installation will fail.  `make distcheck' performs such a `--prefix'
+installation, hence it will fail too.
+
+   Now, there are some easy solutions.
+
+   The above `install-data-local' example for installing `/etc/afile'
+would be better replaced by
+
+     sysconf_DATA = afile
+
+by default `sysconfdir' will be `$(prefix)/etc', because this is what
+the GNU Standards require.  When such a package is installed on a FHS
+compliant system, the installer will have to set `--sysconfdir=/etc'.
+As the maintainer of the package you should not be concerned by such
+site policies: use the appropriate standard directory variable to
+install your files so that installer can easily redefine these
+variables to match their site conventions.
+
+   Installing files that should be used by another package, is slightly
+more involved.  Let's take an example and assume you want to install
+shared library that is a Python extension module.  If you ask Python
+where to install the library, it will answer something like this:
+
+     % python -c 'from distutils import sysconfig;
+                  print sysconfig.get_python_lib(1,0)'
+     /usr/lib/python2.3/site-packages
+
+   If you indeed use this absolute path to install your shared library,
+non-root users will not be able to install the package, hence distcheck
+fails.
+
+   Let's do better.  The `sysconfig.get_python_lib()' function actually
+accepts a third argument that will replace Python's installation prefix.
+
+     % python -c 'from distutils import sysconfig;
+                  print sysconfig.get_python_lib(1,0,"${exec_prefix}")'
+     ${exec_prefix}/lib/python2.3/site-packages
+
+   You can also use this new path.  If you do
+   * root users can install your package with the same `--prefix' as
+     Python (you get the behavior of the previous attempt)
+
+   * non-root users can install your package too, they will have the
+     extension module in a place that is not searched by Python but they
+     can work around this using environment variables (and if you
+     installed scripts that use this shared library, it's easy to tell
+     Python were to look in the beginning of your script, so the script
+     works in both cases).
+
+   The `AM_PATH_PYTHON' macro uses similar commands to define
+`$(pythondir)' and `$(pyexecdir)' (*note Python::).
+
+   Of course not all tools are as advanced as Python regarding that
+substitution of PREFIX.  So another strategy is to figure the part of
+the of the installation directory that must be preserved.  For
+instance, here is how `AM_PATH_LISPDIR' (*note Emacs Lisp::) computes
+`$(lispdir)':
+
+     $EMACS -batch -q -eval '(while load-path
+       (princ (concat (car load-path) "\n"))
+       (setq load-path (cdr load-path)))' >conftest.out
+     lispdir=`sed -n
+       -e 's,/$,,'
+       -e '/.*\/lib\/x*emacs\/site-lisp$/{
+             s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;
+           }'
+       -e '/.*\/share\/x*emacs\/site-lisp$/{
+             s,.*/share/\(x*emacs/site-lisp\),${datadir}/\1,;p;q;
+           }'
+       conftest.out`
+
+   I.e., it just picks the first directory that looks like
+`*/lib/*emacs/site-lisp' or `*/share/*emacs/site-lisp' in the search
+path of emacs, and then substitutes `${libdir}' or `${datadir}'
+appropriately.
+
+   The emacs case looks complicated because it processes a list and
+expect two possible layouts, otherwise it's easy, and the benefit for
+non-root users are really worth the extra `sed' invocation.
+
+
+File: automake.info,  Node: History,  Next: Copying This Manual,  Prev: FAQ,  Up: Top
+
+27 History of Automake
+**********************
+
+This chapter presents various aspects of the history of Automake.  The
+exhausted reader can safely skip it; this will be more of interest to
+nostalgic people, or to those curious to learn about the evolution of
+Automake.
+
+* Menu:
+
+* Timeline::                    The Automake story.
+* Dependency Tracking Evolution::  Evolution of Automatic Dependency Tracking
+* Releases::                    Statistics about Automake Releases
+
Index: /trunk/essentials/sys-devel/automake-1.9/doc/automake.info-2
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/automake.info-2	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/automake.info-2	(revision 3089)
@@ -0,0 +1,2550 @@
+This is automake.info, produced by makeinfo version 4.7 from
+automake.texi.
+
+   This manual is for GNU Automake (version 1.9.6, 9 July 2005), a
+program that creates GNU standards-compliant Makefiles from template
+files.
+
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+2004, 2005 Free Software Foundation, Inc.
+
+     Permission is granted to copy, distribute and/or modify this
+     document under the terms of the GNU Free Documentation License,
+     Version 1.2 or any later version published by the Free Software
+     Foundation; with no Invariant Sections, with the Front-Cover texts
+     being "A GNU Manual," and with the Back-Cover Texts as in (a)
+     below.  A copy of the license is included in the section entitled
+     "GNU Free Documentation License."
+
+     (a) The FSF's Back-Cover Text is: "You have freedom to copy and
+     modify this GNU Manual, like GNU software.  Copies published by
+     the Free Software Foundation raise funds for GNU development."
+
+INFO-DIR-SECTION Software development
+START-INFO-DIR-ENTRY
+* automake: (automake).         Making Makefile.in's.
+END-INFO-DIR-ENTRY
+
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* aclocal: (automake)Invoking aclocal.          Generating aclocal.m4.
+END-INFO-DIR-ENTRY
+
+
+File: automake.info,  Node: Timeline,  Next: Dependency Tracking Evolution,  Up: History
+
+27.1 Timeline
+=============
+
+1994-09-19 First CVS commit.
+     If we can trust the CVS repository, David J. MacKenzie (djm)
+     started working on Automake (or AutoMake, as it was spelt then)
+     this Monday.
+
+     The first version of the `automake' script looks as follows.
+
+          #!/bin/sh
+
+          status=0
+
+          for makefile
+          do
+            if test ! -f ${makefile}.am; then
+              echo "automake: ${makefile}.am: No such honkin' file"
+              status=1
+              continue
+            fi
+
+            exec 4> ${makefile}.in
+
+          done
+
+     From this you can already see that Automake will be about reading
+     `*.am' file and producing `*.in' files.  You cannot see anything
+     else, but if you also know that David is the one who created
+     Autoconf two years before you can guess the rest.
+
+     Several commits follow, and by the end of the day Automake is
+     reported to work for GNU fileutils and GNU m4.
+
+     The modus operandi is the one that is still used today: variables
+     assignments in `Makefile.am' files trigger injections of precanned
+     `Makefile' fragments into the generated `Makefile.in'.  The use of
+     `Makefile' fragments was inspired by the 4.4BSD `make' and include
+     files, however Automake aims to be portable and to conform to the
+     GNU standards for `Makefile' variables and targets.
+
+     At this point, the most recent release of Autoconf is version 1.11,
+     and David is preparing to release Autoconf 2.0 in late October.
+     As a matter of fact, he will barely touch Automake after September.
+
+1994-11-05 David MacKenzie's last commit.
+     At this point Automake is a 200 line portable shell script, plus
+     332 lines of `Makefile' fragments.  In the `README', David states
+     his ambivalence between "portable shell" and "more appropriate
+     language":
+
+          I wrote it keeping in mind the possibility of it becoming an
+          Autoconf macro, so it would run at configure-time.  That
+          would slow configuration down a bit, but allow users to
+          modify the Makefile.am without needing to fetch the AutoMake
+          package.  And, the Makefile.in files wouldn't need to be
+          distributed.  But all of AutoMake would.  So I might
+          reimplement AutoMake in Perl, m4, or some other more
+          appropriate language.
+
+     Automake is described as "an experimental Makefile generator".
+     There is no documentation.  Adventurous users are referred to the
+     examples and patches needed to use Automake with GNU m4 1.3,
+     fileutils 3.9, time 1.6, and development versions of find and
+     indent.
+
+     These examples seem to have been lost.  However at the time of
+     writing (10 years later in September, 2004) the FSF still
+     distributes a package that uses this version of Automake: check
+     out GNU termutils 2.0.
+
+1995-11-12 Tom Tromey's first commit.
+     After one year of inactivity, Tom Tromey takes over the package.
+     Tom was working on GNU cpio back then, and doing this just for fun,
+     having trouble finding a project to contribute to.  So while
+     hacking he wanted to bring the `Makefile.in' up to GNU standards.
+     This was hard, and one day he saw Automake on
+     `ftp://alpha.gnu.org/', grabbed it and tried it out.
+
+     Tom didn't talk to djm about it until later, just to make sure he
+     didn't mind if he made a release.  He did a bunch of early
+     releases to the Gnits folks.
+
+     Gnits was (and still is) totally informal, just a few GNU friends
+     who Franc,ois Pinard knew, who were all interested in making a
+     common infrastructure for GNU projects, and shared a similar
+     outlook on how to do it.  So they were able to make some progress.
+     It came along with Autoconf and extensions thereof, and then
+     Automake from David and Tom (who were both gnitsians).  One of
+     their ideas was to write a document paralleling the GNU standards,
+     that was more strict in some ways and more detailed.  They never
+     finished the GNITS standards, but the ideas mostly made their way
+     into Automake.
+
+1995-11-23 Automake 0.20
+     Besides introducing automatic dependency tracking (*note
+     Dependency Tracking Evolution::), this version also supplies a
+     9-page manual.
+
+     At this time `aclocal' and `AM_INIT_AUTOMAKE' did not exist, so
+     many things had to be done by hand.  For instance, here is what a
+     configure.in (this is the former name of the `configure.ac' we use
+     today) must contain in order to use Automake 0.20:
+
+          PACKAGE=cpio
+          VERSION=2.3.911
+          AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+          AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+          AC_SUBST(PACKAGE)
+          AC_SUBST(VERSION)
+          AC_ARG_PROGRAM
+          AC_PROG_INSTALL
+
+     (Today all of the above is achieved by `AC_INIT' and
+     `AM_INIT_AUTOMAKE'.)
+
+     Here is how programs are specified in `Makefile.am':
+
+          PROGRAMS = hello
+          hello_SOURCES = hello.c
+
+     This looks pretty much like what we do today, except the
+     `PROGRAMS' variable has no directory prefix specifying where
+     `hello' should be installed: all programs are installed in
+     `$(bindir)'.  `LIBPROGRAMS' can be used to specify programs that
+     must be built but not installed (it is called `noinst_PROGRAMS'
+     nowadays).
+
+     Programs can be built conditionally using `AC_SUBST'itutions:
+
+          PROGRAMS = @progs@
+          AM_PROGRAMS = foo bar baz
+
+     (`AM_PROGRAMS' has since then been renamed to `EXTRA_PROGRAMS'.)
+
+     Similarly scripts, static libraries, and data can built and
+     installed using the `LIBRARIES', `SCRIPTS', and `DATA' variables.
+     However `LIBRARIES' were treated a bit specially in that Automake
+     did automatically supply the `lib' and `.a' prefixes.  Therefore
+     to build `libcpio.a', one had to write
+
+          LIBRARIES = cpio
+          cpio_SOURCES = ...
+
+     Extra files to distribute must be listed in `DIST_OTHER' (the
+     ancestor of `EXTRA_DIST').  Also extra directories that are to be
+     distributed should appear in `DIST_SUBDIRS', but the manual
+     describes this as a temporary ugly hack (today extra directories
+     should also be listed in `EXTRA_DIST', and `DIST_SUBDIRS' is used
+     for another purpose, *note Conditional Subdirectories::).
+
+1995-11-26 Automake 0.21
+     In less time that it takes to cook a frozen pizza, Tom rewrites
+     Automake using Perl.  At this time Perl 5 is only one year old, and
+     Perl 4.036 is in use at many sites.  Supporting several Perl
+     versions has been a source of problems through the whole history
+     of Automake.
+
+     If you never used Perl 4, imagine Perl 5 without objects, without
+     `my' variables (only dynamically scoped `local' variables),
+     without function prototypes, with function calls that needs to be
+     prefixed with `&', etc.  Traces of this old style can still be
+     found in today's `automake'.
+
+1995-11-28 Automake 0.22
+1995-11-29 Automake 0.23
+     Bug fixes.
+
+1995-12-08 Automake 0.24
+1995-12-10 Automake 0.25
+     Releases are raining.  0.24 introduces the uniform naming scheme we
+     use today, i.e., `bin_PROGRAMS' instead of `PROGRAMS',
+     `noinst_LIBRARIES' instead of `LIBLIBRARIES', etc.  (However
+     `EXTRA_PROGRAMS' does not exist yet, `AM_PROGRAMS' is still in
+     use; and `TEXINFOS' and `MANS' still have no directory prefixes.)
+     Adding support for prefixes like that was one of the major ideas
+     in automake; it has lasted pretty well.
+
+     AutoMake is renamed to Automake (Tom seems to recall it was
+     Franc,ois Pinard's doing).
+
+     0.25 fixes a Perl 4 portability bug.
+
+1995-12-18 Jim Meyering starts using Automake in GNU Textutils.
+
+1995-12-31 Franc,ois Pinard starts using Automake in GNU tar.
+
+1996-01-03 Automake 0.26
+1996-01-03 Automake 0.27
+     Of the many change and suggestions sent by Franc,ois Pinard and
+     included in 0.26, the most important is perhaps the advise that to
+     ease customization a user rule or variable definition should always
+     override an Automake rule or definition.
+
+     Gordon Matzigkeit and Jim Meyering are two other early contributors
+     that have been sending fixes.
+
+     0.27 fixes yet another Perl 4 portability bug.
+
+1996-01-13 Automake 0.28
+     Automake starts scanning `configure.in' for `LIBOBJS' support.
+     This is an important step because until this version Automake did
+     only know about the `Makefile.am's it processed.  `configure.in'
+     was Autoconf's world and the link between Autoconf and Automake
+     had to be done by the `Makefile.am' author.  For instance, if
+     `config.h' was generated by `configure', it was the package
+     maintainer's responsibility to define the `CONFIG_HEADER' variable
+     in each `Makefile.am'.
+
+     Succeeding releases will rely more and more on scanning
+     `configure.in' to better automate the Autoconf integration.
+
+     0.28 also introduces the `AUTOMAKE_OPTIONS' variable and the
+     `--gnu' and `--gnits' options, the latter being stricter.
+
+1996-02-07 Automake 0.29
+     Thanks to `configure.in' scanning, `CONFIG_HEADER' is gone, and
+     rebuild rules for `configure'-generated file are automatically
+     output.
+
+     `TEXINFOS' and `MANS' converted to the uniform naming scheme.
+
+1996-02-24 Automake 0.30
+     The test suite is born.  It contains 9 tests.  From now on test
+     cases will be added pretty regularly (*note Releases::), and this
+     proved to be really helpful later on.
+
+     `EXTRA_PROGRAMS' finally replaces `AM_PROGRAMS'.
+
+     All the third-party Autoconf macros, written mostly by Franc,ois
+     Pinard (and later Jim Meyering), are distributed in Automake's
+     hand-written `aclocal.m4' file.  Package maintainers are expected
+     to extract the necessary macros from this file.  (In previous
+     version you had to copy and paste them from the manual...)
+
+1996-03-11 Automake 0.31
+     The test suite in 0.30 was run via a long `check-local' rule.  Upon
+     Ulrich Drepper's suggestion, 0.31 makes it an Automake rule output
+     whenever the `TESTS' variable is defined.
+
+     `DIST_OTHER' is renamed to `EXTRA_DIST', and the `check_' prefix
+     is introduced.  The syntax is now the same as today.
+
+1996-03-15 Gordon Matzigkeit starts writing libtool.
+
+1996-04-27 Automake 0.32
+     `-hook' targets are introduced; an idea from Dieter Baron.
+
+     `*.info' files, which were output in the build directory are now
+     built in the source directory, because they are distributed.  It
+     seems these files like to move back and forth as that will happen
+     again in future versions.
+
+1996-05-18 Automake 0.33
+     Gord Matzigkeit's main two contributions:
+
+        * very preliminary libtool support
+
+        * the distcheck rule
+
+     Although they were very basic at this point, these are probably
+     among the top features for Automake today.
+
+     Jim Meyering also provides the infamous `jm_MAINTAINER_MODE',
+     since then renamed to `AM_MAINTAINER_MODE' and abandoned by its
+     author (*note maintainer-mode::).
+
+1996-05-28 Automake 1.0
+     After only six months of heavy development, the automake script is
+     3134 lines long, plus 973 lines of `Makefile' fragments.  The
+     package has 30 pages of documentation, and 38 test cases.
+     `aclocal.m4' contains 4 macros.
+
+     From now on and until version 1.4, new releases will occur at a
+     rate of about one a year.  1.1 did not exist, actually 1.1b to
+     1.1p have been the name of beta releases for 1.2.  This is the
+     first time Automake uses suffix letters to designate beta
+     releases, an habit that lasts.
+
+1996-10-10 Kevin Dalley packages Automake 1.0 for Debian GNU/Linux.
+
+1996-11-26 David J. MacKenzie releases Autoconf 2.12.
+     Between June and October, the Autoconf development is almost
+     staled.  Roland McGrath has been working at the beginning of the
+     year.  David comes back in November to release 2.12, but he won't
+     touch Autoconf anymore after this year, and Autoconf then really
+     stagnates.  The desolate Autoconf `ChangeLog' for 1997 lists only
+     7 commits.
+
+1997-02-28 <automake@gnu.ai.mit.edu> list alive
+     The mailing list is announced as follows:
+          I've created the "automake" mailing list.  It is
+          "automake@gnu.ai.mit.edu".  Administrivia, as always, to
+          automake-request@gnu.ai.mit.edu.
+
+          The charter of this list is discussion of automake, autoconf, and
+          other configuration/portability tools (eg libtool).  It is expected
+          that discussion will range from pleas for help all the way up to
+          patches.
+
+          This list is archived on the FSF machines.  Offhand I don't know if
+          you can get the archive without an account there.
+
+          This list is open to anybody who wants to join.  Tell all your
+          friends!
+          -- Tom Tromey
+
+     Before that people were discussing Automake privately, on the Gnits
+     mailing list (which is not public either), and less frequently on
+     `gnu.misc.discuss'.
+
+     `gnu.ai.mit.edu' is now `gnu.org', in case you never noticed.  The
+     archives of the early years of the `automake@gnu.org' list have
+     been lost, so today it is almost impossible to find traces of
+     discussions that occurred before 1999.  This has been annoying
+     more than once, as such discussions can be useful to understand
+     the rationale behind a piece of uncommented code that was
+     introduced back then.
+
+1997-06-22 Automake 1.2
+     Automake developments continues, and more and more new Autoconf
+     macros are required.  Distributing them in `aclocal.m4' and
+     requiring people to browse this file to extract the relevant
+     macros becomes uncomfortable.  Ideally, some of them should be
+     contributed to Autoconf so that they can be used directly, however
+     Autoconf is currently inactive.  Automake 1.2 consequently
+     introduces `aclocal' (`aclocal' was actually started on
+     1996-07-28), a tool that automatically constructs an `aclocal.m4'
+     file from a repository of third-party macros.  Because Autoconf has
+     stalled, Automake also becomes a kind of repository for such
+     third-party macros, even macros completely unrelated to Automake
+     (for instance macros that fix broken Autoconf macros).
+
+     The 1.2 release contains 20 macros, among which the
+     `AM_INIT_AUTOMAKE' macro that simplifies the creation of
+     `configure.in'.
+
+     Libtool is fully supported using `*_LTLIBRARIES'.
+
+     The missing script is introduced by Franc,ois Pinard; it is meant
+     to be a better solution than `AM_MAINTAINER_MODE' (*note
+     maintainer-mode::).
+
+     Conditionals support was implemented by Ian Lance Taylor.  At the
+     time, Tom and Ian were working on an internal project at Cygnus.
+     They were using ILU, which is pretty similar to CORBA.  They
+     wanted to integrate ILU into their build, which was all
+     `configure'-based, and Ian thought that adding conditionals to
+     `automake' was simpler than doing all the work in `configure'
+     (which was the standard at the time).  So this was actually funded
+     by Cygnus.
+
+     This very useful but tricky feature will take a lot of time to
+     stabilize.  (At the time this text is written, there are still
+     primaries that have not been updated to support conditional
+     definitions in Automake 1.9.)
+
+     The `automake' script has almost doubled: 6089 lines of Perl, plus
+     1294 lines of `Makefile' fragments.
+
+1997-07-08 Gordon Matzigkeit releases Libtool 1.0.
+
+1998-04-05 Automake 1.3
+     This is a small advance compared to 1.2.  It add support for
+     assembly, and preliminary support for Java.
+
+     Perl 5.004_04 is out, but fixes to support Perl 4 are still
+     regularly submitted whenever Automake breaks it.
+
+1998-09-06 `sourceware.cygnus.com' is on-line.
+     Sourceware was setup by Jason Molenda to host open source projects.
+
+1998-09-19  Automake CVS repository moved to `sourceware.cygnus.com'
+1998-10-26  `sourceware.cygnus.com' announces it hosts Automake
+     Automake is now hosted on `sourceware.cygnus.com'.  It has a
+     publicly accessible CVS repository.  This CVS repository is a copy
+     of the one Tom was using on his machine, which in turn is based on
+     a copy of the CVS repository of David MacKenzie.  This is why we
+     still have to full source history.  (Automake is still on
+     Sourceware today, but the host has been renamed to
+     `sources.redhat.com'.)
+
+     The oldest file in the administrative directory of the CVS
+     repository that was created on Sourceware is dated 1998-09-19,
+     while the announcement that `automake' and `autoconf' had joined
+     `sourceware' was made on 1998-10-26.  They were among the first
+     projects to be hosted there.
+
+     The heedful reader will have noticed Automake was exactly
+     4-year-old on 1998-09-19.
+
+1999-01-05 Ben Elliston releases Autoconf 2.13.
+
+1999-01-14 Automake 1.4
+     This release adds support for Fortran 77 and for the `include'
+     statement.  Also, `+=' assignments are introduced, but it is still
+     quite easy to fool Automake when mixing this with conditionals.
+
+     These two releases, Automake 1.4 and Autoconf 2.13 makes a duo that
+     will be used together for years.
+
+     `automake' is 7228 lines, plus 1591 lines of Makefile fragment, 20
+     macros (some 1.3 macros were finally contributed back to
+     Autoconf), 197 test cases, and 51 pages of documentation.
+
+1999-03-27 The `user-dep-branch' is created on the CVS repository.
+     This implements a new dependency tracking schemed that should be
+     able to handle automatic dependency tracking using any compiler
+     (not just gcc) and any make (not just GNU `make').  In addition,
+     the new scheme should be more reliable than the old one, as
+     dependencies are generated on the end user's machine.  Alexandre
+     Oliva creates depcomp for this purpose.
+
+     *Note Dependency Tracking Evolution::, for more details about the
+     evolution of automatic dependency tracking in Automake.
+
+1999-11-21 The `user-dep-branch' is merged into the main trunk.
+     This was a huge problem since we also had patches going in on the
+     trunk.  The merge took a long time and was very painful.
+
+2000-05-10
+     Since September 1999 and until 2003, Akim Demaille will be
+     zealously revamping Autoconf.
+
+          I think the next release should be called "3.0".
+          Let's face it: you've basically rewritten autoconf.
+          Every weekend there are 30 new patches.
+          I don't see how we could call this "2.15" with a straight
+          face.
+          - Tom Tromey on <autoconf@gnu.org>
+
+     Actually Akim works like a submarine: he will pile up patches
+     while he works off-line during the weekend, and flush them in
+     batch when he resurfaces on Monday.
+
+2001-01-24
+     On this Wednesday, Autoconf 2.49c, the last beta before Autoconf
+     2.50 is out, and Akim has to find something to do during his
+     week-end :)
+
+2001-01-28
+     Akim sends a batch of 14 patches to <automake@gnu.org>.
+
+          Aiieeee!  I was dreading the day that the Demaillator turned
+          his sights on automake... and now it has arrived! - Tom Tromey
+
+     It's only the beginning: in two months he will send 192 patches.
+     Then he would slow down so Tom can catch up and review all this.
+     Initially Tom actually read all these patches, then he probably
+     trustingly answered OK to most of them, and finally gave up and
+     let Akim apply whatever he wanted.  There was no way to keep up
+     with that patch rate.
+
+          Anyway the patch below won't apply since it predates Akim's
+          sourcequake; I have yet to figure where the relevant passage
+          has been moved :) - Alexandre Duret-Lutz
+
+     All these patches were sent to and discussed on
+     <automake@gnu.org>, so subscribed users were literally drown in
+     technical mails.  Eventually, the <automake-patches@gnu.org>
+     mailing list was created in May.
+
+     Year after year, Automake had drifted away from its initial design:
+     construct `Makefile.in' by assembling various `Makefile'
+     fragments.  In 1.4, lots of `Makefile' rules are being emitted at
+     various places in the `automake' script itself; this does not help
+     ensuring a consistent treatment of these rules (for instance
+     making sure that user-defined rules override Automake's own rules).
+     One of Akim's goal was moving all these hard-coded rules to
+     separate `Makefile' fragments, so the logic could be centralized
+     in a `Makefile' fragment processor.
+
+     Another significant contribution of Akim is the interface with the
+     "trace" feature of Autoconf.  The way to scan `configure.in' at
+     this time was to read the file and grep the various macro of
+     interest to Automake.  Doing so could break in many unexpected
+     ways; automake could miss some definition (for instance
+     `AC_SUBST([$1], [$2])' where the arguments are known only when M4
+     is run), or conversely it could detect some macro that was not
+     expanded (because it is called conditionally).  In the CVS version
+     of Autoconf, Akim had implemented the `--trace' option, which
+     provides accurate information about where macros are actually
+     called and with what arguments.  Akim will equip Automake with a
+     second `configure.in' scanner that uses this `--trace' interface.
+     Since it was not sensible to drop the Autoconf 2.13 compatibility
+     yet, this experimental scanner was only used when an environment
+     variable was set, the traditional grep-scanner being still the
+     default.
+
+2001-04-25 Gary V. Vaughan releases Libtool 1.4
+     It has been more than two years since Automake 1.4, CVS Automake
+     has suffered lot's of heavy changes and still is not ready for
+     release.  Libtool 1.4 had to be distributed with a patch against
+     Automake 1.4.
+
+2001-05-08 Automake 1.4-p1
+2001-05-24 Automake 1.4-p2
+     Gary V. Vaughan, the principal Libtool maintainer, makes a "patch
+     release" of Automake:
+
+          The main purpose of this release is to have a stable automake
+          which is compatible with the latest stable libtool.
+
+     The release also contains obvious fixes for bugs in Automake 1.4,
+     some of which were reported almost monthly.
+
+2001-05-21 Akim Demaille releases Autoconf 2.50
+
+2001-06-07 Automake 1.4-p3
+2001-06-10 Automake 1.4-p4
+2001-07-15 Automake 1.4-p5
+     Gary continues his patch-release series.  These also add support
+     for some new Autoconf 2.50 idioms.  Essentially, Autoconf now
+     advocates `configure.ac' over `configure.in', and it introduces a
+     new syntax for `AC_OUTPUT'ing files.
+
+2001-08-23 Automake 1.5
+     A major and long-awaited release, that comes more than two years
+     after 1.4.  It brings many changes, among which:
+        * The new dependency tracking scheme that uses `depcomp'.
+          Aside from the improvement on the dependency tracking itself
+          (*note Dependency Tracking Evolution::), this also
+          streamlines the use of automake generated `Makefile.in's as
+          the `Makefile.in's used during development are now the same
+          as those used in distributions.  Before that the
+          `Makefile.in's generated for maintainers required GNU `make'
+          and GCC, they were different from the portable `Makefile'
+          generated for distribution; this was causing some confusion.
+
+        * Support for per-target compilation flags.
+
+        * Support for reference to files in subdirectories in most
+          `Makefile.am' variables.
+
+        * Introduction of the `dist_', `nodist_', and `nobase_'
+          prefixes.
+
+        * Perl 4 support is finally dropped.
+
+     1.5 did broke several packages that worked with 1.4.  Enough so
+     that Linux distributions could not easily install the new Automake
+     version without breaking many of the packages for which they had
+     to run `automake'.
+
+     Some of these breakages were effectively bugs that would
+     eventually be fixed in the next release.  However, a lot of damage
+     was caused by some changes made deliberately to render Automake
+     stricter on some setup we did consider bogus.  For instance, `make
+     distcheck' was improved to check that `make uninstall' did remove
+     all the files `make install' installed, that `make distclean' did
+     not omit some file, and that a VPATH build would work even if the
+     source directory was read-only.  Similarly, Automake now rejects
+     multiple definitions of the same variable (because that would mix
+     very badly with conditionals), and `+=' assignments with no
+     previous definition.  Because these changes all occurred suddenly
+     after 1.4 had been established for more that two years, it hurt
+     users.
+
+     To make matter worse, meanwhile Autoconf (now at version 2.52) was
+     facing similar troubles, for similar reasons.
+
+2002-03-05 Automake 1.6
+     This release introduced versioned installation (*note API
+     versioning::).  This was mainly pushed by Havoc Pennington, taking
+     the GNOME source tree as motive: due to incompatibilities between
+     the autotools it's impossible for the GNOME packages to switch to
+     Autoconf 2.53 and Automake 1.5 all at once, so they are currently
+     stuck with Autoconf 2.13 and Automake 1.4.
+
+     The idea was to call this version `automake-1.6', call all its
+     bug-fix versions identically, and switch to `automake-1.7' for the
+     next release that adds new features or changes some rules.  This
+     scheme implies maintaining a bug-fix branch in addition to the
+     development trunk, which means more work from the maintainer, but
+     providing regular bug-fix releases proved to be really worthwhile.
+
+     Like 1.5, 1.6 also introduced a bunch of incompatibilities, meant
+     or not.  Perhaps the more annoying was the dependence on the newly
+     released Autoconf 2.53.  Autoconf seemed to have stabilized enough
+     since its explosive 2.50 release, and included changes required to
+     fix some bugs in Automake.  In order to upgrade to Automake 1.6,
+     people now had to upgrade Autoconf too; for some packages it was
+     no picnic.
+
+     While versioned installation helped people to upgrade, it also
+     unfortunately allowed people not to upgrade.  At the time of
+     writing, some Linux distributions are shipping packages for
+     Automake 1.4, 1.5, 1.6, 1.7, 1.8, and 1.9.  Most of these still
+     install 1.4 by default.  Some distribution also call 1.4 the
+     "stable" version, and present "1.9" as the development version;
+     this does not really makes sense since 1.9 is way more solid than
+     1.4.  All this does not help the newcomer.
+
+2002-04-11 Automake 1.6.1
+     1.6, and the upcoming 1.4-p6 release were the last release by Tom.
+     This one and those following will be handled by Alexandre
+     Duret-Lutz.  Tom is still around, and will be there until about
+     1.7, but his interest into Automake is drifting away towards
+     projects like `gcj'.
+
+     Alexandre has been using Automake since 2000, and started to
+     contribute mostly on Akim's incitement (Akim and Alexandre have
+     been working in the same room from 1999 to 2002).  In 2001 and
+     2002 he had a lot of free time to enjoy hacking Automake.
+
+2002-06-14 Automake 1.6.2
+
+2002-07-28 Automake 1.6.3
+2002-07-28 Automake 1.4-p6
+     Two releases on the same day.  1.6.3 is a bug-fix release.
+
+     Tom Tromey backported the versioned installation mechanism on the
+     1.4 branch, so that Automake 1.6.x and Automake 1.4-p6 could be
+     installed side by side.  Another request from the GNOME folks.
+
+2002-09-25 Automake 1.7
+     This release switches to the new `configure.ac' scanner Akim was
+     experimenting in 1.5.
+
+2002-10-16 Automake 1.7.1
+2002-12-06 Automake 1.7.2
+2003-02-20 Automake 1.7.3
+2003-04-23 Automake 1.7.4
+2003-05-18 Automake 1.7.5
+2003-07-10 Automake 1.7.6
+2003-09-07 Automake 1.7.7
+2003-10-07 Automake 1.7.8
+     Many bug-fix releases.  1.7 lasted because the development version
+     (upcoming 1.8) was suffering some major internal revamping.
+
+2003-10-26 Automake on screen
+     Episode 49, `Repercussions', in the third season of the `Alias' TV
+     show is first aired.
+
+     Marshall, one of the character, is working on a computer virus
+     that he has to modify before it gets into the wrong hands or
+     something like that.  The screenshots you see do not show any
+     program code, they show a `Makefile.in' `generated by automake'...
+
+2003-11-09 Automake 1.7.9
+
+2003-12-10 Automake 1.8
+     The most striking update is probably that of `aclocal'.
+
+     `aclocal' now uses `m4_include' in the produced `aclocal.m4' when
+     the included macros are already distributed with the package (an
+     idiom used in many packages), which reduces code duplication.
+     Many people liked that, but in fact this change was really
+     introduced to fix a bug in rebuild rules: `Makefile.in' must be
+     rebuilt whenever a dependency of `configure' changes, but all the
+     `m4' files included in `aclocal.m4' where unknown from `automake'.
+     Now `automake' can just trace the `m4_include's to discover the
+     dependencies.
+
+     `aclocal' also starts using the `--trace' Autoconf option in order
+     to discover used macros more accurately.  This will turn out to be
+     very tricky (later releases will improve this) as people had
+     devised many ways to cope with the limitation of previous
+     `aclocal' versions, notably using handwritten `m4_include's:
+     `aclocal' must make sure not to redefine a rule that is already
+     included by such statement.
+
+     Automake also has seen its guts rewritten.  Although this rewriting
+     took a lot of efforts, it is only apparent to the users in that
+     some constructions previously disallowed by the implementation now
+     work nicely.  Conditionals, Locations, Variable and Rule
+     definitions, Options: these items on which Automake works have
+     been rewritten as separate Perl modules, and documented.
+
+2004-01-11 Automake 1.8.1
+2004-01-12 Automake 1.8.2
+2004-03-07 Automake 1.8.3
+2004-04-25 Automake 1.8.4
+2004-05-16 Automake 1.8.5
+
+2004-07-28 Automake 1.9
+     This release tries to simplify the compilation rules it outputs to
+     reduce the size of the Makefile.  The complaint initially come from
+     the libgcj developers.  Their `Makefile.in' generated with
+     Automake 1.4 and custom build rules (1.4 did not support compiled
+     Java) is 250KB.  The one generated by 1.8 was over 9MB!  1.9 gets
+     it down to 1.2MB.
+
+     Aside from this it contains mainly minor changes and bug-fixes.
+
+2004-08-11 Automake 1.9.1
+2004-09-19 Automake 1.9.2
+     Automake has ten years.  This chapter of the manual was initially
+     written for this occasion.
+
+
+
+File: automake.info,  Node: Dependency Tracking Evolution,  Next: Releases,  Prev: Timeline,  Up: History
+
+27.2 Dependency Tracking in Automake
+====================================
+
+Over the years Automake has deployed three different dependency
+tracking methods.  Each method, including the current one, has had
+flaws of various sorts.  Here we lay out the different dependency
+tracking methods, their flaws, and their fixes.  We conclude with
+recommendations for tool writers, and by indicating future directions
+for dependency tracking work in Automake.
+
+27.2.1 First Take
+-----------------
+
+Description
+...........
+
+Our first attempt at automatic dependency tracking was based on the
+method recommended by GNU `make'.  (*note Generating Prerequisites
+Automatically: (make)Automatic Prerequisites.)
+
+   This version worked by precomputing dependencies ahead of time.  For
+each source file, it had a special `.P' file that held the
+dependencies.  There was a rule to generate a `.P' file by invoking the
+compiler appropriately.  All such `.P' files were included by the
+`Makefile', thus implicitly becoming dependencies of `Makefile'.
+
+Bugs
+....
+
+This approach had several critical bugs.
+
+   * The code to generate the `.P' file relied on `gcc'.  (A
+     limitation, not technically a bug.)
+
+   * The dependency tracking mechanism itself relied on GNU `make'.  (A
+     limitation, not technically a bug.)
+
+   * Because each `.P' file was a dependency of `Makefile', this meant
+     that dependency tracking was done eagerly by `make'.  For
+     instance, `make clean' would cause all the dependency files to be
+     updated, and then immediately removed.  This eagerness also caused
+     problems with some configurations; if a certain source file could
+     not be compiled on a given architecture for some reason,
+     dependency tracking would fail, aborting the entire build.
+
+   * As dependency tracking was done as a pre-pass, compile times were
+     doubled-the compiler had to be run twice per source file.
+
+   * `make dist' re-ran `automake' to generate a `Makefile' that did
+     not have automatic dependency tracking (and that was thus portable
+     to any version of `make').  In order to do this portably, Automake
+     had to scan the dependency files and remove any reference that was
+     to a source file not in the distribution.  This process was
+     error-prone.  Also, if `make dist' was run in an environment where
+     some object file had a dependency on a source file that was only
+     conditionally created, Automake would generate a `Makefile' that
+     referred to a file that might not appear in the end user's build.
+     A special, hacky mechanism was required to work around this.
+
+Historical Note
+...............
+
+The code generated by Automake is often inspired by the `Makefile'
+style of a particular author.  In the case of the first implementation
+of dependency tracking, I believe the impetus and inspiration was Jim
+Meyering.  (I could be mistaken.  If you know otherwise feel free to
+correct me.)
+
+27.2.2 Dependencies As Side Effects
+-----------------------------------
+
+Description
+...........
+
+The next refinement of Automake's automatic dependency tracking scheme
+was to implement dependencies as side effects of the compilation.  This
+was aimed at solving the most commonly reported problems with the first
+approach.  In particular we were most concerned with eliminating the
+weird rebuilding effect associated with make clean.
+
+   In this approach, the `.P' files were included using the `-include'
+command, which let us create these files lazily.  This avoided the
+`make clean' problem.
+
+   We only computed dependencies when a file was actually compiled.
+This avoided the performance penalty associated with scanning each file
+twice.  It also let us avoid the other problems associated with the
+first, eager, implementation.  For instance, dependencies would never
+be generated for a source file that was not compilable on a given
+architecture (because it in fact would never be compiled).
+
+Bugs
+....
+
+   * This approach also relied on the existence of `gcc' and GNU
+     `make'.  (A limitation, not technically a bug.)
+
+   * Dependency tracking was still done by the developer, so the
+     problems from the first implementation relating to massaging of
+     dependencies by `make dist' were still in effect.
+
+   * This implementation suffered from the "deleted header file"
+     problem.  Suppose a lazily-created `.P' file includes a dependency
+     on a given header file, like this:
+
+          maude.o: maude.c something.h
+
+     Now suppose that the developer removes `something.h' and updates
+     `maude.c' so that this include is no longer needed.  If he runs
+     `make', he will get an error because there is no way to create
+     `something.h'.
+
+     We fixed this problem in a later release by further massaging the
+     output of `gcc' to include a dummy dependency for each header file.
+
+27.2.3 Dependencies for the User
+--------------------------------
+
+Description
+...........
+
+The bugs associated with `make dist', over time, became a real problem.
+Packages using Automake were being built on a large number of
+platforms, and were becoming increasingly complex.  Broken dependencies
+were distributed in "portable" `Makefile.in's, leading to user
+complaints.  Also, the requirement for `gcc' and GNU `make' was a
+constant source of bug reports.  The next implementation of dependency
+tracking aimed to remove these problems.
+
+   We realized that the only truly reliable way to automatically track
+dependencies was to do it when the package itself was built.  This
+meant discovering a method portable to any version of make and any
+compiler.  Also, we wanted to preserve what we saw as the best point of
+the second implementation: dependency computation as a side effect of
+compilation.
+
+   In the end we found that most modern make implementations support
+some form of include directive.  Also, we wrote a wrapper script that
+let us abstract away differences between dependency tracking methods for
+compilers.  For instance, some compilers cannot generate dependencies
+as a side effect of compilation.  In this case we simply have the
+script run the compiler twice.  Currently our wrapper script
+(`depcomp') knows about twelve different compilers (including a
+"compiler" that simply invokes `makedepend' and then the real compiler,
+which is assumed to be a standard Unix-like C compiler with no way to
+do dependency tracking).
+
+Bugs
+....
+
+   * Running a wrapper script for each compilation slows down the build.
+
+   * Many users don't really care about precise dependencies.
+
+   * This implementation, like every other automatic dependency tracking
+     scheme in common use today (indeed, every one we've ever heard of),
+     suffers from the "duplicated new header" bug.
+
+     This bug occurs because dependency tracking tools, such as the
+     compiler, only generate dependencies on the successful opening of a
+     file, and not on every probe.
+
+     Suppose for instance that the compiler searches three directories
+     for a given header, and that the header is found in the third
+     directory.  If the programmer erroneously adds a header file with
+     the same name to the first directory, then a clean rebuild from
+     scratch could fail (suppose the new header file is buggy), whereas
+     an incremental rebuild will succeed.
+
+     What has happened here is that people have a misunderstanding of
+     what a dependency is.  Tool writers think a dependency encodes
+     information about which files were read by the compiler.  However,
+     a dependency must actually encode information about what the
+     compiler tried to do.
+
+     This problem is not serious in practice.  Programmers typically do
+     not use the same name for a header file twice in a given project.
+     (At least, not in C or C++.  This problem may be more troublesome
+     in Java.)  This problem is easy to fix, by modifying dependency
+     generators to record every probe, instead of every successful open.
+
+   * Since automake generates dependencies as a side effect of
+     compilation, there is a bootstrapping problem when header files
+     are generated by running a program.  The problem is that, the
+     first time the build is done, there is no way by default to know
+     that the headers are required, so make might try to run a
+     compilation for which the headers have not yet been built.
+
+     This was also a problem in the previous dependency tracking
+     implementation.
+
+     The current fix is to use `BUILT_SOURCES' to list built headers
+     (*note Sources::).  This causes them to be built before any other
+     other build rules are run.  This is unsatisfactory as a general
+     solution, however in practice it seems sufficient for most actual
+     programs.
+
+   This code is used since Automake 1.5.
+
+   In GCC 3.0, we managed to convince the maintainers to add special
+command-line options to help Automake more efficiently do its job.  We
+hoped this would let us avoid the use of a wrapper script when
+Automake's automatic dependency tracking was used with `gcc'.
+
+   Unfortunately, this code doesn't quite do what we want.  In
+particular, it removes the dependency file if the compilation fails;
+we'd prefer that it instead only touch the file in any way if the
+compilation succeeds.
+
+   Nevertheless, since Automake 1.7, when a recent `gcc' is detected at
+`configure' time, we inline the dependency-generation code and do not
+use the `depcomp' wrapper script.  This makes compilations faster for
+those using this compiler (probably our primary user base).  The
+counterpart is that because we have to encode two compilation rules in
+`Makefile' (with or without `depcomp'), the produced `Makefile's are
+larger.
+
+27.2.4 Techniques for Computing Dependencies
+--------------------------------------------
+
+There are actually several ways for a build tool like Automake to cause
+tools to generate dependencies.
+
+`makedepend'
+     This was a commonly-used method in the past.  The idea is to run a
+     special program over the source and have it generate dependency
+     information.  Traditional implementations of `makedepend' ere not
+     completely precise; ordinarily they were conservative and
+     discovered too many dependencies.
+
+The tool
+     An obvious way to generate dependencies is to simply write the
+     tool so that it can generate the information needed by the build
+     tool.  This is also the most portable method.  Many compilers have
+     an option to generate dependencies.  Unfortunately, not all tools
+     provide such an option.
+
+The file system
+     It is possible to write a special file system that tracks opens,
+     reads, writes, etc, and then feed this information back to the
+     build tool.  `clearmake' does this.  This is a very powerful
+     technique, as it doesn't require cooperation from the tool.
+     Unfortunately it is also very difficult to implement and also not
+     practical in the general case.
+
+`LD_PRELOAD'
+     Rather than use the file system, one could write a special library
+     to intercept `open' and other syscalls.  This technique is also
+     quite powerful, but unfortunately it is not portable enough for
+     use in `automake'.
+
+27.2.5 Recommendations for Tool Writers
+---------------------------------------
+
+We think that every compilation tool ought to be able to generate
+dependencies as a side effect of compilation.  Furthermore, at least
+while `make'-based tools are nearly universally in use (at least in the
+free software community), the tool itself should generate dummy
+dependencies for header files, to avoid the deleted header file bug.
+Finally, the tool should generate a dependency for each probe, instead
+of each successful file open, in order to avoid the duplicated new
+header bug.
+
+27.2.6 Future Directions for Automake's Dependency Tracking
+-----------------------------------------------------------
+
+Currently, only languages and compilers understood by Automake can have
+dependency tracking enabled.  We would like to see if it is practical
+(and worthwhile) to let this support be extended by the user to
+languages unknown to Automake.
+
+
+File: automake.info,  Node: Releases,  Prev: Dependency Tracking Evolution,  Up: History
+
+27.3 Release Statistics
+=======================
+
+The following table (inspired by `perlhist(1)') quantifies the
+evolution of Automake using these metrics:
+
+Date, Rel
+     The date and version of the release.
+
+am
+     The number of lines of the `automake' script.
+
+acl
+     The number of lines of the `aclocal' script.
+
+pm
+     The number of lines of the `Perl' supporting modules.
+
+`*.am'
+     The number of lines of the `Makefile' fragments.  The number in
+     parenthesis is the number of files.
+
+m4
+     The number of lines (and files) of Autoconf macros.
+
+doc
+     The number of pages of the documentation (the Postscript version).
+
+t
+     The number of test cases in the test suite.
+
+Date         Rel      am     acl   pm     `*.am'      m4          doc   t
+------------------------------------------------------------------------------ 
+1994-09-19   CVS      141                 299 (24)                      
+1994-11-05   CVS      208                 332 (28)                      
+1995-11-23   0.20     533                 458 (35)                9     
+1995-11-26   0.21     613                 480 (36)                11    
+1995-11-28   0.22     1116                539 (38)                12    
+1995-11-29   0.23     1240                541 (38)                12    
+1995-12-08   0.24     1462                504 (33)                14    
+1995-12-10   0.25     1513                511 (37)                15    
+1996-01-03   0.26     1706                438 (36)                16    
+1996-01-03   0.27     1706                438 (36)                16    
+1996-01-13   0.28     1964                934 (33)                16    
+1996-02-07   0.29     2299                936 (33)                17    
+1996-02-24   0.30     2544                919 (32)    85 (1)      20    9
+1996-03-11   0.31     2877                919 (32)    85 (1)      29    17
+1996-04-27   0.32     3058                921 (31)    85 (1)      30    26
+1996-05-18   0.33     3110                926 (31)    105 (1)     30    35
+1996-05-28   1.0      3134                973 (32)    105 (1)     30    38
+1997-06-22   1.2      6089   385          1294 (36)   592 (23)    37    126
+1998-04-05   1.3      6415   422          1470 (39)   741 (26)    39    156
+1999-01-14   1.4      7240   426          1591 (40)   734 (23)    51    197
+2001-05-08   1.4-p1   7251   426          1591 (40)   734 (23)    51    197
+2001-05-24   1.4-p2   7268   439          1591 (40)   734 (23)    49    197
+2001-06-07   1.4-p3   7312   439          1591 (40)   734 (23)    49    197
+2001-06-10   1.4-p4   7321   439          1591 (40)   734 (23)    49    198
+2001-07-15   1.4-p5   7228   426          1596 (40)   734 (23)    51    198
+2001-08-23   1.5      8016   475   600    2654 (39)   1166 (32)   63    327
+2002-03-05   1.6      8465   475   1136   2732 (39)   1603 (31)   66    365
+2002-04-11   1.6.1    8544   475   1136   2741 (39)   1603 (31)   66    372
+2002-06-14   1.6.2    8575   475   1136   2800 (39)   1609 (31)   67    386
+2002-07-28   1.6.3    8600   475   1153   2809 (39)   1609 (31)   67    391
+2002-07-28   1.4-p6   7332   455          1596 (40)   735 (24)    49    197
+2002-09-25   1.7      9189   471   1790   2965 (39)   1606 (33)   73    430
+2002-10-16   1.7.1    9229   475   1790   2977 (39)   1606 (33)   73    437
+2002-12-06   1.7.2    9334   475   1790   2988 (39)   1606 (33)   77    445
+2003-02-20   1.7.3    9389   475   1790   3023 (39)   1651 (34)   84    448
+2003-04-23   1.7.4    9429   475   1790   3031 (39)   1644 (34)   85    458
+2003-05-18   1.7.5    9429   475   1790   3033 (39)   1645 (34)   85    459
+2003-07-10   1.7.6    9442   475   1790   3033 (39)   1660 (34)   85    461
+2003-09-07   1.7.7    9443   475   1790   3041 (39)   1660 (34)   90    467
+2003-10-07   1.7.8    9444   475   1790   3041 (39)   1660 (34)   90    468
+2003-11-09   1.7.9    9444   475   1790   3048 (39)   1660 (34)   90    468
+2003-12-10   1.8      7171   585   7730   3236 (39)   1666 (36)   104   521
+2004-01-11   1.8.1    7217   663   7726   3287 (39)   1686 (36)   104   525
+2004-01-12   1.8.2    7217   663   7726   3288 (39)   1686 (36)   104   526
+2004-03-07   1.8.3    7214   686   7735   3303 (39)   1695 (36)   111   530
+2004-04-25   1.8.4    7214   686   7736   3310 (39)   1701 (36)   112   531
+2004-05-16   1.8.5    7240   686   7736   3299 (39)   1701 (36)   112   533
+2004-07-28   1.9      7508   715   7794   3352 (40)   1812 (37)   115   551
+2004-08-11   1.9.1    7512   715   7794   3354 (40)   1812 (37)   115   552
+2004-09-19   1.9.2    7512   715   7794   3354 (40)   1812 (37)   132   554
+
+
+File: automake.info,  Node: Copying This Manual,  Next: Indices,  Prev: History,  Up: Top
+
+Appendix A Copying This Manual
+******************************
+
+* Menu:
+
+* GNU Free Documentation License::  License for copying this manual
+
+
+File: automake.info,  Node: GNU Free Documentation License,  Up: Copying This Manual
+
+A.1 GNU Free Documentation License
+==================================
+
+                      Version 1.2, November 2002
+
+     Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
+
+     Everyone is permitted to copy and distribute verbatim copies
+     of this license document, but changing it is not allowed.
+
+  0. PREAMBLE
+
+     The purpose of this License is to make a manual, textbook, or other
+     functional and useful document "free" in the sense of freedom: to
+     assure everyone the effective freedom to copy and redistribute it,
+     with or without modifying it, either commercially or
+     noncommercially.  Secondarily, this License preserves for the
+     author and publisher a way to get credit for their work, while not
+     being considered responsible for modifications made by others.
+
+     This License is a kind of "copyleft", which means that derivative
+     works of the document must themselves be free in the same sense.
+     It complements the GNU General Public License, which is a copyleft
+     license designed for free software.
+
+     We have designed this License in order to use it for manuals for
+     free software, because free software needs free documentation: a
+     free program should come with manuals providing the same freedoms
+     that the software does.  But this License is not limited to
+     software manuals; it can be used for any textual work, regardless
+     of subject matter or whether it is published as a printed book.
+     We recommend this License principally for works whose purpose is
+     instruction or reference.
+
+  1. APPLICABILITY AND DEFINITIONS
+
+     This License applies to any manual or other work, in any medium,
+     that contains a notice placed by the copyright holder saying it
+     can be distributed under the terms of this License.  Such a notice
+     grants a world-wide, royalty-free license, unlimited in duration,
+     to use that work under the conditions stated herein.  The
+     "Document", below, refers to any such manual or work.  Any member
+     of the public is a licensee, and is addressed as "you".  You
+     accept the license if you copy, modify or distribute the work in a
+     way requiring permission under copyright law.
+
+     A "Modified Version" of the Document means any work containing the
+     Document or a portion of it, either copied verbatim, or with
+     modifications and/or translated into another language.
+
+     A "Secondary Section" is a named appendix or a front-matter section
+     of the Document that deals exclusively with the relationship of the
+     publishers or authors of the Document to the Document's overall
+     subject (or to related matters) and contains nothing that could
+     fall directly within that overall subject.  (Thus, if the Document
+     is in part a textbook of mathematics, a Secondary Section may not
+     explain any mathematics.)  The relationship could be a matter of
+     historical connection with the subject or with related matters, or
+     of legal, commercial, philosophical, ethical or political position
+     regarding them.
+
+     The "Invariant Sections" are certain Secondary Sections whose
+     titles are designated, as being those of Invariant Sections, in
+     the notice that says that the Document is released under this
+     License.  If a section does not fit the above definition of
+     Secondary then it is not allowed to be designated as Invariant.
+     The Document may contain zero Invariant Sections.  If the Document
+     does not identify any Invariant Sections then there are none.
+
+     The "Cover Texts" are certain short passages of text that are
+     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+     that says that the Document is released under this License.  A
+     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
+     be at most 25 words.
+
+     A "Transparent" copy of the Document means a machine-readable copy,
+     represented in a format whose specification is available to the
+     general public, that is suitable for revising the document
+     straightforwardly with generic text editors or (for images
+     composed of pixels) generic paint programs or (for drawings) some
+     widely available drawing editor, and that is suitable for input to
+     text formatters or for automatic translation to a variety of
+     formats suitable for input to text formatters.  A copy made in an
+     otherwise Transparent file format whose markup, or absence of
+     markup, has been arranged to thwart or discourage subsequent
+     modification by readers is not Transparent.  An image format is
+     not Transparent if used for any substantial amount of text.  A
+     copy that is not "Transparent" is called "Opaque".
+
+     Examples of suitable formats for Transparent copies include plain
+     ASCII without markup, Texinfo input format, LaTeX input format,
+     SGML or XML using a publicly available DTD, and
+     standard-conforming simple HTML, PostScript or PDF designed for
+     human modification.  Examples of transparent image formats include
+     PNG, XCF and JPG.  Opaque formats include proprietary formats that
+     can be read and edited only by proprietary word processors, SGML or
+     XML for which the DTD and/or processing tools are not generally
+     available, and the machine-generated HTML, PostScript or PDF
+     produced by some word processors for output purposes only.
+
+     The "Title Page" means, for a printed book, the title page itself,
+     plus such following pages as are needed to hold, legibly, the
+     material this License requires to appear in the title page.  For
+     works in formats which do not have any title page as such, "Title
+     Page" means the text near the most prominent appearance of the
+     work's title, preceding the beginning of the body of the text.
+
+     A section "Entitled XYZ" means a named subunit of the Document
+     whose title either is precisely XYZ or contains XYZ in parentheses
+     following text that translates XYZ in another language.  (Here XYZ
+     stands for a specific section name mentioned below, such as
+     "Acknowledgements", "Dedications", "Endorsements", or "History".)
+     To "Preserve the Title" of such a section when you modify the
+     Document means that it remains a section "Entitled XYZ" according
+     to this definition.
+
+     The Document may include Warranty Disclaimers next to the notice
+     which states that this License applies to the Document.  These
+     Warranty Disclaimers are considered to be included by reference in
+     this License, but only as regards disclaiming warranties: any other
+     implication that these Warranty Disclaimers may have is void and
+     has no effect on the meaning of this License.
+
+  2. VERBATIM COPYING
+
+     You may copy and distribute the Document in any medium, either
+     commercially or noncommercially, provided that this License, the
+     copyright notices, and the license notice saying this License
+     applies to the Document are reproduced in all copies, and that you
+     add no other conditions whatsoever to those of this License.  You
+     may not use technical measures to obstruct or control the reading
+     or further copying of the copies you make or distribute.  However,
+     you may accept compensation in exchange for copies.  If you
+     distribute a large enough number of copies you must also follow
+     the conditions in section 3.
+
+     You may also lend copies, under the same conditions stated above,
+     and you may publicly display copies.
+
+  3. COPYING IN QUANTITY
+
+     If you publish printed copies (or copies in media that commonly
+     have printed covers) of the Document, numbering more than 100, and
+     the Document's license notice requires Cover Texts, you must
+     enclose the copies in covers that carry, clearly and legibly, all
+     these Cover Texts: Front-Cover Texts on the front cover, and
+     Back-Cover Texts on the back cover.  Both covers must also clearly
+     and legibly identify you as the publisher of these copies.  The
+     front cover must present the full title with all words of the
+     title equally prominent and visible.  You may add other material
+     on the covers in addition.  Copying with changes limited to the
+     covers, as long as they preserve the title of the Document and
+     satisfy these conditions, can be treated as verbatim copying in
+     other respects.
+
+     If the required texts for either cover are too voluminous to fit
+     legibly, you should put the first ones listed (as many as fit
+     reasonably) on the actual cover, and continue the rest onto
+     adjacent pages.
+
+     If you publish or distribute Opaque copies of the Document
+     numbering more than 100, you must either include a
+     machine-readable Transparent copy along with each Opaque copy, or
+     state in or with each Opaque copy a computer-network location from
+     which the general network-using public has access to download
+     using public-standard network protocols a complete Transparent
+     copy of the Document, free of added material.  If you use the
+     latter option, you must take reasonably prudent steps, when you
+     begin distribution of Opaque copies in quantity, to ensure that
+     this Transparent copy will remain thus accessible at the stated
+     location until at least one year after the last time you
+     distribute an Opaque copy (directly or through your agents or
+     retailers) of that edition to the public.
+
+     It is requested, but not required, that you contact the authors of
+     the Document well before redistributing any large number of
+     copies, to give them a chance to provide you with an updated
+     version of the Document.
+
+  4. MODIFICATIONS
+
+     You may copy and distribute a Modified Version of the Document
+     under the conditions of sections 2 and 3 above, provided that you
+     release the Modified Version under precisely this License, with
+     the Modified Version filling the role of the Document, thus
+     licensing distribution and modification of the Modified Version to
+     whoever possesses a copy of it.  In addition, you must do these
+     things in the Modified Version:
+
+       A. Use in the Title Page (and on the covers, if any) a title
+          distinct from that of the Document, and from those of
+          previous versions (which should, if there were any, be listed
+          in the History section of the Document).  You may use the
+          same title as a previous version if the original publisher of
+          that version gives permission.
+
+       B. List on the Title Page, as authors, one or more persons or
+          entities responsible for authorship of the modifications in
+          the Modified Version, together with at least five of the
+          principal authors of the Document (all of its principal
+          authors, if it has fewer than five), unless they release you
+          from this requirement.
+
+       C. State on the Title page the name of the publisher of the
+          Modified Version, as the publisher.
+
+       D. Preserve all the copyright notices of the Document.
+
+       E. Add an appropriate copyright notice for your modifications
+          adjacent to the other copyright notices.
+
+       F. Include, immediately after the copyright notices, a license
+          notice giving the public permission to use the Modified
+          Version under the terms of this License, in the form shown in
+          the Addendum below.
+
+       G. Preserve in that license notice the full lists of Invariant
+          Sections and required Cover Texts given in the Document's
+          license notice.
+
+       H. Include an unaltered copy of this License.
+
+       I. Preserve the section Entitled "History", Preserve its Title,
+          and add to it an item stating at least the title, year, new
+          authors, and publisher of the Modified Version as given on
+          the Title Page.  If there is no section Entitled "History" in
+          the Document, create one stating the title, year, authors,
+          and publisher of the Document as given on its Title Page,
+          then add an item describing the Modified Version as stated in
+          the previous sentence.
+
+       J. Preserve the network location, if any, given in the Document
+          for public access to a Transparent copy of the Document, and
+          likewise the network locations given in the Document for
+          previous versions it was based on.  These may be placed in
+          the "History" section.  You may omit a network location for a
+          work that was published at least four years before the
+          Document itself, or if the original publisher of the version
+          it refers to gives permission.
+
+       K. For any section Entitled "Acknowledgements" or "Dedications",
+          Preserve the Title of the section, and preserve in the
+          section all the substance and tone of each of the contributor
+          acknowledgements and/or dedications given therein.
+
+       L. Preserve all the Invariant Sections of the Document,
+          unaltered in their text and in their titles.  Section numbers
+          or the equivalent are not considered part of the section
+          titles.
+
+       M. Delete any section Entitled "Endorsements".  Such a section
+          may not be included in the Modified Version.
+
+       N. Do not retitle any existing section to be Entitled
+          "Endorsements" or to conflict in title with any Invariant
+          Section.
+
+       O. Preserve any Warranty Disclaimers.
+
+     If the Modified Version includes new front-matter sections or
+     appendices that qualify as Secondary Sections and contain no
+     material copied from the Document, you may at your option
+     designate some or all of these sections as invariant.  To do this,
+     add their titles to the list of Invariant Sections in the Modified
+     Version's license notice.  These titles must be distinct from any
+     other section titles.
+
+     You may add a section Entitled "Endorsements", provided it contains
+     nothing but endorsements of your Modified Version by various
+     parties--for example, statements of peer review or that the text
+     has been approved by an organization as the authoritative
+     definition of a standard.
+
+     You may add a passage of up to five words as a Front-Cover Text,
+     and a passage of up to 25 words as a Back-Cover Text, to the end
+     of the list of Cover Texts in the Modified Version.  Only one
+     passage of Front-Cover Text and one of Back-Cover Text may be
+     added by (or through arrangements made by) any one entity.  If the
+     Document already includes a cover text for the same cover,
+     previously added by you or by arrangement made by the same entity
+     you are acting on behalf of, you may not add another; but you may
+     replace the old one, on explicit permission from the previous
+     publisher that added the old one.
+
+     The author(s) and publisher(s) of the Document do not by this
+     License give permission to use their names for publicity for or to
+     assert or imply endorsement of any Modified Version.
+
+  5. COMBINING DOCUMENTS
+
+     You may combine the Document with other documents released under
+     this License, under the terms defined in section 4 above for
+     modified versions, provided that you include in the combination
+     all of the Invariant Sections of all of the original documents,
+     unmodified, and list them all as Invariant Sections of your
+     combined work in its license notice, and that you preserve all
+     their Warranty Disclaimers.
+
+     The combined work need only contain one copy of this License, and
+     multiple identical Invariant Sections may be replaced with a single
+     copy.  If there are multiple Invariant Sections with the same name
+     but different contents, make the title of each such section unique
+     by adding at the end of it, in parentheses, the name of the
+     original author or publisher of that section if known, or else a
+     unique number.  Make the same adjustment to the section titles in
+     the list of Invariant Sections in the license notice of the
+     combined work.
+
+     In the combination, you must combine any sections Entitled
+     "History" in the various original documents, forming one section
+     Entitled "History"; likewise combine any sections Entitled
+     "Acknowledgements", and any sections Entitled "Dedications".  You
+     must delete all sections Entitled "Endorsements."
+
+  6. COLLECTIONS OF DOCUMENTS
+
+     You may make a collection consisting of the Document and other
+     documents released under this License, and replace the individual
+     copies of this License in the various documents with a single copy
+     that is included in the collection, provided that you follow the
+     rules of this License for verbatim copying of each of the
+     documents in all other respects.
+
+     You may extract a single document from such a collection, and
+     distribute it individually under this License, provided you insert
+     a copy of this License into the extracted document, and follow
+     this License in all other respects regarding verbatim copying of
+     that document.
+
+  7. AGGREGATION WITH INDEPENDENT WORKS
+
+     A compilation of the Document or its derivatives with other
+     separate and independent documents or works, in or on a volume of
+     a storage or distribution medium, is called an "aggregate" if the
+     copyright resulting from the compilation is not used to limit the
+     legal rights of the compilation's users beyond what the individual
+     works permit.  When the Document is included in an aggregate, this
+     License does not apply to the other works in the aggregate which
+     are not themselves derivative works of the Document.
+
+     If the Cover Text requirement of section 3 is applicable to these
+     copies of the Document, then if the Document is less than one half
+     of the entire aggregate, the Document's Cover Texts may be placed
+     on covers that bracket the Document within the aggregate, or the
+     electronic equivalent of covers if the Document is in electronic
+     form.  Otherwise they must appear on printed covers that bracket
+     the whole aggregate.
+
+  8. TRANSLATION
+
+     Translation is considered a kind of modification, so you may
+     distribute translations of the Document under the terms of section
+     4.  Replacing Invariant Sections with translations requires special
+     permission from their copyright holders, but you may include
+     translations of some or all Invariant Sections in addition to the
+     original versions of these Invariant Sections.  You may include a
+     translation of this License, and all the license notices in the
+     Document, and any Warranty Disclaimers, provided that you also
+     include the original English version of this License and the
+     original versions of those notices and disclaimers.  In case of a
+     disagreement between the translation and the original version of
+     this License or a notice or disclaimer, the original version will
+     prevail.
+
+     If a section in the Document is Entitled "Acknowledgements",
+     "Dedications", or "History", the requirement (section 4) to
+     Preserve its Title (section 1) will typically require changing the
+     actual title.
+
+  9. TERMINATION
+
+     You may not copy, modify, sublicense, or distribute the Document
+     except as expressly provided for under this License.  Any other
+     attempt to copy, modify, sublicense or distribute the Document is
+     void, and will automatically terminate your rights under this
+     License.  However, parties who have received copies, or rights,
+     from you under this License will not have their licenses
+     terminated so long as such parties remain in full compliance.
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+     The Free Software Foundation may publish new, revised versions of
+     the GNU Free Documentation License from time to time.  Such new
+     versions will be similar in spirit to the present version, but may
+     differ in detail to address new problems or concerns.  See
+     `http://www.gnu.org/copyleft/'.
+
+     Each version of the License is given a distinguishing version
+     number.  If the Document specifies that a particular numbered
+     version of this License "or any later version" applies to it, you
+     have the option of following the terms and conditions either of
+     that specified version or of any later version that has been
+     published (not as a draft) by the Free Software Foundation.  If
+     the Document does not specify a version number of this License,
+     you may choose any version ever published (not as a draft) by the
+     Free Software Foundation.
+
+A.1.1 ADDENDUM: How to use this License for your documents
+----------------------------------------------------------
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and license
+notices just after the title page:
+
+       Copyright (C)  YEAR  YOUR NAME.
+       Permission is granted to copy, distribute and/or modify this document
+       under the terms of the GNU Free Documentation License, Version 1.2
+       or any later version published by the Free Software Foundation;
+       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+       Texts.  A copy of the license is included in the section entitled ``GNU
+       Free Documentation License''.
+
+   If you have Invariant Sections, Front-Cover Texts and Back-Cover
+Texts, replace the "with...Texts." line with this:
+
+         with the Invariant Sections being LIST THEIR TITLES, with
+         the Front-Cover Texts being LIST, and with the Back-Cover Texts
+         being LIST.
+
+   If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+   If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
+
+
+File: automake.info,  Node: Indices,  Prev: Copying This Manual,  Up: Top
+
+Appendix B Indices
+******************
+
+* Menu:
+
+* Macro Index::                 Index of Autoconf macros
+* Variable Index::              Index of Makefile variables
+* General Index::               General index
+
+
+File: automake.info,  Node: Macro Index,  Next: Variable Index,  Up: Indices
+
+B.1 Macro Index
+===============
+
+[index]
+* Menu:
+
+* _AM_DEPENDENCIES:                      Private macros.      (line  12)
+* AC_CANONICAL_BUILD:                    Optional.            (line  43)
+* AC_CANONICAL_HOST:                     Optional.            (line  44)
+* AC_CANONICAL_TARGET:                   Optional.            (line  45)
+* AC_CONFIG_AUX_DIR <1>:                 Subpackages.         (line   6)
+* AC_CONFIG_AUX_DIR:                     Optional.            (line  21)
+* AC_CONFIG_FILES:                       Requirements.        (line  15)
+* AC_CONFIG_HEADERS:                     Optional.            (line  11)
+* AC_CONFIG_LIBOBJ_DIR:                  LIBOBJS.             (line  48)
+* AC_CONFIG_LINKS:                       Optional.            (line  16)
+* AC_CONFIG_SUBDIRS:                     Subpackages.         (line   6)
+* AC_DEFUN:                              Extending aclocal.   (line  33)
+* AC_F77_LIBRARY_LDFLAGS:                Optional.            (line  80)
+* AC_INIT:                               Public macros.       (line  32)
+* AC_LIBOBJ <1>:                         LIBOBJS.             (line  11)
+* AC_LIBOBJ <2>:                         LTLIBOBJS.           (line   6)
+* AC_LIBOBJ:                             Optional.            (line  53)
+* AC_LIBSOURCE <1>:                      LIBOBJS.             (line  17)
+* AC_LIBSOURCE:                          Optional.            (line  51)
+* AC_LIBSOURCES:                         Optional.            (line  52)
+* AC_OUTPUT:                             Requirements.        (line  15)
+* AC_PREREQ:                             Extending aclocal.   (line  33)
+* AC_PROG_CC_C_O:                        Public macros.       (line  87)
+* AC_PROG_CXX:                           Optional.            (line  71)
+* AC_PROG_F77:                           Optional.            (line  75)
+* AC_PROG_FC:                            Optional.            (line  86)
+* AC_PROG_LEX <1>:                       Public macros.       (line  92)
+* AC_PROG_LEX:                           Optional.            (line 101)
+* AC_PROG_LIBTOOL:                       Optional.            (line  91)
+* AC_PROG_RANLIB:                        Optional.            (line  67)
+* AC_PROG_YACC:                          Optional.            (line  95)
+* AC_SUBST:                              Optional.            (line 105)
+* AM_C_PROTOTYPES <1>:                   ANSI.                (line  27)
+* AM_C_PROTOTYPES <2>:                   Public macros.       (line   7)
+* AM_C_PROTOTYPES:                       Optional.            (line 116)
+* AM_CONDITIONAL:                        Conditionals.        (line   8)
+* AM_CONFIG_HEADER:                      Obsolete macros.     (line  13)
+* AM_DEP_TRACK:                          Private macros.      (line  14)
+* AM_ENABLE_MULTILIB:                    Public macros.       (line  14)
+* AM_GNU_GETTEXT:                        Optional.            (line 120)
+* AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL:  Obsolete macros.     (line  18)
+* AM_INIT_AUTOMAKE <1>:                  Public macros.       (line  23)
+* AM_INIT_AUTOMAKE:                      Requirements.        (line   6)
+* AM_MAINTAINER_MODE <1>:                maintainer-mode.     (line  36)
+* AM_MAINTAINER_MODE <2>:                Rebuilding.          (line   9)
+* AM_MAINTAINER_MODE:                    Optional.            (line 126)
+* AM_MAKE_INCLUDE:                       Private macros.      (line  20)
+* AM_OUTPUT_DEPENDENCY_COMMANDS:         Private macros.      (line  15)
+* AM_PATH_LISPDIR:                       Public macros.       (line  67)
+* AM_PATH_PYTHON:                        Python.              (line  25)
+* AM_PROG_AS:                            Public macros.       (line  82)
+* AM_PROG_CC_C_O:                        Public macros.       (line  87)
+* AM_PROG_GCJ:                           Public macros.       (line  97)
+* AM_PROG_INSTALL_STRIP:                 Private macros.      (line  25)
+* AM_PROG_LEX:                           Public macros.       (line  92)
+* AM_SANITY_CHECK:                       Private macros.      (line  30)
+* AM_SET_DEPDIR:                         Private macros.      (line  13)
+* AM_SYS_POSIX_TERMIOS:                  Obsolete macros.     (line  24)
+* AM_WITH_DMALLOC:                       Public macros.       (line 102)
+* AM_WITH_REGEX:                         Public macros.       (line 107)
+* m4_include <1>:                        Dist.                (line  17)
+* m4_include:                            Optional.            (line 134)
+
+
+File: automake.info,  Node: Variable Index,  Next: General Index,  Prev: Macro Index,  Up: Indices
+
+B.2 Variable Index
+==================
+
+[index]
+* Menu:
+
+* _DATA:                                 Data.                (line   6)
+* _HEADERS:                              Headers.             (line   6)
+* _LIBRARIES:                            A Library.           (line   6)
+* _LISP:                                 Emacs Lisp.          (line   6)
+* _LTLIBRARIES:                          Libtool Libraries.   (line   6)
+* _MANS:                                 Man pages.           (line   6)
+* _PROGRAMS <1>:                         Program Sources.     (line   6)
+* _PROGRAMS:                             Uniform.             (line  11)
+* _PYTHON:                               Python.              (line   6)
+* _SCRIPTS:                              Scripts.             (line   6)
+* _SOURCES <1>:                          Default _SOURCES.    (line   6)
+* _SOURCES:                              Program Sources.     (line  32)
+* _TEXINFOS:                             Texinfo.             (line   6)
+* ACLOCAL_AMFLAGS <1>:                   Rebuilding.          (line  12)
+* ACLOCAL_AMFLAGS:                       Local Macros.        (line  19)
+* ALLOCA <1>:                            LIBOBJS.             (line   6)
+* ALLOCA:                                LTLIBOBJS.           (line   6)
+* AM_CCASFLAGS:                          Assembly Support.    (line   8)
+* AM_CFLAGS:                             Program variables.   (line  36)
+* AM_CPPFLAGS:                           Program variables.   (line  15)
+* AM_CXXFLAGS:                           C++ Support.         (line  22)
+* AM_ETAGSFLAGS:                         Tags.                (line  25)
+* AM_FCFLAGS:                            Fortran 9x Support.  (line  22)
+* AM_FFLAGS:                             Fortran 77 Support.  (line  22)
+* AM_GCJFLAGS:                           Java Support.        (line  24)
+* AM_INSTALLCHECK_STD_OPTIONS_EXEMPT:    Options.             (line 119)
+* AM_JAVACFLAGS:                         Java.                (line  36)
+* AM_LDFLAGS <1>:                        Program variables.   (line  46)
+* AM_LDFLAGS:                            Linking.             (line  10)
+* AM_LFLAGS:                             Yacc and Lex.        (line  56)
+* AM_MAKEFLAGS:                          Subdirectories.      (line  29)
+* AM_MAKEINFOFLAGS:                      Texinfo.             (line  87)
+* AM_MAKEINFOHTMLFLAGS:                  Texinfo.             (line  88)
+* AM_RFLAGS:                             Fortran 77 Support.  (line  28)
+* AM_RUNTESTFLAGS:                       Tests.               (line  62)
+* AM_YFLAGS:                             Yacc and Lex.        (line  33)
+* ANSI2KNR:                              Public macros.       (line   7)
+* AUTOCONF:                              Invoking Automake.   (line  28)
+* AUTOM4TE:                              Invoking aclocal.    (line  45)
+* AUTOMAKE_OPTIONS <1>:                  Options.             (line  11)
+* AUTOMAKE_OPTIONS <2>:                  Dependencies.        (line  34)
+* AUTOMAKE_OPTIONS <3>:                  ANSI.                (line  14)
+* AUTOMAKE_OPTIONS:                      Public macros.       (line  26)
+* bin_PROGRAMS:                          Program Sources.     (line   6)
+* bin_SCRIPTS:                           Scripts.             (line  38)
+* build_triplet:                         Optional.            (line  46)
+* BUILT_SOURCES:                         Sources.             (line  27)
+* CC:                                    Program variables.   (line  11)
+* CCAS <1>:                              Assembly Support.    (line   8)
+* CCAS:                                  Public macros.       (line  82)
+* CCASFLAGS <1>:                         Assembly Support.    (line   8)
+* CCASFLAGS:                             Public macros.       (line  82)
+* CFLAGS:                                Program variables.   (line  11)
+* check_:                                Uniform.             (line  74)
+* check_LTLIBRARIES:                     Libtool Convenience Libraries.
+                                                              (line   6)
+* check_PROGRAMS <1>:                    Default _SOURCES.    (line  29)
+* check_PROGRAMS:                        Program Sources.     (line   6)
+* check_SCRIPTS:                         Scripts.             (line  38)
+* CLASSPATH_ENV:                         Java.                (line  45)
+* CLEANFILES:                            Clean.               (line  13)
+* COMPILE:                               Program variables.   (line  42)
+* CONFIG_STATUS_DEPENDENCIES:            Rebuilding.          (line  19)
+* CONFIGURE_DEPENDENCIES:                Rebuilding.          (line  19)
+* CPPFLAGS:                              Program variables.   (line  11)
+* CXX:                                   C++ Support.         (line  16)
+* CXXCOMPILE:                            C++ Support.         (line  25)
+* CXXFLAGS:                              C++ Support.         (line  19)
+* CXXLINK <1>:                           How the Linker is Chosen.
+                                                              (line  12)
+* CXXLINK:                               C++ Support.         (line  29)
+* DATA <1>:                              Data.                (line   7)
+* DATA:                                  Uniform.             (line  79)
+* data_DATA:                             Data.                (line   9)
+* DEFS:                                  Program variables.   (line  11)
+* DEJATOOL:                              Tests.               (line  57)
+* DESTDIR:                               Install.             (line  79)
+* dist_ <1>:                             Dist.                (line  53)
+* dist_:                                 Alternative.         (line  30)
+* dist_lisp_LISP:                        Emacs Lisp.          (line  11)
+* dist_noinst_LISP:                      Emacs Lisp.          (line  11)
+* DIST_SUBDIRS <1>:                      Dist.                (line  41)
+* DIST_SUBDIRS:                          Conditional Subdirectories.
+                                                              (line  84)
+* DISTCHECK_CONFIGURE_FLAGS:             Dist.                (line 117)
+* distcleancheck_listfiles <1>:          distcleancheck.      (line 114)
+* distcleancheck_listfiles:              Dist.                (line 111)
+* DISTCLEANFILES <1>:                    Dist.                (line 133)
+* DISTCLEANFILES:                        Clean.               (line  13)
+* distdir <1>:                           Third-Party Makefiles.
+                                                              (line  25)
+* distdir:                               Dist.                (line  89)
+* distuninstallcheck_listfiles:          Dist.                (line 111)
+* DVIPS:                                 Texinfo.             (line 113)
+* EMACS:                                 Public macros.       (line  67)
+* ETAGS_ARGS:                            Tags.                (line  25)
+* ETAGSFLAGS:                            Tags.                (line  25)
+* EXPECT:                                Tests.               (line  57)
+* EXTRA_DIST:                            Dist.                (line  30)
+* EXTRA_maude_SOURCES:                   Program and Library Variables.
+                                                              (line  53)
+* EXTRA_PROGRAMS:                        Conditional Programs.
+                                                              (line  15)
+* F77:                                   Fortran 77 Support.  (line  16)
+* F77COMPILE:                            Fortran 77 Support.  (line  31)
+* F77LINK:                               How the Linker is Chosen.
+                                                              (line  14)
+* FC:                                    Fortran 9x Support.  (line  16)
+* FCCOMPILE:                             Fortran 9x Support.  (line  25)
+* FCFLAGS:                               Fortran 9x Support.  (line  19)
+* FCLINK <1>:                            Fortran 9x Support.  (line  29)
+* FCLINK:                                How the Linker is Chosen.
+                                                              (line  16)
+* FFLAGS:                                Fortran 77 Support.  (line  19)
+* FLIBS:                                 Mixing Fortran 77 With C and C++.
+                                                              (line  21)
+* FLINK:                                 Fortran 77 Support.  (line  35)
+* GCJ:                                   Public macros.       (line  97)
+* GCJFLAGS <1>:                          Java Support.        (line  14)
+* GCJFLAGS:                              Public macros.       (line  97)
+* GCJLINK:                               How the Linker is Chosen.
+                                                              (line  10)
+* GTAGS_ARGS:                            Tags.                (line  49)
+* GZIP_ENV:                              Dist.                (line  13)
+* HEADERS:                               Uniform.             (line  79)
+* host_triplet:                          Optional.            (line  46)
+* include_HEADERS:                       Headers.             (line   6)
+* INCLUDES <1>:                          Program variables.   (line  30)
+* INCLUDES:                              Hello.               (line  80)
+* info_TEXINFOS:                         Texinfo.             (line   6)
+* JAVA:                                  Uniform.             (line  79)
+* JAVAC:                                 Java.                (line  29)
+* JAVACFLAGS:                            Java.                (line  32)
+* JAVAROOT:                              Java.                (line  41)
+* LDADD:                                 Linking.             (line  10)
+* LDFLAGS:                               Program variables.   (line  11)
+* LFLAGS:                                Yacc and Lex.        (line  56)
+* lib_LIBRARIES:                         A Library.           (line   6)
+* lib_LTLIBRARIES:                       Libtool Libraries.   (line   6)
+* libexec_PROGRAMS:                      Program Sources.     (line   6)
+* libexec_SCRIPTS:                       Scripts.             (line  38)
+* LIBOBJS <1>:                           LIBOBJS.             (line   6)
+* LIBOBJS <2>:                           LTLIBOBJS.           (line   6)
+* LIBOBJS:                               Optional.            (line  54)
+* LIBRARIES:                             Uniform.             (line  79)
+* LIBS:                                  Program variables.   (line  11)
+* LINK <1>:                              How the Linker is Chosen.
+                                                              (line  20)
+* LINK:                                  Program variables.   (line  51)
+* LISP:                                  Uniform.             (line  79)
+* lisp_LISP:                             Emacs Lisp.          (line   6)
+* lispdir:                               Public macros.       (line  67)
+* localstate_DATA:                       Data.                (line   9)
+* LTALLOCA <1>:                          LIBOBJS.             (line   6)
+* LTALLOCA:                              LTLIBOBJS.           (line   6)
+* LTLIBOBJS <1>:                         LIBOBJS.             (line   6)
+* LTLIBOBJS:                             LTLIBOBJS.           (line   6)
+* MAINTAINERCLEANFILES:                  Clean.               (line  13)
+* MAKE:                                  Subdirectories.      (line  29)
+* MAKEINFO:                              Texinfo.             (line  71)
+* MAKEINFOFLAGS:                         Texinfo.             (line  81)
+* MAKEINFOHTML:                          Texinfo.             (line  77)
+* man_MANS:                              Man pages.           (line   6)
+* MANS:                                  Uniform.             (line  79)
+* maude_AR:                              Program and Library Variables.
+                                                              (line  68)
+* maude_CCASFLAGS:                       Program and Library Variables.
+                                                              (line 131)
+* maude_CFLAGS:                          Program and Library Variables.
+                                                              (line 132)
+* maude_CPPFLAGS:                        Program and Library Variables.
+                                                              (line 133)
+* maude_CXXFLAGS:                        Program and Library Variables.
+                                                              (line 134)
+* maude_DEPENDENCIES <1>:                Program and Library Variables.
+                                                              (line 105)
+* maude_DEPENDENCIES:                    Linking.             (line  41)
+* maude_FFLAGS:                          Program and Library Variables.
+                                                              (line 135)
+* maude_GCJFLAGS:                        Program and Library Variables.
+                                                              (line 136)
+* maude_LDADD <1>:                       Program and Library Variables.
+                                                              (line  86)
+* maude_LDADD:                           Linking.             (line  17)
+* maude_LDFLAGS <1>:                     Program and Library Variables.
+                                                              (line 101)
+* maude_LDFLAGS:                         Linking.             (line  37)
+* maude_LFLAGS:                          Program and Library Variables.
+                                                              (line 137)
+* maude_LIBADD <1>:                      Program and Library Variables.
+                                                              (line  78)
+* maude_LIBADD:                          A Library.           (line  26)
+* maude_LINK:                            Program and Library Variables.
+                                                              (line 120)
+* maude_OBJCFLAGS:                       Program and Library Variables.
+                                                              (line 138)
+* maude_RFLAGS:                          Program and Library Variables.
+                                                              (line 139)
+* maude_SHORTNAME:                       Program and Library Variables.
+                                                              (line 169)
+* maude_SOURCES:                         Program and Library Variables.
+                                                              (line  18)
+* maude_YFLAGS:                          Program and Library Variables.
+                                                              (line 140)
+* MOSTLYCLEANFILES:                      Clean.               (line  13)
+* nobase_:                               Alternative.         (line  24)
+* nodist_ <1>:                           Dist.                (line  53)
+* nodist_:                               Alternative.         (line  30)
+* noinst_:                               Uniform.             (line  69)
+* noinst_HEADERS:                        Headers.             (line   6)
+* noinst_LIBRARIES:                      A Library.           (line   6)
+* noinst_LISP:                           Emacs Lisp.          (line   6)
+* noinst_LTLIBRARIES:                    Libtool Convenience Libraries.
+                                                              (line   6)
+* noinst_PROGRAMS:                       Program Sources.     (line   6)
+* noinst_SCRIPTS:                        Scripts.             (line  38)
+* OBJCLINK:                              How the Linker is Chosen.
+                                                              (line  18)
+* oldinclude_HEADERS:                    Headers.             (line   6)
+* PACKAGE:                               Dist.                (line   9)
+* pkgdata_DATA:                          Data.                (line   9)
+* pkgdata_SCRIPTS:                       Scripts.             (line  38)
+* pkgdatadir:                            Uniform.             (line  19)
+* pkginclude_HEADERS:                    Headers.             (line   6)
+* pkgincludedir:                         Uniform.             (line  19)
+* pkglib_LIBRARIES:                      A Library.           (line   6)
+* pkglib_LTLIBRARIES:                    Libtool Libraries.   (line   6)
+* pkglib_PROGRAMS:                       Program Sources.     (line   6)
+* pkglibdir:                             Uniform.             (line  19)
+* pkgpyexecdir:                          Python.              (line  86)
+* pkgpythondir:                          Python.              (line  77)
+* PROGRAMS:                              Uniform.             (line  17)
+* pyexecdir:                             Python.              (line  82)
+* PYTHON <1>:                            Python.              (line  42)
+* PYTHON:                                Uniform.             (line  79)
+* PYTHON_EXEC_PREFIX:                    Python.              (line  63)
+* PYTHON_PLATFORM:                       Python.              (line  68)
+* PYTHON_PREFIX:                         Python.              (line  58)
+* PYTHON_VERSION:                        Python.              (line  54)
+* pythondir:                             Python.              (line  73)
+* RFLAGS:                                Fortran 77 Support.  (line  25)
+* RUNTEST:                               Tests.               (line  57)
+* RUNTESTDEFAULTFLAGS:                   Tests.               (line  52)
+* RUNTESTFLAGS:                          Tests.               (line  62)
+* sbin_PROGRAMS:                         Program Sources.     (line   6)
+* sbin_SCRIPTS:                          Scripts.             (line  38)
+* SCRIPTS <1>:                           Scripts.             (line   9)
+* SCRIPTS:                               Uniform.             (line  79)
+* sharedstate_DATA:                      Data.                (line   9)
+* SOURCES <1>:                           Default _SOURCES.    (line   6)
+* SOURCES:                               Program Sources.     (line  33)
+* SUBDIRS <1>:                           Dist.                (line  41)
+* SUBDIRS:                               Subdirectories.      (line   8)
+* SUFFIXES:                              Suffixes.            (line   6)
+* sysconf_DATA:                          Data.                (line   9)
+* TAGS_DEPENDENCIES:                     Tags.                (line  35)
+* target_triplet:                        Optional.            (line  46)
+* TESTS:                                 Tests.               (line  29)
+* TESTS_ENVIRONMENT:                     Tests.               (line  29)
+* TEXI2DVI:                              Texinfo.             (line 104)
+* TEXI2PDF:                              Texinfo.             (line 109)
+* TEXINFO_TEX:                           Texinfo.             (line 117)
+* TEXINFOS <1>:                          Texinfo.             (line  48)
+* TEXINFOS:                              Uniform.             (line  79)
+* top_distdir <1>:                       Third-Party Makefiles.
+                                                              (line  25)
+* top_distdir:                           Dist.                (line  89)
+* U:                                     Public macros.       (line   7)
+* VERSION:                               Dist.                (line   9)
+* WARNINGS:                              Invoking Automake.   (line 167)
+* WITH_DMALLOC:                          Public macros.       (line 102)
+* WITH_REGEX:                            Public macros.       (line 107)
+* XFAIL_TESTS:                           Tests.               (line  33)
+* YACC:                                  Optional.            (line  96)
+* YFLAGS:                                Yacc and Lex.        (line  33)
+
+
+File: automake.info,  Node: General Index,  Prev: Variable Index,  Up: Indices
+
+B.3 General Index
+=================
+
+[index]
+* Menu:
+
+* ## (special Automake comment):         General Operation.   (line  54)
+* $(LIBOBJS) and empty libraries:        LIBOBJS.             (line  69)
+* +=:                                    General Operation.   (line  23)
+* --acdir:                               aclocal options.     (line   9)
+* --add-missing:                         Invoking Automake.   (line  41)
+* --copy:                                Invoking Automake.   (line  63)
+* --cygnus:                              Invoking Automake.   (line  67)
+* --enable-debug, example:               Conditionals.        (line  23)
+* --enable-maintainer-mode:              Optional.            (line 127)
+* --force:                               aclocal options.     (line  20)
+* --force-missing:                       Invoking Automake.   (line  72)
+* --foreign:                             Invoking Automake.   (line  78)
+* --gnits:                               Invoking Automake.   (line  82)
+* --gnits, complete description:         Gnits.               (line  21)
+* --gnu:                                 Invoking Automake.   (line  86)
+* --gnu, complete description:           Gnits.               (line   6)
+* --gnu, required files:                 Gnits.               (line   6)
+* --help <1>:                            aclocal options.     (line  13)
+* --help:                                Invoking Automake.   (line  90)
+* --help check:                          Options.             (line 114)
+* --include-deps:                        Invoking Automake.   (line  98)
+* --libdir:                              Invoking Automake.   (line  58)
+* --no-force:                            Invoking Automake.   (line 103)
+* --output:                              aclocal options.     (line  25)
+* --output-dir:                          Invoking Automake.   (line 110)
+* --print-ac-dir:                        aclocal options.     (line  28)
+* --verbose <1>:                         aclocal options.     (line  34)
+* --verbose:                             Invoking Automake.   (line 117)
+* --version <1>:                         aclocal options.     (line  37)
+* --version:                             Invoking Automake.   (line 121)
+* --version check:                       Options.             (line 114)
+* --warnings:                            Invoking Automake.   (line 126)
+* --with-dmalloc:                        Public macros.       (line 102)
+* --with-regex:                          Public macros.       (line 107)
+* -a:                                    Invoking Automake.   (line  41)
+* -c:                                    Invoking Automake.   (line  62)
+* -f:                                    Invoking Automake.   (line  71)
+* -hook targets:                         Extending.           (line  59)
+* -I:                                    aclocal options.     (line  16)
+* -i:                                    Invoking Automake.   (line  94)
+* -local targets:                        Extending.           (line  36)
+* -module, libtool:                      Libtool Modules.     (line   6)
+* -o:                                    Invoking Automake.   (line 110)
+* -v:                                    Invoking Automake.   (line 117)
+* -W:                                    Invoking Automake.   (line 126)
+* .la suffix, defined:                   Libtool Concept.     (line   6)
+* _DATA primary, defined:                Data.                (line   6)
+* _DEPENDENCIES, defined:                Linking.             (line  41)
+* _HEADERS primary, defined:             Headers.             (line   6)
+* _JAVA primary, defined:                Java.                (line   6)
+* _LDFLAGS, defined:                     Linking.             (line  37)
+* _LDFLAGS, libtool:                     Libtool Flags.       (line   6)
+* _LIBADD, libtool:                      Libtool Flags.       (line   6)
+* _LIBRARIES primary, defined:           A Library.           (line   6)
+* _LISP primary, defined:                Emacs Lisp.          (line   6)
+* _LTLIBRARIES primary, defined:         Libtool Libraries.   (line   6)
+* _MANS primary, defined:                Man pages.           (line   6)
+* _PROGRAMS primary variable:            Uniform.             (line  11)
+* _PYTHON primary, defined:              Python.              (line   6)
+* _SCRIPTS primary, defined:             Scripts.             (line   6)
+* _SOURCES and header files:             Program Sources.     (line  39)
+* _SOURCES primary, defined:             Program Sources.     (line  32)
+* _SOURCES, default:                     Default _SOURCES.    (line   6)
+* _SOURCES, empty:                       Default _SOURCES.    (line  43)
+* _TEXINFOS primary, defined:            Texinfo.             (line   6)
+* AC_SUBST and SUBDIRS:                  Conditional Subdirectories.
+                                                              (line  95)
+* acinclude.m4, defined:                 Complete.            (line  23)
+* aclocal program, introduction:         Complete.            (line  23)
+* aclocal search path:                   Macro search path.   (line   6)
+* aclocal's scheduled death:             Future of aclocal.   (line   6)
+* aclocal, extending:                    Extending aclocal.   (line   6)
+* aclocal, Invoking:                     Invoking aclocal.    (line   6)
+* aclocal, Options:                      aclocal options.     (line   6)
+* aclocal.m4, preexisting:               Complete.            (line  23)
+* Adding new SUFFIXES:                   Suffixes.            (line   6)
+* all:                                   Extending.           (line  40)
+* all-local:                             Extending.           (line  40)
+* ALLOCA, and Libtool:                   LTLIBOBJS.           (line   6)
+* ALLOCA, example:                       LIBOBJS.             (line   6)
+* ALLOCA, special handling:              LIBOBJS.             (line   6)
+* AM_CCASFLAGS and CCASFLAGS:            Flag Variables Ordering.
+                                                              (line  20)
+* AM_CFLAGS and CFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* AM_CONDITIONAL and SUBDIRS:            Conditional Subdirectories.
+                                                              (line  65)
+* AM_CPPFLAGS and CPPFLAGS:              Flag Variables Ordering.
+                                                              (line  20)
+* AM_CXXFLAGS and CXXFLAGS:              Flag Variables Ordering.
+                                                              (line  20)
+* AM_FCFLAGS and FCFLAGS:                Flag Variables Ordering.
+                                                              (line  20)
+* AM_FFLAGS and FFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* AM_GCJFLAGS and GCJFLAGS:              Flag Variables Ordering.
+                                                              (line  20)
+* AM_INIT_AUTOMAKE, example use:         Complete.            (line  11)
+* AM_LDFLAGS and LDFLAGS:                Flag Variables Ordering.
+                                                              (line  20)
+* AM_LFLAGS and LFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* AM_MAINTAINER_MODE, purpose:           maintainer-mode.     (line  36)
+* AM_OBJCFLAGS and OBJCFLAGS:            Flag Variables Ordering.
+                                                              (line  20)
+* AM_RFLAGS and RFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* AM_YFLAGS and YFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* ansi2knr <1>:                          Options.             (line  22)
+* ansi2knr:                              ANSI.                (line  14)
+* ansi2knr and LIBOBJS:                  ANSI.                (line  48)
+* ansi2knr and LTLIBOBJS:                ANSI.                (line  48)
+* Append operator:                       General Operation.   (line  23)
+* autogen.sh and autoreconf:             Libtool Issues.      (line   9)
+* autom4te:                              Invoking aclocal.    (line  45)
+* Automake constraints:                  Introduction.        (line  22)
+* automake options:                      Invoking Automake.   (line  37)
+* Automake requirements <1>:             Requirements.        (line   6)
+* Automake requirements:                 Introduction.        (line  27)
+* automake, invoking:                    Invoking Automake.   (line   6)
+* Automake, recursive operation:         General Operation.   (line  44)
+* Automatic dependency tracking:         Dependencies.        (line  11)
+* Automatic linker selection:            How the Linker is Chosen.
+                                                              (line   6)
+* autoreconf and libtoolize:             Libtool Issues.      (line   9)
+* autoupdate:                            Obsolete macros.     (line   6)
+* Auxiliary programs:                    Auxiliary Programs.  (line   6)
+* Avoiding path stripping:               Alternative.         (line  24)
+* bootstrap.sh and autoreconf:           Libtool Issues.      (line   9)
+* Bugs, reporting:                       Introduction.        (line  31)
+* BUILT_SOURCES, defined:                Sources.             (line  27)
+* C++ support:                           C++ Support.         (line   6)
+* canonicalizing Automake variables:     Canonicalization.    (line   6)
+* CCASFLAGS and AM_CCASFLAGS:            Flag Variables Ordering.
+                                                              (line  20)
+* CFLAGS and AM_CFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* cfortran:                              Mixing Fortran 77 With C and C++.
+                                                              (line   6)
+* check <1>:                             Extending.           (line  40)
+* check:                                 Tests.               (line   6)
+* check-local:                           Extending.           (line  40)
+* check-news:                            Options.             (line  29)
+* check_ primary prefix, definition:     Uniform.             (line  74)
+* check_PROGRAMS example:                Default _SOURCES.    (line  29)
+* clean:                                 Extending.           (line  40)
+* clean-local <1>:                       Extending.           (line  40)
+* clean-local:                           Clean.               (line  15)
+* Comment, special to Automake:          General Operation.   (line  54)
+* Compile Flag Variables:                Flag Variables Ordering.
+                                                              (line  20)
+* Complete example:                      Complete.            (line   6)
+* Conditional example, --enable-debug:   Conditionals.        (line  23)
+* conditional libtool libraries:         Conditional Libtool Libraries.
+                                                              (line   6)
+* Conditional programs:                  Conditional Programs.
+                                                              (line   6)
+* Conditional subdirectories:            Conditional Subdirectories.
+                                                              (line   6)
+* Conditional SUBDIRS:                   Conditional Subdirectories.
+                                                              (line   6)
+* Conditionals:                          Conditionals.        (line   6)
+* config.guess:                          Invoking Automake.   (line  39)
+* configure.ac, from GNU Hello:          Hello.               (line  16)
+* configure.ac, scanning:                configure.           (line   6)
+* conflicting definitions:               Extending.           (line  14)
+* Constraints of Automake:               Introduction.        (line  22)
+* convenience libraries, libtool:        Libtool Convenience Libraries.
+                                                              (line   6)
+* copying semantics:                     Extending.           (line  10)
+* cpio example:                          Uniform.             (line  36)
+* CPPFLAGS and AM_CPPFLAGS:              Flag Variables Ordering.
+                                                              (line  20)
+* CVS and generated files:               CVS.                 (line  49)
+* CVS and third-party files:             CVS.                 (line 140)
+* CVS and timestamps:                    CVS.                 (line  28)
+* cvs-dist:                              General Operation.   (line  12)
+* cvs-dist, non-standard example:        General Operation.   (line  12)
+* CXXFLAGS and AM_CXXFLAGS:              Flag Variables Ordering.
+                                                              (line  20)
+* cygnus:                                Options.             (line  17)
+* cygnus strictness:                     Cygnus.              (line   6)
+* DATA primary, defined:                 Data.                (line   6)
+* de-ANSI-fication, defined:             ANSI.                (line   6)
+* default _SOURCES:                      Default _SOURCES.    (line   6)
+* default source, Libtool modules example: Default _SOURCES.  (line  37)
+* definitions, conflicts:                Extending.           (line  14)
+* dejagnu <1>:                           Options.             (line  33)
+* dejagnu:                               Tests.               (line  57)
+* depcomp:                               Dependencies.        (line  22)
+* dependencies and distributed files:    distcleancheck.      (line   6)
+* Dependency tracking:                   Dependencies.        (line  11)
+* Dependency tracking, disabling:        Dependencies.        (line  37)
+* dirlist:                               Macro search path.   (line  62)
+* Disabling dependency tracking:         Dependencies.        (line  37)
+* dist:                                  Dist.                (line   9)
+* dist-bzip2 <1>:                        Options.             (line  36)
+* dist-bzip2:                            Dist.                (line 192)
+* dist-gzip:                             Dist.                (line 195)
+* dist-hook <1>:                         Extending.           (line  62)
+* dist-hook:                             Dist.                (line  71)
+* dist-shar <1>:                         Options.             (line  39)
+* dist-shar:                             Dist.                (line 198)
+* dist-tarZ <1>:                         Options.             (line  45)
+* dist-tarZ:                             Dist.                (line 204)
+* dist-zip <1>:                          Options.             (line  42)
+* dist-zip:                              Dist.                (line 201)
+* dist_ and nobase_:                     Alternative.         (line  30)
+* DIST_SUBDIRS, explained:               Conditional Subdirectories.
+                                                              (line  34)
+* distcheck:                             Dist.                (line 111)
+* distcheck-hook:                        Dist.                (line 122)
+* distclean <1>:                         distcleancheck.      (line   6)
+* distclean:                             Extending.           (line  40)
+* distclean, diagnostic:                 distcleancheck.      (line   6)
+* distclean-local <1>:                   Extending.           (line  40)
+* distclean-local:                       Clean.               (line  15)
+* distcleancheck <1>:                    distcleancheck.      (line   6)
+* distcleancheck:                        Dist.                (line 133)
+* distdir:                               Third-Party Makefiles.
+                                                              (line  25)
+* dmalloc, support for:                  Public macros.       (line 102)
+* dvi:                                   Extending.           (line  40)
+* DVI output using Texinfo:              Texinfo.             (line   6)
+* dvi-local:                             Extending.           (line  40)
+* E-mail, bug reports:                   Introduction.        (line  31)
+* EDITION Texinfo flag:                  Texinfo.             (line  18)
+* else:                                  Conditionals.        (line  38)
+* empty _SOURCES:                        Default _SOURCES.    (line  43)
+* Empty libraries:                       A Library.           (line  46)
+* Empty libraries and $(LIBOBJS):        LIBOBJS.             (line  69)
+* endif:                                 Conditionals.        (line  38)
+* Example conditional --enable-debug:    Conditionals.        (line  23)
+* Example of recursive operation:        General Operation.   (line  44)
+* Example of shared libraries:           Libtool Libraries.   (line   6)
+* Example, EXTRA_PROGRAMS:               Uniform.             (line  36)
+* Example, false and true:               true.                (line   6)
+* Example, GNU Hello:                    Hello.               (line   6)
+* Example, handling Texinfo files:       Hello.               (line  64)
+* Example, mixed language:               Mixing Fortran 77 With C and C++.
+                                                              (line  36)
+* Example, regression test:              Hello.               (line  72)
+* Executable extension:                  EXEEXT.              (line   6)
+* Exit status 77, special interpretation: Tests.              (line  20)
+* Expected test failure:                 Tests.               (line  31)
+* Extending aclocal:                     Extending aclocal.   (line   6)
+* Extending list of installation directories: Uniform.        (line  55)
+* Extension, executable:                 EXEEXT.              (line   6)
+* Extra files distributed with Automake: Invoking Automake.   (line  39)
+* EXTRA_, prepending:                    Uniform.             (line  29)
+* EXTRA_prog_SOURCES, defined:           Conditional Sources. (line  18)
+* EXTRA_PROGRAMS, defined <1>:           Conditional Programs.
+                                                              (line  15)
+* EXTRA_PROGRAMS, defined:               Uniform.             (line  36)
+* false Example:                         true.                (line   6)
+* FCFLAGS and AM_FCFLAGS:                Flag Variables Ordering.
+                                                              (line  20)
+* FDL, GNU Free Documentation License:   GNU Free Documentation License.
+                                                              (line   6)
+* FFLAGS and AM_FFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* filename-length-max=99:                Options.             (line  48)
+* Files distributed with Automake:       Invoking Automake.   (line  39)
+* First line of Makefile.am:             General Operation.   (line  60)
+* Flag Variables, Ordering:              Flag Variables Ordering.
+                                                              (line  20)
+* Flag variables, ordering:              Flag Variables Ordering.
+                                                              (line   6)
+* FLIBS, defined:                        Mixing Fortran 77 With C and C++.
+                                                              (line  21)
+* foreign:                               Options.             (line  17)
+* foreign strictness:                    Strictness.          (line  10)
+* Fortran 77 support:                    Fortran 77 Support.  (line   6)
+* Fortran 77, mixing with C and C++:     Mixing Fortran 77 With C and C++.
+                                                              (line   6)
+* Fortran 77, Preprocessing:             Preprocessing Fortran 77.
+                                                              (line   6)
+* Fortran 9x support:                    Fortran 9x Support.  (line   6)
+* GCJFLAGS and AM_GCJFLAGS:              Flag Variables Ordering.
+                                                              (line  20)
+* generated files and CVS:               CVS.                 (line  49)
+* generated files, distributed:          CVS.                 (line   9)
+* Gettext support:                       gettext.             (line   6)
+* gnits:                                 Options.             (line  17)
+* gnits strictness:                      Strictness.          (line  10)
+* gnu:                                   Options.             (line  17)
+* GNU Gettext support:                   gettext.             (line   6)
+* GNU Hello, configure.ac:               Hello.               (line  16)
+* GNU Hello, example:                    Hello.               (line   6)
+* GNU make extensions:                   General Operation.   (line  19)
+* GNU Makefile standards:                Introduction.        (line  12)
+* gnu strictness:                        Strictness.          (line  10)
+* GNUmakefile including Makefile:        Third-Party Makefiles.
+                                                              (line 107)
+* Header files in _SOURCES:              Program Sources.     (line  39)
+* HEADERS primary, defined:              Headers.             (line   6)
+* HEADERS, installation directories:     Headers.             (line   6)
+* Hello example:                         Hello.               (line   6)
+* Hello, configure.ac:                   Hello.               (line  16)
+* hook targets:                          Extending.           (line  59)
+* HP-UX 10, lex problems:                Public macros.       (line  92)
+* html:                                  Extending.           (line  40)
+* HTML output using Texinfo:             Texinfo.             (line   6)
+* html-local:                            Extending.           (line  40)
+* id:                                    Tags.                (line  44)
+* if:                                    Conditionals.        (line  38)
+* include <1>:                           Include.             (line   6)
+* include:                               Dist.                (line  17)
+* include, distribution:                 Dist.                (line  17)
+* INCLUDES, example usage:               Hello.               (line  80)
+* Including Makefile fragment:           Include.             (line   6)
+* info <1>:                              Extending.           (line  40)
+* info:                                  Options.             (line  88)
+* info-local:                            Extending.           (line  40)
+* install <1>:                           Extending.           (line  40)
+* install:                               Install.             (line  45)
+* Install hook:                          Install.             (line  74)
+* Install, two parts of:                 Install.             (line  45)
+* install-data:                          Install.             (line  45)
+* install-data-hook:                     Extending.           (line  62)
+* install-data-local <1>:                Extending.           (line  40)
+* install-data-local:                    Install.             (line  68)
+* install-exec <1>:                      Extending.           (line  40)
+* install-exec:                          Install.             (line  45)
+* install-exec-hook:                     Extending.           (line  62)
+* install-exec-local <1>:                Extending.           (line  40)
+* install-exec-local:                    Install.             (line  68)
+* install-info <1>:                      Options.             (line  88)
+* install-info:                          Texinfo.             (line  65)
+* install-info target:                   Texinfo.             (line  65)
+* install-man <1>:                       Options.             (line  94)
+* install-man:                           Man pages.           (line  32)
+* install-man target:                    Man pages.           (line  32)
+* install-strip:                         Install.             (line 108)
+* Installation directories, extending list: Uniform.          (line  55)
+* Installation support:                  Install.             (line   6)
+* installcheck:                          Extending.           (line  40)
+* installcheck-local:                    Extending.           (line  40)
+* installdirs <1>:                       Extending.           (line  40)
+* installdirs:                           Install.             (line 108)
+* installdirs-local:                     Extending.           (line  40)
+* Installing headers:                    Headers.             (line   6)
+* Installing scripts:                    Scripts.             (line  38)
+* installing versioned binaries:         Extending.           (line  78)
+* Interfacing with third-party packages: Third-Party Makefiles.
+                                                              (line   6)
+* Invoking aclocal:                      Invoking aclocal.    (line   6)
+* Invoking automake:                     Invoking Automake.   (line   6)
+* JAVA primary, defined:                 Java.                (line   6)
+* JAVA restrictions:                     Java.                (line  19)
+* Java support:                          Java Support.        (line   6)
+* LDFLAGS and AM_LDFLAGS:                Flag Variables Ordering.
+                                                              (line  20)
+* lex problems with HP-UX 10:            Public macros.       (line  92)
+* lex, multiple lexers:                  Yacc and Lex.        (line  60)
+* LFLAGS and AM_LFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* libltdl, introduction:                 Libtool Concept.     (line  30)
+* LIBOBJS and ansi2knr:                  ANSI.                (line  48)
+* LIBOBJS, and Libtool:                  LTLIBOBJS.           (line   6)
+* LIBOBJS, example:                      LIBOBJS.             (line   6)
+* LIBOBJS, special handling:             LIBOBJS.             (line   6)
+* LIBRARIES primary, defined:            A Library.           (line   6)
+* libtool convenience libraries:         Libtool Convenience Libraries.
+                                                              (line   6)
+* libtool libraries, conditional:        Conditional Libtool Libraries.
+                                                              (line   6)
+* libtool library, definition:           Libtool Concept.     (line   6)
+* libtool modules:                       Libtool Modules.     (line   6)
+* Libtool modules, default source example: Default _SOURCES.  (line  37)
+* libtool, introduction:                 Libtool Concept.     (line   6)
+* libtoolize and autoreconf:             Libtool Issues.      (line   9)
+* libtoolize, no longer run by automake: Libtool Issues.      (line   9)
+* Linking Fortran 77 with C and C++:     Mixing Fortran 77 With C and C++.
+                                                              (line   6)
+* LISP primary, defined:                 Emacs Lisp.          (line   6)
+* LN_S example:                          Extending.           (line  78)
+* local targets:                         Extending.           (line  36)
+* LTALLOCA, special handling:            LTLIBOBJS.           (line   6)
+* LTLIBOBJS and ansi2knr:                ANSI.                (line  48)
+* LTLIBOBJS, special handling:           LTLIBOBJS.           (line   6)
+* LTLIBRARIES primary, defined:          Libtool Libraries.   (line   6)
+* ltmain.sh not found:                   Libtool Issues.      (line   9)
+* m4_include, distribution:              Dist.                (line  17)
+* Macro search path:                     Macro search path.   (line   6)
+* Macros Automake recognizes:            Optional.            (line   6)
+* maintainer-clean-local:                Clean.               (line  15)
+* make check:                            Tests.               (line   6)
+* make clean support:                    Clean.               (line   6)
+* make dist:                             Dist.                (line   9)
+* make distcheck:                        Dist.                (line 111)
+* make distclean, diagnostic:            distcleancheck.      (line   6)
+* make distcleancheck:                   Dist.                (line 111)
+* make distuninstallcheck:               Dist.                (line 111)
+* make install support:                  Install.             (line   6)
+* make installcheck, testing --help and --version: Options.   (line 114)
+* Make rules, overriding:                General Operation.   (line  32)
+* Make targets, overriding:              General Operation.   (line  32)
+* Makefile fragment, including:          Include.             (line   6)
+* Makefile.am, first line:               General Operation.   (line  60)
+* MANS primary, defined:                 Man pages.           (line   6)
+* many outputs, rules with:              Multiple Outputs.    (line   6)
+* mdate-sh:                              Texinfo.             (line  18)
+* missing, purpose:                      maintainer-mode.     (line   9)
+* Mixed language example:                Mixing Fortran 77 With C and C++.
+                                                              (line  36)
+* Mixing Fortran 77 with C and C++:      Mixing Fortran 77 With C and C++.
+                                                              (line   6)
+* Mixing Fortran 77 with C and/or C++:   Mixing Fortran 77 With C and C++.
+                                                              (line   6)
+* modules, libtool:                      Libtool Modules.     (line   6)
+* mostlyclean:                           Extending.           (line  40)
+* mostlyclean-local <1>:                 Extending.           (line  40)
+* mostlyclean-local:                     Clean.               (line  15)
+* Multiple configure.ac files:           Invoking Automake.   (line   6)
+* Multiple lex lexers:                   Yacc and Lex.        (line  60)
+* multiple outputs, rules with:          Multiple Outputs.    (line   6)
+* Multiple yacc parsers:                 Yacc and Lex.        (line  60)
+* Nesting packages:                      Subpackages.         (line   6)
+* no-define <1>:                         Options.             (line  56)
+* no-define:                             Public macros.       (line  61)
+* no-dependencies <1>:                   Options.             (line  61)
+* no-dependencies:                       Dependencies.        (line  34)
+* no-dist:                               Options.             (line  68)
+* no-dist-gzip:                          Options.             (line  72)
+* no-exeext:                             Options.             (line  75)
+* no-installinfo <1>:                    Options.             (line  85)
+* no-installinfo:                        Texinfo.             (line  65)
+* no-installman <1>:                     Options.             (line  91)
+* no-installman:                         Man pages.           (line  32)
+* no-texinfo.tex <1>:                    Options.             (line 101)
+* no-texinfo.tex:                        Texinfo.             (line  60)
+* nobase_ and dist_ or nodist_:          Alternative.         (line  30)
+* nobase_ prefix:                        Alternative.         (line  24)
+* nodist_ and nobase_:                   Alternative.         (line  30)
+* noinst_ primary prefix, definition:    Uniform.             (line  69)
+* noinstall-info option:                 Texinfo.             (line  65)
+* noinstall-man option:                  Man pages.           (line  32)
+* Non-GNU packages:                      Strictness.          (line   6)
+* Non-standard targets:                  General Operation.   (line  12)
+* nostdinc:                              Options.             (line  97)
+* OBJCFLAGS and AM_OBJCFLAGS:            Flag Variables Ordering.
+                                                              (line  20)
+* Objects in subdirectory:               Program and Library Variables.
+                                                              (line  51)
+* obsolete macros:                       Obsolete macros.     (line   6)
+* Option, --warnings=CATEGORY:           Options.             (line 193)
+* Option, -WCATEGORY:                    Options.             (line 193)
+* Option, ansi2knr:                      Options.             (line  22)
+* Option, check-news:                    Options.             (line  29)
+* Option, cygnus:                        Options.             (line  17)
+* Option, dejagnu:                       Options.             (line  33)
+* Option, dist-bzip2:                    Options.             (line  36)
+* Option, dist-shar:                     Options.             (line  39)
+* Option, dist-tarZ:                     Options.             (line  45)
+* Option, dist-zip:                      Options.             (line  42)
+* Option, filename-length-max=99:        Options.             (line  48)
+* Option, foreign:                       Options.             (line  17)
+* Option, gnits:                         Options.             (line  17)
+* Option, gnu:                           Options.             (line  17)
+* Option, no-define:                     Options.             (line  56)
+* Option, no-dependencies:               Options.             (line  61)
+* Option, no-dist:                       Options.             (line  68)
+* Option, no-dist-gzip:                  Options.             (line  72)
+* Option, no-exeext:                     Options.             (line  75)
+* Option, no-installinfo:                Options.             (line  85)
+* Option, no-installman:                 Options.             (line  91)
+* Option, no-texinfo.tex:                Options.             (line 101)
+* Option, noinstall-info:                Texinfo.             (line  65)
+* Option, noinstall-man:                 Man pages.           (line  32)
+* Option, nostdinc:                      Options.             (line  97)
+* Option, readme-alpha:                  Options.             (line 105)
+* Option, tar-pax:                       Options.             (line 143)
+* Option, tar-ustar:                     Options.             (line 143)
+* Option, tar-v7:                        Options.             (line 143)
+* Option, VERSION:                       Options.             (line 188)
+* Option, warnings:                      Options.             (line 193)
+* Options, aclocal:                      aclocal options.     (line   6)
+* Options, automake:                     Invoking Automake.   (line  37)
+* Options, std-options:                  Options.             (line 114)
+* Options, subdir-objects:               Options.             (line 134)
+* Ordering flag variables:               Flag Variables Ordering.
+                                                              (line   6)
+* Overriding make rules:                 General Operation.   (line  32)
+* Overriding make targets:               General Operation.   (line  32)
+* Overriding make variables:             General Operation.   (line  37)
+* overriding rules:                      Extending.           (line  25)
+* overriding semantics:                  Extending.           (line  25)
+* PACKAGE, directory:                    Uniform.             (line  19)
+* PACKAGE, prevent definition:           Public macros.       (line  61)
+* Path stripping, avoiding:              Alternative.         (line  24)
+* pax format:                            Options.             (line 143)
+* pdf:                                   Extending.           (line  40)
+* PDF output using Texinfo:              Texinfo.             (line   6)
+* pdf-local:                             Extending.           (line  40)
+* Per-object flags, emulated:            Per-Object Flags.    (line   6)
+* per-target compilation flags, defined: Program and Library Variables.
+                                                              (line 141)
+* pkgdatadir, defined:                   Uniform.             (line  19)
+* pkgincludedir, defined:                Uniform.             (line  19)
+* pkglibdir, defined:                    Uniform.             (line  19)
+* POSIX termios headers:                 Obsolete macros.     (line  24)
+* Preprocessing Fortran 77:              Preprocessing Fortran 77.
+                                                              (line   6)
+* Primary variable, DATA:                Data.                (line   6)
+* Primary variable, defined:             Uniform.             (line  11)
+* Primary variable, HEADERS:             Headers.             (line   6)
+* Primary variable, JAVA:                Java.                (line   6)
+* Primary variable, LIBRARIES:           A Library.           (line   6)
+* Primary variable, LISP:                Emacs Lisp.          (line   6)
+* Primary variable, LTLIBRARIES:         Libtool Libraries.   (line   6)
+* Primary variable, MANS:                Man pages.           (line   6)
+* Primary variable, PROGRAMS:            Uniform.             (line  11)
+* Primary variable, PYTHON:              Python.              (line   6)
+* Primary variable, SCRIPTS:             Scripts.             (line   6)
+* Primary variable, SOURCES:             Program Sources.     (line  32)
+* Primary variable, TEXINFOS:            Texinfo.             (line   6)
+* prog_LDADD, defined:                   Linking.             (line  12)
+* PROGRAMS primary variable:             Uniform.             (line  11)
+* Programs, auxiliary:                   Auxiliary Programs.  (line   6)
+* PROGRAMS, bindir:                      Program Sources.     (line   6)
+* Programs, conditional:                 Conditional Programs.
+                                                              (line   6)
+* Proxy Makefile for third-party packages: Third-Party Makefiles.
+                                                              (line 124)
+* ps:                                    Extending.           (line  40)
+* PS output using Texinfo:               Texinfo.             (line   6)
+* ps-local:                              Extending.           (line  40)
+* PYTHON primary, defined:               Python.              (line   6)
+* Ratfor programs:                       Preprocessing Fortran 77.
+                                                              (line   6)
+* README-alpha:                          Gnits.               (line  34)
+* readme-alpha:                          Options.             (line 105)
+* rebuild rules <1>:                     CVS.                 (line   9)
+* rebuild rules:                         Rebuilding.          (line   6)
+* Recognized macros by Automake:         Optional.            (line   6)
+* Recursive operation of Automake:       General Operation.   (line  44)
+* recursive targets and third-party Makefiles: Third-Party Makefiles.
+                                                              (line  15)
+* regex package:                         Public macros.       (line 107)
+* Regression test example:               Hello.               (line  72)
+* Reporting bugs:                        Introduction.        (line  31)
+* Requirements of Automake:              Requirements.        (line   6)
+* Requirements, Automake:                Introduction.        (line  27)
+* Restrictions for JAVA:                 Java.                (line  19)
+* RFLAGS and AM_RFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* rules with multiple outputs:           Multiple Outputs.    (line   6)
+* rules, conflicting:                    Extending.           (line  14)
+* rules, overriding:                     Extending.           (line  25)
+* rx package:                            Public macros.       (line 107)
+* Scanning configure.ac:                 configure.           (line   6)
+* SCRIPTS primary, defined:              Scripts.             (line   6)
+* SCRIPTS, installation directories:     Scripts.             (line  38)
+* Selecting the linker automatically:    How the Linker is Chosen.
+                                                              (line   6)
+* Shared libraries, support for:         A Shared Library.    (line   6)
+* site.exp:                              Tests.               (line  64)
+* SOURCES primary, defined:              Program Sources.     (line  32)
+* Special Automake comment:              General Operation.   (line  54)
+* std-options:                           Options.             (line 114)
+* Strictness, command line:              Invoking Automake.   (line  37)
+* Strictness, defined:                   Strictness.          (line  10)
+* Strictness, foreign:                   Strictness.          (line  10)
+* Strictness, gnits:                     Strictness.          (line  10)
+* Strictness, gnu:                       Strictness.          (line  10)
+* subdir-objects:                        Options.             (line 134)
+* Subdirectories, building conditionally: Conditional Subdirectories.
+                                                              (line   6)
+* Subdirectories, configured conditionally: Conditional Subdirectories.
+                                                              (line 119)
+* Subdirectories, not distributed:       Conditional Subdirectories.
+                                                              (line 170)
+* Subdirectory, objects in:              Program and Library Variables.
+                                                              (line  51)
+* SUBDIRS and AC_SUBST:                  Conditional Subdirectories.
+                                                              (line  95)
+* SUBDIRS and AM_CONDITIONAL:            Conditional Subdirectories.
+                                                              (line  65)
+* SUBDIRS, conditional:                  Conditional Subdirectories.
+                                                              (line   6)
+* SUBDIRS, explained:                    Subdirectories.      (line   6)
+* Subpackages:                           Subpackages.         (line   6)
+* suffix .la, defined:                   Libtool Concept.     (line   6)
+* suffix .lo, defined:                   Libtool Concept.     (line  15)
+* SUFFIXES, adding:                      Suffixes.            (line   6)
+* Support for C++:                       C++ Support.         (line   6)
+* Support for Fortran 77:                Fortran 77 Support.  (line   6)
+* Support for Fortran 9x:                Fortran 9x Support.  (line   6)
+* Support for GNU Gettext:               gettext.             (line   6)
+* Support for Java:                      Java Support.        (line   6)
+* tags:                                  Tags.                (line   9)
+* TAGS support:                          Tags.                (line   6)
+* tar formats:                           Options.             (line 143)
+* tar-pax:                               Options.             (line 143)
+* tar-ustar:                             Options.             (line 143)
+* tar-v7:                                Options.             (line 143)
+* Target, install-info:                  Texinfo.             (line  65)
+* Target, install-man:                   Man pages.           (line  32)
+* termios POSIX headers:                 Obsolete macros.     (line  24)
+* Test suites:                           Tests.               (line   6)
+* Tests, expected failure:               Tests.               (line  31)
+* Texinfo file handling example:         Hello.               (line  64)
+* Texinfo flag, EDITION:                 Texinfo.             (line  18)
+* Texinfo flag, UPDATED:                 Texinfo.             (line  18)
+* Texinfo flag, UPDATED-MONTH:           Texinfo.             (line  18)
+* Texinfo flag, VERSION:                 Texinfo.             (line  18)
+* texinfo.tex:                           Texinfo.             (line  53)
+* TEXINFOS primary, defined:             Texinfo.             (line   6)
+* third-party files and CVS:             CVS.                 (line 140)
+* Third-party packages, interfacing with: Third-Party Makefiles.
+                                                              (line   6)
+* timestamps and CVS:                    CVS.                 (line  28)
+* true Example:                          true.                (line   6)
+* underquoted AC_DEFUN:                  Extending aclocal.   (line  33)
+* Uniform naming scheme:                 Uniform.             (line   6)
+* uninstall <1>:                         Extending.           (line  40)
+* uninstall:                             Install.             (line 108)
+* uninstall-hook:                        Extending.           (line  62)
+* uninstall-local:                       Extending.           (line  40)
+* UPDATED Texinfo flag:                  Texinfo.             (line  18)
+* UPDATED-MONTH Texinfo flag:            Texinfo.             (line  18)
+* user variables:                        User Variables.      (line   6)
+* ustar format:                          Options.             (line 143)
+* v7 tar format:                         Options.             (line 143)
+* variables, conflicting:                Extending.           (line  14)
+* Variables, overriding:                 General Operation.   (line  37)
+* variables, reserved for the user:      User Variables.      (line   6)
+* VERSION Texinfo flag:                  Texinfo.             (line  18)
+* VERSION, prevent definition:           Public macros.       (line  61)
+* version.m4, example:                   Rebuilding.          (line  19)
+* version.sh, example:                   Rebuilding.          (line  19)
+* versioned binaries, installing:        Extending.           (line  78)
+* wildcards:                             wildcards.           (line   6)
+* Windows:                               EXEEXT.              (line   6)
+* yacc, multiple parsers:                Yacc and Lex.        (line  60)
+* YFLAGS and AM_YFLAGS:                  Flag Variables Ordering.
+                                                              (line  20)
+* ylwrap:                                Yacc and Lex.        (line  60)
+* zardoz example:                        Complete.            (line  35)
+
+
Index: /trunk/essentials/sys-devel/automake-1.9/doc/automake.texi
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/automake.texi	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/automake.texi	(revision 3089)
@@ -0,0 +1,9997 @@
+\input texinfo   @c -*-texinfo-*-
+@c %**start of header
+@setfilename automake.info
+@settitle automake
+@setchapternewpage off
+@c %**end of header
+
+@include version.texi
+
+@copying
+
+This manual is for @acronym{GNU} Automake (version @value{VERSION},
+@value{UPDATED}), a program that creates GNU standards-compliant
+Makefiles from template files.
+
+Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+2003, 2004, 2005 Free Software Foundation, Inc.
+
+@quotation
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the @acronym{GNU} Free Documentation License,
+Version 1.2 or any later version published by the Free Software
+Foundation; with no Invariant Sections, with the Front-Cover texts
+being ``A @acronym{GNU} Manual,'' and with the Back-Cover Texts as in
+(a) below.  A copy of the license is included in the section entitled
+``@acronym{GNU} Free Documentation License.''
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and
+modify this @acronym{GNU} Manual, like @acronym{GNU} software.  Copies
+published by the Free Software Foundation raise funds for
+@acronym{GNU} development.''
+@end quotation
+@end copying
+
+@dircategory Software development
+@direntry
+* automake: (automake).         Making Makefile.in's.
+@end direntry
+
+@dircategory Individual utilities
+@direntry
+* aclocal: (automake)Invoking aclocal.          Generating aclocal.m4.
+@end direntry
+
+@titlepage
+@title GNU Automake
+@subtitle For version @value{VERSION}, @value{UPDATED}
+@author David MacKenzie
+@author Tom Tromey
+@author Alexandre Duret-Lutz
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+
+@c Define an index of configure macros.
+@defcodeindex ac
+@c Define an index of options.
+@defcodeindex op
+@c Define an index of targets.
+@defcodeindex tr
+@c Define an index of commands.
+@defcodeindex cm
+
+@c Put the macros in the function index.
+@syncodeindex ac fn
+
+@c Put everything else into one index (arbitrarily chosen to be the concept index).
+@syncodeindex op cp
+@syncodeindex tr cp
+@syncodeindex cm cp
+
+@ifnottex
+@node Top
+@comment  node-name,  next,  previous,  up
+@top GNU Automake
+
+@insertcopying
+
+@menu
+* Introduction::                Automake's purpose
+* Generalities::                General ideas
+* Examples::                    Some example packages
+* Invoking Automake::           Creating a Makefile.in
+* configure::                   Scanning configure.ac or configure.in
+* Directories::                 Declaring subdirectories
+* Programs::                    Building programs and libraries
+* Other objects::               Other derived objects
+* Other GNU Tools::             Other GNU Tools
+* Documentation::               Building documentation
+* Install::                     What gets installed
+* Clean::                       What gets cleaned
+* Dist::                        What goes in a distribution
+* Tests::                       Support for test suites
+* Rebuilding::                  Automatic rebuilding of Makefile
+* Options::                     Changing Automake's behavior
+* Miscellaneous::               Miscellaneous rules
+* Include::                     Including extra files in an Automake template.
+* Conditionals::                Conditionals
+* Gnits::                       The effect of @option{--gnu} and @option{--gnits}
+* Cygnus::                      The effect of @option{--cygnus}
+* Not Enough::                  When Automake is not Enough
+* Distributing::                Distributing the Makefile.in
+* API versioning::              About compatibility between Automake versions
+* Upgrading::                   Upgrading to a Newer Automake Version
+* FAQ::                         Frequently Asked Questions
+* History::                     Notes about the history of Automake
+* Copying This Manual::         How to make copies of this manual
+* Indices::                     Indices of variables, macros, and concepts
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+General ideas
+
+* General Operation::           General operation of Automake
+* Strictness::                  Standards conformance checking
+* Uniform::                     The Uniform Naming Scheme
+* Canonicalization::            How derived variables are named
+* User Variables::              Variables reserved for the user
+* Auxiliary Programs::          Programs automake might require
+
+Some example packages
+
+* Complete::                    A simple example, start to finish
+* Hello::                       A classic program
+* true::                        Building true and false
+
+Scanning @file{configure.ac}
+
+* Requirements::                Configuration requirements
+* Optional::                    Other things Automake recognizes
+* Invoking aclocal::            Auto-generating aclocal.m4
+* aclocal options::             aclocal command line arguments
+* Macro search path::           Modifying aclocal's search path
+* Macros::                      Autoconf macros supplied with Automake
+* Extending aclocal::           Writing your own aclocal macros
+* Local Macros::                Organizing local macros
+* Future of aclocal::           aclocal's scheduled death
+
+Auto-generating aclocal.m4
+
+* aclocal options::             Options supported by aclocal
+* Macro search path::           How aclocal finds .m4 files
+
+Autoconf macros supplied with Automake
+
+* Public macros::               Macros that you can use.
+* Obsolete macros::             Macros that you should stop using.
+* Private macros::              Macros that you should not use.
+
+Directories
+
+* Subdirectories::              Building subdirectories recursively
+* Conditional Subdirectories::  Conditionally not building directories
+* Alternative::                 Subdirectories without recursion
+* Subpackages::                 Nesting packages
+
+Building Programs and Libraries
+
+* A Program::                   Building a program
+* A Library::                   Building a library
+* A Shared Library::            Building a Libtool library
+* Program and Library Variables::  Variables controlling program and
+                                library builds
+* Default _SOURCES::            Default source files
+* LIBOBJS::                     Special handling for LIBOBJS and ALLOCA
+* Program variables::           Variables used when building a program
+* Yacc and Lex::                Yacc and Lex support
+* C++ Support::                 Compiling C++ sources
+* Assembly Support::            Compiling assembly sources
+* Fortran 77 Support::          Compiling Fortran 77 sources
+* Fortran 9x Support::          Compiling Fortran 9x sources
+* Java Support::                Compiling Java sources
+* Support for Other Languages::  Compiling other languages
+* ANSI::                        Automatic de-ANSI-fication
+* Dependencies::                Automatic dependency tracking
+* EXEEXT::                      Support for executable extensions
+
+Building a program
+
+* Program Sources::             Defining program sources
+* Linking::                     Linking with libraries or extra objects
+* Conditional Sources::         Handling conditional sources
+* Conditional Programs::        Building program conditionally
+
+Building a Shared Library
+
+* Libtool Concept::             Introducing Libtool
+* Libtool Libraries::           Declaring Libtool Libraries
+* Conditional Libtool Libraries::  Building Libtool Libraries Conditionally
+* Conditional Libtool Sources::  Choosing Library Sources Conditionally
+* Libtool Convenience Libraries::  Building Convenience Libtool Libraries
+* Libtool Modules::             Building Libtool Modules
+* Libtool Flags::               Using _LIBADD and _LDFLAGS
+* LTLIBOBJS::                   Using $(LTLIBOBJS) and $(LTALLOCA)
+* Libtool Issues::              Common Issues Related to Libtool's Use
+
+Fortran 77 Support
+
+* Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
+* Compiling Fortran 77 Files::  Compiling Fortran 77 sources
+* Mixing Fortran 77 With C and C++::  Mixing Fortran 77 With C and C++
+
+Mixing Fortran 77 With C and C++
+
+* How the Linker is Chosen::    Automatic linker selection
+
+Fortran 9x Support
+
+* Compiling Fortran 9x Files::  Compiling Fortran 9x sources
+
+Other Derived Objects
+
+* Scripts::                     Executable scripts
+* Headers::                     Header files
+* Data::                        Architecture-independent data files
+* Sources::                     Derived sources
+
+Built sources
+
+* Built sources example::       Several ways to handle built sources.
+
+Other GNU Tools
+
+* Emacs Lisp::                  Emacs Lisp
+* gettext::                     Gettext
+* Libtool::                     Libtool
+* Java::                        Java
+* Python::                      Python
+
+Building documentation
+
+* Texinfo::                     Texinfo
+* Man pages::                   Man pages
+
+Miscellaneous Rules
+
+* Tags::                        Interfacing to etags and mkid
+* Suffixes::                    Handling new file extensions
+* Multilibs::                   Support for multilibs.
+
+When Automake Isn't Enough
+
+* Extending::                   Adding new rules or overriding existing ones.
+* Third-Party Makefiles::       Integrating Non-Automake @file{Makefile}s.
+
+Frequently Asked Questions about Automake
+
+* CVS::                         CVS and generated files
+* maintainer-mode::             missing and AM_MAINTAINER_MODE
+* wildcards::                   Why doesn't Automake support wildcards?
+* distcleancheck::              Files left in build directory after distclean
+* Flag Variables Ordering::     CFLAGS vs.@: AM_CFLAGS vs.@: mumble_CFLAGS
+* renamed objects::             Why are object files sometimes renamed?
+* Per-Object Flags::            How to simulate per-object flags?
+* Multiple Outputs::            Writing rules for tools with many output files
+* Hard-Coded Install Paths::    Installing to Hard-Coded Locations
+
+History of Automake
+
+* Timeline::                    The Automake story.
+* Dependency Tracking Evolution::  Evolution of Automatic Dependency Tracking
+* Releases::                    Statistics about Automake Releases
+
+Copying This Manual
+
+* GNU Free Documentation License::  License for copying this manual
+
+Indices
+
+* Macro Index::                 Index of Autoconf macros
+* Variable Index::              Index of Makefile variables
+* General Index::               General index
+
+@end detailmenu
+@end menu
+
+@end ifnottex
+
+
+@node Introduction
+@chapter Introduction
+
+Automake is a tool for automatically generating @file{Makefile.in}s from
+files called @file{Makefile.am}.  Each @file{Makefile.am} is basically a
+series of @command{make} variable definitions@footnote{These variables are
+also called @dfn{make macros} in Make terminology, however in this
+manual we reserve the term @dfn{macro} for Autoconf's macros.}, with
+rules being thrown in occasionally.  The generated @file{Makefile.in}s
+are compliant with the GNU Makefile standards.
+
+@cindex GNU Makefile standards
+
+The GNU Makefile Standards Document
+(@pxref{Makefile Conventions, , , standards, The GNU Coding Standards})
+is long, complicated, and subject to change.  The goal of Automake is to
+remove the burden of Makefile maintenance from the back of the
+individual GNU maintainer (and put it on the back of the Automake
+maintainer).
+
+The typical Automake input file is simply a series of variable definitions.
+Each such file is processed to create a @file{Makefile.in}.  There
+should generally be one @file{Makefile.am} per directory of a project.
+
+@cindex Constraints of Automake
+@cindex Automake constraints
+
+Automake does constrain a project in certain ways; for instance, it
+assumes that the project uses Autoconf (@pxref{Top, , Introduction,
+autoconf, The Autoconf Manual}), and enforces certain restrictions on
+the @file{configure.ac} contents@footnote{Older Autoconf versions used
+@file{configure.in}.  Autoconf 2.50 and greater promotes
+@file{configure.ac} over @file{configure.in}.  The rest of this
+documentation will refer to @file{configure.ac}, but Automake also
+supports @file{configure.in} for backward compatibility.}.
+
+@cindex Automake requirements
+@cindex Requirements, Automake
+
+Automake requires @command{perl} in order to generate the
+@file{Makefile.in}s.  However, the distributions created by Automake are
+fully GNU standards-compliant, and do not require @command{perl} in order
+to be built.
+
+@cindex Bugs, reporting
+@cindex Reporting bugs
+@cindex E-mail, bug reports
+
+Mail suggestions and bug reports for Automake to
+@email{bug-automake@@gnu.org}.
+
+
+@node Generalities
+@chapter General ideas
+
+The following sections cover a few basic ideas that will help you
+understand how Automake works.
+
+@menu
+* General Operation::           General operation of Automake
+* Strictness::                  Standards conformance checking
+* Uniform::                     The Uniform Naming Scheme
+* Canonicalization::            How derived variables are named
+* User Variables::              Variables reserved for the user
+* Auxiliary Programs::          Programs automake might require
+@end menu
+
+
+@node General Operation
+@section General Operation
+
+Automake works by reading a @file{Makefile.am} and generating a
+@file{Makefile.in}.  Certain variables and rules defined in the
+@file{Makefile.am} instruct Automake to generate more specialized code;
+for instance, a @code{bin_PROGRAMS} variable definition will cause rules
+for compiling and linking programs to be generated.
+
+@cindex Non-standard targets
+@cindex @code{cvs-dist}, non-standard example
+@trindex cvs-dist
+
+The variable definitions and rules in the @file{Makefile.am} are
+copied verbatim into the generated file.  This allows you to add
+arbitrary code into the generated @file{Makefile.in}.  For instance,
+the Automake distribution includes a non-standard rule for the
+@code{cvs-dist} target, which the Automake maintainer uses to make
+distributions from his source control system.
+
+@cindex GNU make extensions
+
+Note that most GNU make extensions are not recognized by Automake.  Using
+such extensions in a @file{Makefile.am} will lead to errors or confusing
+behavior.
+
+@cindex Append operator
+@cmindex +=
+A special exception is that the GNU make append operator, @samp{+=}, is
+supported.  This operator appends its right hand argument to the variable
+specified on the left.  Automake will translate the operator into
+an ordinary @samp{=} operator; @samp{+=} will thus work with any make program.
+
+Automake tries to keep comments grouped with any adjoining rules or
+variable definitions.
+
+@cindex Make targets, overriding
+@cindex Make rules, overriding
+@cindex Overriding make rules
+@cindex Overriding make targets
+
+A rule defined in @file{Makefile.am} generally overrides any such
+rule of a similar name that would be automatically generated by
+@command{automake}.  Although this is a supported feature, it is generally
+best to avoid making use of it, as sometimes the generated rules are
+very particular.
+
+@cindex Variables, overriding
+@cindex Overriding make variables
+
+Similarly, a variable defined in @file{Makefile.am} or
+@code{AC_SUBST}ed from @file{configure.ac} will override any
+definition of the variable that @command{automake} would ordinarily
+create.  This feature is more often useful than the ability to
+override a rule.  Be warned that many of the variables generated by
+@command{automake} are considered to be for internal use only, and their
+names might change in future releases.
+
+@cindex Recursive operation of Automake
+@cindex Automake, recursive operation
+@cindex Example of recursive operation
+
+When examining a variable definition, Automake will recursively examine
+variables referenced in the definition.  For example, if Automake is
+looking at the content of @code{foo_SOURCES} in this snippet
+
+@example
+xs = a.c b.c
+foo_SOURCES = c.c $(xs)
+@end example
+
+it would use the files @file{a.c}, @file{b.c}, and @file{c.c} as the
+contents of @code{foo_SOURCES}.
+
+@cindex @code{##} (special Automake comment)
+@cindex Special Automake comment
+@cindex Comment, special to Automake
+
+Automake also allows a form of comment that is @emph{not} copied into
+the output; all lines beginning with @samp{##} (leading spaces allowed)
+are completely ignored by Automake.
+
+It is customary to make the first line of @file{Makefile.am} read:
+
+@cindex Makefile.am, first line
+@cindex First line of Makefile.am
+
+@example
+## Process this file with automake to produce Makefile.in
+@end example
+
+@c FIXME discuss putting a copyright into Makefile.am here?  I would but
+@c I don't know quite what to say.
+
+@c FIXME document customary ordering of Makefile.am here!
+
+
+@node Strictness
+@section Strictness
+
+@cindex Non-GNU packages
+
+While Automake is intended to be used by maintainers of GNU packages, it
+does make some effort to accommodate those who wish to use it, but do
+not want to use all the GNU conventions.
+
+@cindex Strictness, defined
+@cindex Strictness, @option{foreign}
+@cindex @option{foreign} strictness
+@cindex Strictness, @option{gnu}
+@cindex @option{gnu} strictness
+@cindex Strictness, @option{gnits}
+@cindex @option{gnits} strictness
+
+To this end, Automake supports three levels of @dfn{strictness}---the
+strictness indicating how stringently Automake should check standards
+conformance.
+
+The valid strictness levels are:
+
+@table @option
+@item foreign
+Automake will check for only those things that are absolutely
+required for proper operations.  For instance, whereas GNU standards
+dictate the existence of a @file{NEWS} file, it will not be required in
+this mode.  The name comes from the fact that Automake is intended to be
+used for GNU programs; these relaxed rules are not the standard mode of
+operation.
+
+@item gnu
+Automake will check---as much as possible---for compliance to the GNU
+standards for packages.  This is the default.
+
+@item gnits
+Automake will check for compliance to the as-yet-unwritten @dfn{Gnits
+standards}.  These are based on the GNU standards, but are even more
+detailed.  Unless you are a Gnits standards contributor, it is
+recommended that you avoid this option until such time as the Gnits
+standard is actually published (which may never happen).
+@end table
+
+@xref{Gnits}, for more information on the precise implications of the
+strictness level.
+
+Automake also has a special ``cygnus'' mode that is similar to
+strictness but handled differently.  This mode is useful for packages
+that are put into a ``Cygnus'' style tree (e.g., the GCC tree).
+@xref{Cygnus}, for more information on this mode.
+
+
+@node Uniform
+@section The Uniform Naming Scheme
+
+@cindex Uniform naming scheme
+
+Automake variables generally follow a @dfn{uniform naming scheme} that
+makes it easy to decide how programs (and other derived objects) are
+built, and how they are installed.  This scheme also supports
+@command{configure} time determination of what should be built.
+
+@cindex @code{_PROGRAMS} primary variable
+@cindex @code{PROGRAMS} primary variable
+@cindex Primary variable, @code{PROGRAMS}
+@cindex Primary variable, defined
+@vindex _PROGRAMS
+
+At @command{make} time, certain variables are used to determine which
+objects are to be built.  The variable names are made of several pieces
+that are concatenated together.
+
+The piece that tells automake what is being built is commonly called
+the @dfn{primary}.  For instance, the primary @code{PROGRAMS} holds a
+list of programs that are to be compiled and linked.
+@vindex PROGRAMS
+
+@cindex @code{pkglibdir}, defined
+@cindex @code{pkgincludedir}, defined
+@cindex @code{pkgdatadir}, defined
+
+@vindex pkglibdir
+@vindex pkgincludedir
+@vindex pkgdatadir
+
+@cindex @code{PACKAGE}, directory
+A different set of names is used to decide where the built objects
+should be installed.  These names are prefixes to the primary, and they
+indicate which standard directory should be used as the installation
+directory.  The standard directory names are given in the GNU standards
+(@pxref{Directory Variables, , , standards, The GNU Coding Standards}).
+Automake extends this list with @code{pkglibdir}, @code{pkgincludedir},
+and @code{pkgdatadir}; these are the same as the non-@samp{pkg}
+versions, but with @samp{$(PACKAGE)} appended.  For instance,
+@code{pkglibdir} is defined as @samp{$(libdir)/$(PACKAGE)}.
+
+@cindex @code{EXTRA_}, prepending
+For each primary, there is one additional variable named by prepending
+@samp{EXTRA_} to the primary name.  This variable is used to list
+objects that may or may not be built, depending on what
+@command{configure} decides.  This variable is required because Automake
+must statically know the entire list of objects that may be built in
+order to generate a @file{Makefile.in} that will work in all cases.
+
+@cindex @code{EXTRA_PROGRAMS}, defined
+@cindex Example, @code{EXTRA_PROGRAMS}
+@cindex @command{cpio} example
+
+For instance, @command{cpio} decides at configure time which programs
+should be built.  Some of the programs are installed in @code{bindir},
+and some are installed in @code{sbindir}:
+
+@example
+EXTRA_PROGRAMS = mt rmt
+bin_PROGRAMS = cpio pax
+sbin_PROGRAMS = $(MORE_PROGRAMS)
+@end example
+
+Defining a primary without a prefix as a variable, e.g.,
+@samp{PROGRAMS}, is an error.
+
+Note that the common @samp{dir} suffix is left off when constructing the
+variable names; thus one writes @samp{bin_PROGRAMS} and not
+@samp{bindir_PROGRAMS}.
+
+Not every sort of object can be installed in every directory.  Automake
+will flag those attempts it finds in error.
+Automake will also diagnose obvious misspellings in directory names.
+
+@cindex Extending list of installation directories
+@cindex Installation directories, extending list
+
+Sometimes the standard directories---even as augmented by
+Automake---are not enough.  In particular it is sometimes useful, for
+clarity, to install objects in a subdirectory of some predefined
+directory.  To this end, Automake allows you to extend the list of
+possible installation directories.  A given prefix (e.g., @samp{zar})
+is valid if a variable of the same name with @samp{dir} appended is
+defined (e.g., @samp{zardir}).
+
+For instance, the following snippet will install @file{file.xml} into
+@samp{$(datadir)/xml}.
+
+@example
+xmldir = $(datadir)/xml
+xml_DATA = file.xml
+@end example
+
+@cindex @samp{noinst_} primary prefix, definition
+@vindex noinst_
+
+The special prefix @samp{noinst_} indicates that the objects in question
+should be built but not installed at all.  This is usually used for
+objects required to build the rest of your package, for instance static
+libraries (@pxref{A Library}), or helper scripts.
+
+@cindex @samp{check_} primary prefix, definition
+@vindex check_
+
+The special prefix @samp{check_} indicates that the objects in question
+should not be built until the @samp{make check} command is run.  Those
+objects are not installed either.
+
+The current primary names are @samp{PROGRAMS}, @samp{LIBRARIES},
+@samp{LISP}, @samp{PYTHON}, @samp{JAVA}, @samp{SCRIPTS}, @samp{DATA},
+@samp{HEADERS}, @samp{MANS}, and @samp{TEXINFOS}.
+@vindex PROGRAMS
+@vindex LIBRARIES
+@vindex LISP
+@vindex PYTHON
+@vindex JAVA
+@vindex SCRIPTS
+@vindex DATA
+@vindex HEADERS
+@vindex MANS
+@vindex TEXINFOS
+
+Some primaries also allow additional prefixes that control other
+aspects of @command{automake}'s behavior.  The currently defined prefixes
+are @samp{dist_}, @samp{nodist_}, and @samp{nobase_}.  These prefixes
+are explained later (@pxref{Program and Library Variables}).
+
+
+@node Canonicalization
+@section How derived variables are named
+
+@cindex canonicalizing Automake variables
+
+Sometimes a Makefile variable name is derived from some text the
+maintainer supplies.  For instance, a program name listed in
+@samp{_PROGRAMS} is rewritten into the name of a @samp{_SOURCES}
+variable.  In cases like this, Automake canonicalizes the text, so that
+program names and the like do not have to follow Makefile variable naming
+rules.  All characters in the name except for letters, numbers, the
+strudel (@@), and the underscore are turned into underscores when making
+variable references.
+
+For example, if your program is named @file{sniff-glue}, the derived
+variable name would be @samp{sniff_glue_SOURCES}, not
+@samp{sniff-glue_SOURCES}.  Similarly the sources for a library named
+@file{libmumble++.a} should be listed in the
+@samp{libmumble___a_SOURCES} variable.
+
+The strudel is an addition, to make the use of Autoconf substitutions in
+variable names less obfuscating.
+
+
+@node User Variables
+@section Variables reserved for the user
+
+@cindex variables, reserved for the user
+@cindex user variables
+
+Some @file{Makefile} variables are reserved by the GNU Coding Standards
+for the use of the ``user''---the person building the package.  For
+instance, @code{CFLAGS} is one such variable.
+
+Sometimes package developers are tempted to set user variables such as
+@code{CFLAGS} because it appears to make their job easier.  However,
+the package itself should never set a user variable, particularly not
+to include switches that are required for proper compilation of the
+package.  Since these variables are documented as being for the
+package builder, that person rightfully expects to be able to override
+any of these variables at build time.
+
+To get around this problem, Automake introduces an automake-specific
+shadow variable for each user flag variable.  (Shadow variables are
+not introduced for variables like @code{CC}, where they would make no
+sense.)  The shadow variable is named by prepending @samp{AM_} to the
+user variable's name.  For instance, the shadow variable for
+@code{YFLAGS} is @code{AM_YFLAGS}.  The package maintainer---that is,
+the author(s) of the @file{Makefile.am} and @file{configure.ac}
+files---may adjust these shadow variables however necessary.
+
+@xref{Flag Variables Ordering}, for more discussion about these
+variables and how they interact with per-target variables.
+
+@node Auxiliary Programs
+@section Programs automake might require
+
+@cindex Programs, auxiliary
+@cindex Auxiliary programs
+
+Automake sometimes requires helper programs so that the generated
+@file{Makefile} can do its work properly.  There are a fairly large
+number of them, and we list them here.
+
+Although all of these files are distributed and installed with
+Automake, a couple of them are maintained separately.  The Automake
+copies are updated before each release, but we mention the original
+source in case you need more recent versions.
+
+@table @code
+@item ansi2knr.c
+@itemx ansi2knr.1
+These two files are used by the automatic de-ANSI-fication support
+(@pxref{ANSI}).
+
+@item compile
+This is a wrapper for compilers that do not accept options @option{-c}
+and @option{-o} at the same time.  It is only used when absolutely
+required.  Such compilers are rare.
+
+@item config.guess
+@itemx config.sub
+These two programs compute the canonical triplets for the given build,
+host, or target architecture.  These programs are updated regularly to
+support new architectures and fix probes broken by changes in new
+kernel versions.  Each new release of Automake comes with up-to-date
+copies of these programs.  If your copy of Automake is getting old,
+you are encouraged to fetch the latest versions of these files from
+@url{http://savannah.gnu.org/cvs/?group=config} before making a
+release.
+
+@item config-ml.in
+This file is not a program, it is a @file{configure} fragment used for
+multilib support (@pxref{Multilibs}).  This file is maintained in the
+GCC tree at @url{http://gcc.gnu.org/cvs.html}.
+
+@item depcomp
+This program understands how to run a compiler so that it will
+generate not only the desired output but also dependency information
+that is then used by the automatic dependency tracking feature.
+
+@item elisp-comp
+This program is used to byte-compile Emacs Lisp code.
+
+@item install-sh
+This is a replacement for the @command{install} program that works on
+platforms where @command{install} is unavailable or unusable.
+
+@item mdate-sh
+This script is used to generate a @file{version.texi} file.  It examines
+a file and prints some date information about it.
+
+@item missing
+This wraps a number of programs that are typically only required by
+maintainers.  If the program in question doesn't exist,
+@command{missing} prints an informative warning and attempts to fix
+things so that the build can continue.
+
+@item mkinstalldirs
+This script used to be a wrapper around @samp{mkdir -p}, which is not
+portable.  Now we use prefer to use @samp{install-sh -d} when configure
+finds that @samp{mkdir -p} does not work, this makes one less script to
+distribute.
+
+For backward compatibility @file{mkinstalldirs} is still used and
+distributed when @command{automake} finds it in a package.  But it is no
+longer installed automatically, and it should be safe to remove it.
+
+@item py-compile
+This is used to byte-compile Python scripts.
+
+@item symlink-tree
+This program duplicates a tree of directories, using symbolic links
+instead of copying files.  Such operation is performed when building
+multilibs (@pxref{Multilibs}).  This file is maintained in the GCC
+tree at @url{http://gcc.gnu.org/cvs.html}.
+
+@item texinfo.tex
+Not a program, this file is required for @samp{make dvi}, @samp{make
+ps} and @samp{make pdf} to work when Texinfo sources are in the
+package.  The latest version can be downloaded from
+@url{http://www.gnu.org/software/texinfo/}.
+
+@item ylwrap
+This program wraps @command{lex} and @command{yacc} and ensures that,
+for instance, multiple @command{yacc} instances can be invoked in a
+single directory in parallel.
+
+@end table
+
+
+@node Examples
+@chapter Some example packages
+
+@menu
+* Complete::                    A simple example, start to finish
+* Hello::                       A classic program
+* true::                        Building true and false
+@end menu
+
+
+@node Complete
+@section A simple example, start to finish
+
+@cindex Complete example
+
+Let's suppose you just finished writing @code{zardoz}, a program to make
+your head float from vortex to vortex.  You've been using Autoconf to
+provide a portability framework, but your @file{Makefile.in}s have been
+ad-hoc.  You want to make them bulletproof, so you turn to Automake.
+
+@cindex @code{AM_INIT_AUTOMAKE}, example use
+
+The first step is to update your @file{configure.ac} to include the
+commands that @command{automake} needs.  The way to do this is to add an
+@code{AM_INIT_AUTOMAKE} call just after @code{AC_INIT}:
+
+@example
+AC_INIT(zardoz, 1.0)
+AM_INIT_AUTOMAKE
+@dots{}
+@end example
+
+Since your program doesn't have any complicating factors (e.g., it
+doesn't use @code{gettext}, it doesn't want to build a shared library),
+you're done with this part.  That was easy!
+
+@cindex @command{aclocal} program, introduction
+@cindex @file{aclocal.m4}, preexisting
+@cindex @file{acinclude.m4}, defined
+
+Now you must regenerate @file{configure}.  But to do that, you'll need
+to tell @command{autoconf} how to find the new macro you've used.  The
+easiest way to do this is to use the @command{aclocal} program to
+generate your @file{aclocal.m4} for you.  But wait@dots{} maybe you
+already have an @file{aclocal.m4}, because you had to write some hairy
+macros for your program.  The @command{aclocal} program lets you put
+your own macros into @file{acinclude.m4}, so simply rename and then
+run:
+
+@example
+mv aclocal.m4 acinclude.m4
+aclocal
+autoconf
+@end example
+
+@cindex @command{zardoz} example
+
+Now it is time to write your @file{Makefile.am} for @code{zardoz}.
+Since @code{zardoz} is a user program, you want to install it where the
+rest of the user programs go: @code{bindir}.  Additionally,
+@code{zardoz} has some Texinfo documentation.  Your @file{configure.ac}
+script uses @code{AC_REPLACE_FUNCS}, so you need to link against
+@samp{$(LIBOBJS)}.  So here's what you'd write:
+
+@example
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = main.c head.c float.c vortex9.c gun.c
+zardoz_LDADD = $(LIBOBJS)
+
+info_TEXINFOS = zardoz.texi
+@end example
+
+Now you can run @samp{automake --add-missing} to generate your
+@file{Makefile.in} and grab any auxiliary files you might need, and
+you're done!
+
+
+@node Hello
+@section A classic program
+
+@cindex Example, GNU Hello
+@cindex Hello example
+@cindex GNU Hello, example
+
+@uref{ftp://prep.ai.mit.edu/pub/gnu/hello-1.3.tar.gz, GNU hello} is
+renowned for its classic simplicity and versatility.  This section shows
+how Automake could be used with the GNU Hello package.  The examples
+below are from the latest beta version of GNU Hello, but with all of the
+maintainer-only code stripped out, as well as all copyright comments.
+
+Of course, GNU Hello is somewhat more featureful than your traditional
+two-liner.  GNU Hello is internationalized, does option processing, and
+has a manual and a test suite.
+
+@cindex @file{configure.ac}, from GNU Hello
+@cindex GNU Hello, @file{configure.ac}
+@cindex Hello, @file{configure.ac}
+
+Here is the @file{configure.ac} from GNU Hello.
+@strong{Please note:} The calls to @code{AC_INIT} and @code{AM_INIT_AUTOMAKE}
+in this example use a deprecated syntax.  For the current approach,
+see the description of @code{AM_INIT_AUTOMAKE} in @ref{Public macros}.
+
+@c FIXME: This definitely requires an update, e.g., to GNU Hello 2.1.1.
+
+@example
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(src/hello.c)
+AM_INIT_AUTOMAKE(hello, 1.3.11)
+AM_CONFIG_HEADER(config.h)
+
+dnl Set of available languages.
+ALL_LINGUAS="de fr es ko nl no pl pt sl sv"
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_ISC_POSIX
+
+dnl Checks for libraries.
+
+dnl Checks for header files.
+AC_STDC_HEADERS
+AC_HAVE_HEADERS(string.h fcntl.h sys/file.h sys/param.h)
+
+dnl Checks for library functions.
+AC_FUNC_ALLOCA
+
+dnl Check for st_blksize in struct stat
+AC_ST_BLKSIZE
+
+dnl internationalization macros
+AM_GNU_GETTEXT
+AC_OUTPUT([Makefile doc/Makefile intl/Makefile po/Makefile.in \
+           src/Makefile tests/Makefile tests/hello],
+   [chmod +x tests/hello])
+@end example
+
+The @samp{AM_} macros are provided by Automake (or the Gettext library);
+the rest are standard Autoconf macros.
+
+
+The top-level @file{Makefile.am}:
+
+@example
+EXTRA_DIST = BUGS ChangeLog.O
+SUBDIRS = doc intl po src tests
+@end example
+
+As you can see, all the work here is really done in subdirectories.
+
+The @file{po} and @file{intl} directories are automatically generated
+using @command{gettextize}; they will not be discussed here.
+
+@cindex Texinfo file handling example
+@cindex Example, handling Texinfo files
+
+In @file{doc/Makefile.am} we see:
+
+@example
+info_TEXINFOS = hello.texi
+hello_TEXINFOS = gpl.texi
+@end example
+
+This is sufficient to build, install, and distribute the GNU Hello
+manual.
+
+@cindex Regression test example
+@cindex Example, regression test
+
+Here is @file{tests/Makefile.am}:
+
+@example
+TESTS = hello
+EXTRA_DIST = hello.in testdata
+@end example
+
+The script @file{hello} is generated by @command{configure}, and is the
+only test case.  @samp{make check} will run this test.
+
+@cindex @code{INCLUDES}, example usage
+@vindex INCLUDES
+
+Last we have @file{src/Makefile.am}, where all the real work is done:
+@c FIXME: As all the Hello World excerpts in this manual, this
+@c shows deprecated features (here: $(INCLUDES)).
+
+@example
+bin_PROGRAMS = hello
+hello_SOURCES = hello.c version.c getopt.c getopt1.c getopt.h system.h
+hello_LDADD = $(INTLLIBS) $(ALLOCA)
+localedir = $(datadir)/locale
+INCLUDES = -I../intl -DLOCALEDIR=\"$(localedir)\"
+@end example
+
+
+@node true
+@section Building true and false
+
+@cindex Example, @command{false} and @command{true}
+@cindex @command{false} Example
+@cindex @command{true} Example
+
+Here is another, trickier example.  It shows how to generate two
+programs (@code{true} and @code{false}) from the same source file
+(@file{true.c}).  The difficult part is that each compilation of
+@file{true.c} requires different @code{cpp} flags.
+
+@example
+bin_PROGRAMS = true false
+false_SOURCES =
+false_LDADD = false.o
+
+true.o: true.c
+        $(COMPILE) -DEXIT_CODE=0 -c true.c
+
+false.o: true.c
+        $(COMPILE) -DEXIT_CODE=1 -o false.o -c true.c
+@end example
+
+Note that there is no @code{true_SOURCES} definition.  Automake will
+implicitly assume that there is a source file named @file{true.c}, and
+define rules to compile @file{true.o} and link @file{true}.  The
+@samp{true.o: true.c} rule supplied by the above @file{Makefile.am},
+will override the Automake generated rule to build @file{true.o}.
+
+@code{false_SOURCES} is defined to be empty---that way no implicit value
+is substituted.  Because we have not listed the source of
+@file{false}, we have to tell Automake how to link the program.  This is
+the purpose of the @code{false_LDADD} line.  A @code{false_DEPENDENCIES}
+variable, holding the dependencies of the @file{false} target will be
+automatically generated by Automake from the content of
+@code{false_LDADD}.
+
+The above rules won't work if your compiler doesn't accept both
+@option{-c} and @option{-o}.  The simplest fix for this is to introduce a
+bogus dependency (to avoid problems with a parallel @command{make}):
+
+@example
+true.o: true.c false.o
+        $(COMPILE) -DEXIT_CODE=0 -c true.c
+
+false.o: true.c
+        $(COMPILE) -DEXIT_CODE=1 -c true.c && mv true.o false.o
+@end example
+
+Also, these explicit rules do not work if the de-ANSI-fication feature
+is used (@pxref{ANSI}).  Supporting de-ANSI-fication requires a little
+more work:
+
+@example
+true_.o: true_.c false_.o
+        $(COMPILE) -DEXIT_CODE=0 -c true_.c
+
+false_.o: true_.c
+        $(COMPILE) -DEXIT_CODE=1 -c true_.c && mv true_.o false_.o
+@end example
+
+As it turns out, there is also a much easier way to do this same task.
+Some of the above techniques are useful enough that we've kept the
+example in the manual.  However if you were to build @code{true} and
+@code{false} in real life, you would probably use per-program
+compilation flags, like so:
+
+@example
+bin_PROGRAMS = false true
+
+false_SOURCES = true.c
+false_CPPFLAGS = -DEXIT_CODE=1
+
+true_SOURCES = true.c
+true_CPPFLAGS = -DEXIT_CODE=0
+@end example
+
+In this case Automake will cause @file{true.c} to be compiled twice,
+with different flags.  De-ANSI-fication will work automatically.  In
+this instance, the names of the object files would be chosen by
+automake; they would be @file{false-true.o} and @file{true-true.o}.
+(The name of the object files rarely matters.)
+
+
+@node Invoking Automake
+@chapter Creating a @file{Makefile.in}
+
+@cindex Multiple @file{configure.ac} files
+@cindex Invoking @command{automake}
+@cindex @command{automake}, invoking
+
+To create all the @file{Makefile.in}s for a package, run the
+@command{automake} program in the top level directory, with no
+arguments.  @command{automake} will automatically find each
+appropriate @file{Makefile.am} (by scanning @file{configure.ac};
+@pxref{configure}) and generate the corresponding @file{Makefile.in}.
+Note that @command{automake} has a rather simplistic view of what
+constitutes a package; it assumes that a package has only one
+@file{configure.ac}, at the top.  If your package has multiple
+@file{configure.ac}s, then you must run @command{automake} in each
+directory holding a @file{configure.ac}.  (Alternatively, you may rely
+on Autoconf's @command{autoreconf}, which is able to recurse your
+package tree and run @command{automake} where appropriate.)
+
+You can optionally give @command{automake} an argument; @file{.am} is
+appended to the argument and the result is used as the name of the
+input file.  This feature is generally only used to automatically
+rebuild an out-of-date @file{Makefile.in}.  Note that
+@command{automake} must always be run from the topmost directory of a
+project, even if being used to regenerate the @file{Makefile.in} in
+some subdirectory.  This is necessary because @command{automake} must
+scan @file{configure.ac}, and because @command{automake} uses the
+knowledge that a @file{Makefile.in} is in a subdirectory to change its
+behavior in some cases.
+
+@vindex AUTOCONF
+Automake will run @command{autoconf} to scan @file{configure.ac} and
+its dependencies (i.e., @file{aclocal.m4} and any included file),
+therefore @command{autoconf} must be in your @env{PATH}.  If there is
+an @env{AUTOCONF} variable in your environment it will be used
+instead of @command{autoconf}, this allows you to select a particular
+version of Autoconf.  By the way, don't misunderstand this paragraph:
+@command{automake} runs @command{autoconf} to @strong{scan} your
+@file{configure.ac}, this won't build @file{configure} and you still
+have to run @command{autoconf} yourself for this purpose.
+
+@cindex @command{automake} options
+@cindex Options, @command{automake}
+@cindex Strictness, command line
+
+@command{automake} accepts the following options:
+
+@cindex Extra files distributed with Automake
+@cindex Files distributed with Automake
+@cindex @file{config.guess}
+
+@table @code
+@item -a
+@itemx --add-missing
+@opindex -a
+@opindex --add-missing
+Automake requires certain common files to exist in certain situations;
+for instance, @file{config.guess} is required if @file{configure.ac} runs
+@code{AC_CANONICAL_HOST}.  Automake is distributed with several of these
+files (@pxref{Auxiliary Programs}); this option will cause the missing
+ones to be automatically added to the package, whenever possible.  In
+general if Automake tells you a file is missing, try using this option.
+By default Automake tries to make a symbolic link pointing to its own
+copy of the missing file; this can be changed with @option{--copy}.
+
+Many of the potentially-missing files are common scripts whose
+location may be specified via the @code{AC_CONFIG_AUX_DIR} macro.
+Therefore, @code{AC_CONFIG_AUX_DIR}'s setting affects whether a
+file is considered missing, and where the missing file is added
+(@pxref{Optional}).
+
+@item --libdir=@var{dir}
+@opindex --libdir
+Look for Automake data files in directory @var{dir} instead of in the
+installation directory.  This is typically used for debugging.
+
+@item -c
+@opindex -c
+@itemx --copy
+@opindex --copy
+When used with @option{--add-missing}, causes installed files to be
+copied.  The default is to make a symbolic link.
+
+@item --cygnus
+@opindex --cygnus
+Causes the generated @file{Makefile.in}s to follow Cygnus rules, instead
+of GNU or Gnits rules.  For more information, see @ref{Cygnus}.
+
+@item -f
+@opindex -f
+@itemx --force-missing
+@opindex --force-missing
+When used with @option{--add-missing}, causes standard files to be reinstalled
+even if they already exist in the source tree.  This involves removing
+the file from the source tree before creating the new symlink (or, with
+@option{--copy}, copying the new file).
+
+@item --foreign
+@opindex --foreign
+Set the global strictness to @option{foreign}.  For more information, see
+@ref{Strictness}.
+
+@item --gnits
+@opindex --gnits
+Set the global strictness to @option{gnits}.  For more information, see
+@ref{Gnits}.
+
+@item --gnu
+@opindex --gnu
+Set the global strictness to @option{gnu}.  For more information, see
+@ref{Gnits}.  This is the default strictness.
+
+@item --help
+@opindex --help
+Print a summary of the command line options and exit.
+
+@item -i
+@itemx --ignore-deps
+@opindex -i
+This disables the dependency tracking feature in generated
+@file{Makefile}s; see @ref{Dependencies}.
+
+@item --include-deps
+@opindex --include-deps
+This enables the dependency tracking feature.  This feature is enabled
+by default.  This option is provided for historical reasons only and
+probably should not be used.
+
+@item --no-force
+@opindex --no-force
+Ordinarily @command{automake} creates all @file{Makefile.in}s mentioned in
+@file{configure.ac}.  This option causes it to only update those
+@file{Makefile.in}s that are out of date with respect to one of their
+dependents.
+
+@item -o @var{dir}
+@itemx --output-dir=@var{dir}
+@opindex -o
+@opindex --output-dir
+Put the generated @file{Makefile.in} in the directory @var{dir}.
+Ordinarily each @file{Makefile.in} is created in the directory of the
+corresponding @file{Makefile.am}.  This option is deprecated and will be
+removed in a future release.
+
+@item -v
+@itemx --verbose
+@opindex -v
+@opindex --verbose
+Cause Automake to print information about which files are being read or
+created.
+
+@item --version
+@opindex --version
+Print the version number of Automake and exit.
+
+@item -W CATEGORY
+@item --warnings=@var{category}
+@opindex -W
+@opindex --warnings
+Output warnings falling in @var{category}.  @var{category} can be
+one of:
+@table @code
+@item gnu
+warnings related to the GNU Coding Standards
+(@pxref{Top, , , standards, The GNU Coding Standards}).
+@item obsolete
+obsolete features or constructions
+@item override
+user redefinitions of Automake rules or variables
+@item portability
+portability issues (e.g., use of @command{make} features that are
+known to be not portable)
+@item syntax
+weird syntax, unused variables, typos
+@item unsupported
+unsupported or incomplete features
+@item all
+all the warnings
+@item none
+turn off all the warnings
+@item error
+treat warnings as errors
+@end table
+
+A category can be turned off by prefixing its name with @samp{no-}.  For
+instance, @option{-Wno-syntax} will hide the warnings about unused
+variables.
+
+The categories output by default are @samp{syntax} and
+@samp{unsupported}.  Additionally, @samp{gnu} is enabled in @option{--gnu} and
+@option{--gnits} strictness.
+
+@samp{portability} warnings are currently disabled by default, but they
+will be enabled in @option{--gnu} and @option{--gnits} strictness in a
+future release.
+
+@vindex WARNINGS
+The environment variable @env{WARNINGS} can contain a comma separated
+list of categories to enable.  It will be taken into account before the
+command-line switches, this way @option{-Wnone} will also ignore any
+warning category enabled by @env{WARNINGS}.  This variable is also used
+by other tools like @command{autoconf}; unknown categories are ignored
+for this reason.
+
+@end table
+
+
+@node configure
+@chapter Scanning @file{configure.ac}
+
+@cindex @file{configure.ac}, scanning
+@cindex Scanning @file{configure.ac}
+
+Automake scans the package's @file{configure.ac} to determine certain
+information about the package.  Some @command{autoconf} macros are required
+and some variables must be defined in @file{configure.ac}.  Automake
+will also use information from @file{configure.ac} to further tailor its
+output.
+
+Automake also supplies some Autoconf macros to make the maintenance
+easier.  These macros can automatically be put into your
+@file{aclocal.m4} using the @command{aclocal} program.
+
+@menu
+* Requirements::                Configuration requirements
+* Optional::                    Other things Automake recognizes
+* Invoking aclocal::            Auto-generating aclocal.m4
+* aclocal options::             aclocal command line arguments
+* Macro search path::           Modifying aclocal's search path
+* Macros::                      Autoconf macros supplied with Automake
+* Extending aclocal::           Writing your own aclocal macros
+* Local Macros::                Organizing local macros
+* Future of aclocal::           aclocal's scheduled death
+@end menu
+
+
+@node Requirements
+@section Configuration requirements
+
+@cindex Automake requirements
+@cindex Requirements of Automake
+
+@acindex AM_INIT_AUTOMAKE
+The one real requirement of Automake is that your @file{configure.ac}
+call @code{AM_INIT_AUTOMAKE}.  This macro does several things that are
+required for proper Automake operation (@pxref{Macros}).
+
+Here are the other macros that Automake requires but which are not run
+by @code{AM_INIT_AUTOMAKE}:
+
+@table @code
+@item AC_CONFIG_FILES
+@itemx AC_OUTPUT
+@acindex AC_CONFIG_FILES
+@acindex AC_OUTPUT
+Automake uses these to determine which files to create (@pxref{Output, ,
+Creating Output Files, autoconf, The Autoconf Manual}).  A listed file
+is considered to be an Automake generated @file{Makefile} if there
+exists a file with the same name and the @file{.am} extension appended.
+Typically, @samp{AC_CONFIG_FILES([foo/Makefile])} will cause Automake to
+generate @file{foo/Makefile.in} if @file{foo/Makefile.am} exists.
+
+When using @code{AC_CONFIG_FILES} with multiple input files, as in
+
+@example
+AC_CONFIG_FILES([Makefile:top.in:Makefile.in:bot.in])
+@end example
+
+@noindent
+@command{automake} will generate the first @file{.in} input file for
+which a @file{.am} file exists.  If no such file exists the output
+file is not considered to be Automake generated.
+
+Files created by @code{AC_CONFIG_FILES} are removed by @code{make distclean}.
+@end table
+
+
+@node Optional
+@section Other things Automake recognizes
+
+@cindex Macros Automake recognizes
+@cindex Recognized macros by Automake
+
+Every time Automake is run it calls Autoconf to trace
+@file{configure.ac}.  This way it can recognize the use of certain
+macros and tailor the generated @file{Makefile.in} appropriately.
+Currently recognized macros and their effects are:
+
+@ftable @code
+@item AC_CONFIG_HEADERS
+Automake will generate rules to rebuild these headers.  Older versions
+of Automake required the use of @code{AM_CONFIG_HEADER}
+(@pxref{Macros}); this is no longer the case today.
+
+@item AC_CONFIG_LINKS
+Automake will generate rules to remove @file{configure} generated links on
+@samp{make distclean} and to distribute named source files as part of
+@samp{make dist}.
+
+@item AC_CONFIG_AUX_DIR
+Automake will look for various helper scripts, such as
+@file{install-sh}, in the directory named in this macro invocation.
+@c This list is accurate relative to version 1.8
+(The full list of scripts is: @file{config.guess}, @file{config.sub},
+@file{depcomp}, @file{elisp-comp}, @file{compile}, @file{install-sh},
+@file{ltmain.sh}, @file{mdate-sh}, @file{missing}, @file{mkinstalldirs},
+@file{py-compile}, @file{texinfo.tex}, and @file{ylwrap}.)  Not all
+scripts are always searched for; some scripts will only be sought if the
+generated @file{Makefile.in} requires them.
+
+If @code{AC_CONFIG_AUX_DIR} is not given, the scripts are looked for in
+their standard locations.  For @file{mdate-sh},
+@file{texinfo.tex}, and @file{ylwrap}, the standard location is the
+source directory corresponding to the current @file{Makefile.am}.  For
+the rest, the standard location is the first one of @file{.}, @file{..},
+or @file{../..} (relative to the top source directory) that provides any
+one of the helper scripts.  @xref{Input, , Finding `configure' Input,
+autoconf, The Autoconf Manual}.
+
+Required files from @code{AC_CONFIG_AUX_DIR} are automatically
+distributed, even if there is no @file{Makefile.am} in this directory.
+
+@item AC_CANONICAL_BUILD
+@itemx AC_CANONICAL_HOST
+@itemx AC_CANONICAL_TARGET
+@vindex build_triplet
+@vindex host_triplet
+@vindex target_triplet
+Automake will ensure that @file{config.guess} and @file{config.sub}
+exist.  Also, the @file{Makefile} variables @code{build_triplet},
+@code{host_triplet} and @code{target_triplet} are introduced.  See
+@ref{Canonicalizing, , Getting the Canonical System Type, autoconf,
+The Autoconf Manual}.
+
+@item AC_LIBSOURCE
+@itemx AC_LIBSOURCES
+@itemx AC_LIBOBJ
+@vindex LIBOBJS
+Automake will automatically distribute any file listed in
+@code{AC_LIBSOURCE} or @code{AC_LIBSOURCES}.
+
+Note that the @code{AC_LIBOBJ} macro calls @code{AC_LIBSOURCE}.  So if
+an Autoconf macro is documented to call @samp{AC_LIBOBJ([file])}, then
+@file{file.c} will be distributed automatically by Automake.  This
+encompasses many macros like @code{AC_FUNC_ALLOCA},
+@code{AC_FUNC_MEMCMP}, @code{AC_REPLACE_FUNCS}, and others.
+
+By the way, direct assignments to @code{LIBOBJS} are no longer
+supported.  You should always use @code{AC_LIBOBJ} for this purpose.
+@xref{AC_LIBOBJ vs LIBOBJS, , @code{AC_LIBOBJ} vs.@: @code{LIBOBJS},
+autoconf, The Autoconf Manual}.
+
+@item AC_PROG_RANLIB
+This is required if any libraries are built in the package.
+@xref{Particular Programs, , Particular Program Checks, autoconf, The
+Autoconf Manual}.
+
+@item AC_PROG_CXX
+This is required if any C++ source is included.  @xref{Particular
+Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
+
+@item AC_PROG_F77
+This is required if any Fortran 77 source is included.  This macro is
+distributed with Autoconf version 2.13 and later.  @xref{Particular
+Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
+
+@item AC_F77_LIBRARY_LDFLAGS
+This is required for programs and shared libraries that are a mixture of
+languages that include Fortran 77 (@pxref{Mixing Fortran 77 With C and
+C++}).  @xref{Macros, , Autoconf macros supplied with Automake}.
+
+@item AC_PROG_FC
+This is required if any Fortran 90/95 source is included.  This macro is
+distributed with Autoconf version 2.58 and later.  @xref{Particular
+Programs, , Particular Program Checks, autoconf, The Autoconf Manual}.
+
+@item AC_PROG_LIBTOOL
+Automake will turn on processing for @command{libtool} (@pxref{Top, ,
+Introduction, libtool, The Libtool Manual}).
+
+@item AC_PROG_YACC
+@vindex YACC
+If a Yacc source file is seen, then you must either use this macro or
+define the variable @code{YACC} in @file{configure.ac}.  The former is
+preferred (@pxref{Particular Programs, , Particular Program Checks,
+autoconf, The Autoconf Manual}).
+
+@item AC_PROG_LEX
+If a Lex source file is seen, then this macro must be used.
+@xref{Particular Programs, , Particular Program Checks, autoconf, The
+Autoconf Manual}.
+
+@item AC_SUBST
+The first argument is automatically defined as a variable in each
+generated @file{Makefile.in}.  @xref{Setting Output Variables, , Setting
+Output Variables, autoconf, The Autoconf Manual}.
+
+If the Autoconf manual says that a macro calls @code{AC_SUBST} for
+@var{var}, or defines the output variable @var{var} then @var{var} will
+be defined in each @file{Makefile.in} generated by Automake.
+E.g.@: @code{AC_PATH_XTRA} defines @code{X_CFLAGS} and @code{X_LIBS}, so
+you can use these variables in any @file{Makefile.am} if
+@code{AC_PATH_XTRA} is called.
+
+@item AM_C_PROTOTYPES
+This is required when using automatic de-ANSI-fication; see @ref{ANSI}.
+
+@item AM_GNU_GETTEXT
+This macro is required for packages that use GNU gettext
+(@pxref{gettext}).  It is distributed with gettext.  If Automake sees
+this macro it ensures that the package meets some of gettext's
+requirements.
+
+@item AM_MAINTAINER_MODE
+@opindex --enable-maintainer-mode
+This macro adds a @option{--enable-maintainer-mode} option to
+@command{configure}.  If this is used, @command{automake} will cause
+``maintainer-only'' rules to be turned off by default in the
+generated @file{Makefile.in}s.  This macro defines the
+@code{MAINTAINER_MODE} conditional, which you can use in your own
+@file{Makefile.am}.  @xref{maintainer-mode}.
+
+@item m4_include
+Files included by @file{configure.ac} using this macro will be
+detected by Automake and automatically distributed.  They will also
+appear as dependencies in @file{Makefile} rules.
+
+@code{m4_include} is seldom used by @file{configure.ac} authors, but
+can appear in @file{aclocal.m4} when @command{aclocal} detects that
+some required macros come from files local to your package (as opposed
+to macros installed in a system-wide directory, @pxref{Invoking
+aclocal}).
+
+@end ftable
+
+
+@node Invoking aclocal
+@section Auto-generating aclocal.m4
+
+@cindex Invoking @command{aclocal}
+@cindex @command{aclocal}, Invoking
+
+Automake includes a number of Autoconf macros that can be used in
+your package (@pxref{Macros}); some of them are actually required by
+Automake in certain situations.  These macros must be defined in your
+@file{aclocal.m4}; otherwise they will not be seen by
+@command{autoconf}.
+
+The @command{aclocal} program will automatically generate
+@file{aclocal.m4} files based on the contents of @file{configure.ac}.
+This provides a convenient way to get Automake-provided macros,
+without having to search around.  The @command{aclocal} mechanism
+allows other packages to supply their own macros (@pxref{Extending
+aclocal}).  You can also use it to maintain your own set of custom
+macros (@pxref{Local Macros}).
+
+At startup, @command{aclocal} scans all the @file{.m4} files it can
+find, looking for macro definitions (@pxref{Macro search path}).  Then
+it scans @file{configure.ac}.  Any mention of one of the macros found
+in the first step causes that macro, and any macros it in turn
+requires, to be put into @file{aclocal.m4}.
+
+@emph{Putting} the file that contains the macro definition into
+@file{aclocal.m4} is usually done by copying the entire text of this
+file, including unused macro definitions as well as both @samp{#} and
+@samp{dnl} comments.  If you want to make a comment that will be
+completely ignored by @command{aclocal}, use @samp{##} as the comment
+leader.
+
+When a file selected by @command{aclocal} is located in a subdirectory
+specified as a relative search path with @command{aclocal}'s @option{-I}
+argument, @command{aclocal} assumes the file belongs to the package
+and uses @code{m4_include} instead of copying it into
+@file{aclocal.m4}.  This makes the package smaller, eases dependency
+tracking, and cause the file to be distributed automatically.
+(@xref{Local Macros}, for an example.)  Any macro that is found in a
+system-wide directory, or via an absolute search path will be copied.
+So use @samp{-I `pwd`/reldir} instead of @samp{-I reldir} whenever
+some relative directory need to be considered outside the package.
+
+The contents of @file{acinclude.m4}, if this file exists, are also
+automatically included in @file{aclocal.m4}.  We recommend against
+using @file{acinclude.m4} in new packages (@pxref{Local Macros}).
+
+@vindex AUTOM4TE
+@cindex autom4te
+While computing @file{aclocal.m4}, @command{aclocal} runs
+@command{autom4te} (@pxref{Using autom4te, , Using @command{Autom4te},
+autoconf, The Autoconf Manual}) in order to trace the macros that are
+really used, and omit from @file{aclocal.m4} all macros that are
+mentioned but otherwise unexpanded (this can happen when a macro is
+called conditionally).  @command{autom4te} is expected to be in the
+@env{PATH}, just as @command{autoconf}.  Its location can be
+overridden using the @env{AUTOM4TE} environment variable.
+
+@menu
+* aclocal options::             Options supported by aclocal
+* Macro search path::           How aclocal finds .m4 files
+@end menu
+
+@node aclocal options
+@section aclocal options
+
+@cindex @command{aclocal}, Options
+@cindex Options, @command{aclocal}
+
+@command{aclocal} accepts the following options:
+
+@table @code
+@item --acdir=@var{dir}
+@opindex --acdir
+Look for the macro files in @var{dir} instead of the installation
+directory.  This is typically used for debugging.
+
+@item --help
+@opindex --help
+Print a summary of the command line options and exit.
+
+@item -I @var{dir}
+@opindex -I
+Add the directory @var{dir} to the list of directories searched for
+@file{.m4} files.
+
+@item --force
+@opindex --force
+Always overwrite the output file.  The default is to overwrite the output
+file only when really needed, i.e., when its contents changes or if one
+of its dependencies is younger.
+
+@item --output=@var{file}
+@opindex --output
+Cause the output to be put into @var{file} instead of @file{aclocal.m4}.
+
+@item --print-ac-dir
+@opindex --print-ac-dir
+Prints the name of the directory that @command{aclocal} will search to
+find third-party @file{.m4} files.  When this option is given, normal
+processing is suppressed.  This option can be used by a package to
+determine where to install a macro file.
+
+@item --verbose
+@opindex --verbose
+Print the names of the files it examines.
+
+@item --version
+@opindex --version
+Print the version number of Automake and exit.
+@end table
+
+@node Macro search path
+@section Macro search path
+
+@cindex Macro search path
+@cindex @command{aclocal} search path
+
+By default, @command{aclocal} searches for @file{.m4} files in the following
+directories, in this order:
+
+@table @code
+@item @var{acdir-APIVERSION}
+This is where the @file{.m4} macros distributed with automake itself
+are stored.  @var{APIVERSION} depends on the automake release used;
+for automake 1.6.x, @var{APIVERSION} = @code{1.6}.
+
+@item @var{acdir}
+This directory is intended for third party @file{.m4} files, and is
+configured when @command{automake} itself is built.  This is
+@file{@@datadir@@/aclocal/}, which typically
+expands to @file{$@{prefix@}/share/aclocal/}.  To find the compiled-in
+value of @var{acdir}, use the @option{--print-ac-dir} option
+(@pxref{aclocal options}).
+@end table
+
+As an example, suppose that @command{automake-1.6.2} was configured with
+@option{--prefix=@-/usr/local}.  Then, the search path would be:
+
+@enumerate
+@item @file{/usr/local/share/aclocal-1.6/}
+@item @file{/usr/local/share/aclocal/}
+@end enumerate
+
+As explained in (@pxref{aclocal options}), there are several options that
+can be used to change or extend this search path.
+
+@subsection Modifying the macro search path: @code{--acdir}
+
+The most erroneous option to modify the search path is
+@code{--acdir=@var{dir}}, which changes default directory and
+drops the @var{APIVERSION} directory.  For example, if one specifies
+@code{--acdir=/opt/private/}, then the search path becomes:
+
+@enumerate
+@item @file{/opt/private/}
+@end enumerate
+
+This option, @code{--acdir}, is intended for use by the internal
+automake test suite only; it is not ordinarily needed by end-users.
+
+@subsection Modifying the macro search path: @code{-I @var{dir}}
+
+Any extra directories specified using @code{-I} options
+(@pxref{aclocal options}) are @emph{prepended} to this search list.  Thus,
+@code{aclocal -I /foo -I /bar} results in the following search path:
+
+@enumerate
+@item @file{/foo}
+@item @file{/bar}
+@item @var{acdir}-@var{APIVERSION}
+@item @var{acdir}
+@end enumerate
+
+@subsection Modifying the macro search path: @file{dirlist}
+@cindex @file{dirlist}
+
+There is a third mechanism for customizing the search path.  If a
+@file{dirlist} file exists in @var{acdir}, then that file is assumed to
+contain a list of directories, one per line, to be added to the search
+list.  These directories are searched @emph{after} all other
+directories.
+
+For example, suppose
+@file{@var{acdir}/dirlist} contains the following:
+
+@example
+/test1
+/test2
+@end example
+
+@noindent
+and that @command{aclocal} was called with the @samp{-I /foo -I /bar} options.
+Then, the search path would be
+
+@c @code looks better than @file here
+@enumerate
+@item @code{/foo}
+@item @code{/bar}
+@item @var{acdir}-@var{APIVERSION}
+@item @var{acdir}
+@item @code{/test1}
+@item @code{/test2}
+@end enumerate
+
+If the @option{--acdir=@var{dir}} option is used, then @command{aclocal}
+will search for the @file{dirlist} file in @var{dir}.  In the
+@samp{--acdir=/opt/private/} example above, @command{aclocal} would look
+for @file{/opt/private/dirlist}.  Again, however, the @option{--acdir}
+option is intended for use by the internal automake test suite only;
+@option{--acdir} is not ordinarily needed by end-users.
+
+@file{dirlist} is useful in the following situation: suppose that
+@command{automake} version @code{1.6.2} is installed with
+@samp{--prefix=/usr} by the system vendor.  Thus, the default search
+directories are
+
+@c @code looks better than @file here
+@enumerate
+@item @code{/usr/share/aclocal-1.6/}
+@item @code{/usr/share/aclocal/}
+@end enumerate
+
+However, suppose further that many packages have been manually
+installed on the system, with $prefix=/usr/local, as is typical.  In
+that case, many of these ``extra'' @file{.m4} files are in
+@file{/usr/local/share/aclocal}.  The only way to force
+@file{/usr/bin/aclocal} to find these ``extra'' @file{.m4} files is to
+always call @samp{aclocal -I /usr/local/share/aclocal}.  This is
+inconvenient.  With @file{dirlist}, one may create a file
+@file{/usr/share/aclocal/dirlist} containing only the single line
+
+@example
+/usr/local/share/aclocal
+@end example
+
+Now, the ``default'' search path on the affected system is
+
+@c @code looks better than @file here
+@enumerate
+@item @code{/usr/share/aclocal-1.6/}
+@item @code{/usr/share/aclocal/}
+@item @code{/usr/local/share/aclocal/}
+@end enumerate
+
+without the need for @option{-I} options; @option{-I} options can be reserved
+for project-specific needs (@file{my-source-dir/m4/}), rather than
+using it to work around local system-dependent tool installation
+directories.
+
+Similarly, @file{dirlist} can be handy if you have installed a local
+copy Automake on your account and want @command{aclocal} to look for
+macros installed at other places on the system.
+
+
+@node Macros
+@section Autoconf macros supplied with Automake
+
+Automake ships with several Autoconf macros that you can use from your
+@file{configure.ac}.  When you use one of them it will be included by
+@command{aclocal} in @file{aclocal.m4}.
+
+@menu
+* Public macros::               Macros that you can use.
+* Obsolete macros::             Macros that you should stop using.
+* Private macros::              Macros that you should not use.
+@end menu
+
+@c consider generating the following subsections automatically from m4 files.
+
+@node Public macros
+@subsection Public macros
+
+@table @code
+@item AM_C_PROTOTYPES
+@acindex AM_C_PROTOTYPES
+@vindex ANSI2KNR
+@vindex U
+Check to see if function prototypes are understood by the compiler.  If
+so, define @samp{PROTOTYPES} and set the output variables @code{U} and
+@code{ANSI2KNR} to the empty string.  Otherwise, set @code{U} to
+@samp{_} and @code{ANSI2KNR} to @samp{./ansi2knr}.  Automake uses these
+values to implement automatic de-ANSI-fication.
+
+@item AM_ENABLE_MULTILIB
+@acindex AM_ENABLE_MULTILIB
+This is used when a ``multilib'' library is being built.  The first
+optional argument is the name of the @file{Makefile} being generated; it
+defaults to @samp{Makefile}.  The second option argument is used to find
+the top source directory; it defaults to the empty string (generally
+this should not be used unless you are familiar with the internals).
+@xref{Multilibs}.
+
+@item AM_INIT_AUTOMAKE([OPTIONS])
+@itemx AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+@acindex AM_INIT_AUTOMAKE
+Runs many macros required for proper operation of the generated Makefiles.
+
+@vindex AUTOMAKE_OPTIONS
+This macro has two forms, the first of which is preferred.
+In this form, @code{AM_INIT_AUTOMAKE} is called with a
+single argument: a space-separated list of Automake options that should
+be applied to every @file{Makefile.am} in the tree.  The effect is as if
+each option were listed in @code{AUTOMAKE_OPTIONS} (@pxref{Options}).
+
+@acindex AC_INIT
+The second, deprecated, form of @code{AM_INIT_AUTOMAKE} has two required
+arguments: the package and the version number.  This form is
+obsolete because the @var{package} and @var{version} can be obtained
+from Autoconf's @code{AC_INIT} macro (which itself has an old and a new
+form).
+
+If your @file{configure.ac} has:
+
+@example
+AC_INIT(src/foo.c)
+AM_INIT_AUTOMAKE(mumble, 1.5)
+@end example
+
+@noindent
+you can modernize it as follows:
+
+@example
+AC_INIT(mumble, 1.5)
+AC_CONFIG_SRCDIR(src/foo.c)
+AM_INIT_AUTOMAKE
+@end example
+
+Note that if you're upgrading your @file{configure.ac} from an earlier
+version of Automake, it is not always correct to simply move the
+package and version arguments from @code{AM_INIT_AUTOMAKE} directly to
+@code{AC_INIT}, as in the example above.  The first argument to
+@code{AC_INIT} should be the name of your package (e.g., @samp{GNU
+Automake}), not the tarball name (e.g., @samp{automake}) that you used
+to pass to @code{AM_INIT_AUTOMAKE}.  Autoconf tries to derive a
+tarball name from the package name, which should work for most but not
+all package names.  (If it doesn't work for yours, you can use the
+four-argument form of @code{AC_INIT} to provide the tarball name
+explicitly).
+
+@cindex @code{PACKAGE}, prevent definition
+@cindex @code{VERSION}, prevent definition
+@opindex no-define
+By default this macro @code{AC_DEFINE}'s @code{PACKAGE} and
+@code{VERSION}.  This can be avoided by passing the @option{no-define}
+option, as in:
+@example
+AM_INIT_AUTOMAKE([gnits 1.5 no-define dist-bzip2])
+@end example
+or by passing a third non-empty argument to the obsolete form.
+
+@item AM_PATH_LISPDIR
+@acindex AM_PATH_LISPDIR
+@vindex EMACS
+@vindex lispdir
+Searches for the program @command{emacs}, and, if found, sets the
+output variable @code{lispdir} to the full path to Emacs' site-lisp
+directory.
+
+Note that this test assumes the @command{emacs} found to be a version
+that supports Emacs Lisp (such as @sc{gnu} Emacs or XEmacs).  Other
+emacsen can cause this test to hang (some, like old versions of
+MicroEmacs, start up in interactive mode, requiring @kbd{C-x C-c} to
+exit, which is hardly obvious for a non-emacs user).  In most cases,
+however, you should be able to use @kbd{C-c} to kill the test.  In
+order to avoid problems, you can set @env{EMACS} to ``no'' in the
+environment, or use the @option{--with-lispdir} option to
+@command{configure} to explicitly set the correct path (if you're sure
+you have an @command{emacs} that supports Emacs Lisp.
+
+@item AM_PROG_AS
+@acindex AM_PROG_AS
+@vindex CCASFLAGS
+@vindex CCAS
+Use this macro when you have assembly code in your project.  This will
+choose the assembler for you (by default the C compiler) and set
+@code{CCAS}, and will also set @code{CCASFLAGS} if required.
+
+@item AM_PROG_CC_C_O
+@acindex AM_PROG_CC_C_O
+@acindex AC_PROG_CC_C_O
+This is like @code{AC_PROG_CC_C_O}, but it generates its results in the
+manner required by automake.  You must use this instead of
+@code{AC_PROG_CC_C_O} when you need this functionality.
+
+@item AM_PROG_LEX
+@acindex AM_PROG_LEX
+@acindex AC_PROG_LEX
+@cindex HP-UX 10, @command{lex} problems
+@cindex @command{lex} problems with HP-UX 10
+Like @code{AC_PROG_LEX} (@pxref{Particular Programs, , Particular
+Program Checks, autoconf, The Autoconf Manual}), but uses the
+@command{missing} script on systems that do not have @code{lex}.
+HP-UX 10 is one such system.
+
+@item AM_PROG_GCJ
+@acindex AM_PROG_GCJ
+@vindex GCJ
+@vindex GCJFLAGS
+This macro finds the @command{gcj} program or causes an error.  It sets
+@code{GCJ} and @code{GCJFLAGS}.  @command{gcj} is the Java front-end to the
+GNU Compiler Collection.
+
+@item AM_WITH_DMALLOC
+@acindex AM_WITH_DMALLOC
+@cindex @command{dmalloc}, support for
+@vindex WITH_DMALLOC
+@opindex --with-dmalloc
+Add support for the @uref{http://dmalloc.com/, Dmalloc package}.  If
+the user runs @command{configure} with @option{--with-dmalloc}, then
+define @code{WITH_DMALLOC} and add @option{-ldmalloc} to @code{LIBS}.
+
+@item AM_WITH_REGEX
+@acindex AM_WITH_REGEX
+@vindex WITH_REGEX
+@opindex --with-regex
+@cindex regex package
+@cindex rx package
+Adds @option{--with-regex} to the @command{configure} command line.  If
+specified (the default), then the @samp{regex} regular expression
+library is used, @file{regex.o} is put into @code{LIBOBJS}, and
+@code{WITH_REGEX} is defined.  If @option{--without-regex} is given, then
+the @code{rx} regular expression library is used, and @file{rx.o} is put
+into @code{LIBOBJS}.
+
+@end table
+
+
+@node Obsolete macros
+@subsection Obsolete macros
+@cindex obsolete macros
+@cindex autoupdate
+
+Although using some of the following macros was required in past
+releases, you should not used any of them in new code.  Running
+@command{autoupdate} should adjust your @file{configure.ac}
+automatically (@pxref{autoupdate Invocation, , Using
+@command{autoupdate} to Modernize @file{configure.ac}, autoconf, The
+Autoconf Manual}).
+
+@table @code
+@item AM_CONFIG_HEADER
+@acindex AM_CONFIG_HEADER
+Automake will generate rules to automatically regenerate the config
+header.  This obsolete macro is a synonym of @code{AC_CONFIG_HEADERS}
+today (@pxref{Optional}).
+
+@item AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
+@acindex AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL
+If the use of @code{TIOCGWINSZ} requires @file{<sys/ioctl.h>}, then
+define @code{GWINSZ_IN_SYS_IOCTL}.  Otherwise @code{TIOCGWINSZ} can be
+found in @file{<termios.h>}.  This macro is obsolete, you should
+use Autoconf's @code{AC_HEADER_TIOCGWINSZ} instead.
+
+@item AM_SYS_POSIX_TERMIOS
+@acindex AM_SYS_POSIX_TERMIOS
+@cindex POSIX termios headers
+@cindex termios POSIX headers
+Check to see if POSIX termios headers and functions are available on the
+system.  If so, set the shell variable @code{am_cv_sys_posix_termios} to
+@samp{yes}.  If not, set the variable to @samp{no}.  This macro is obsolete,
+you should use Autoconf's @code{AC_SYS_POSIX_TERMIOS} instead.
+
+@end table
+
+
+@node Private macros
+@subsection Private macros
+
+The following macros are private macros you should not call directly.
+They are called by the other public macros when appropriate.  Do not
+rely on them, as they might be changed in a future version.  Consider
+them as implementation details; or better, do not consider them at all:
+skip this section!
+
+@ftable @code
+@item _AM_DEPENDENCIES
+@itemx AM_SET_DEPDIR
+@itemx AM_DEP_TRACK
+@itemx AM_OUTPUT_DEPENDENCY_COMMANDS
+These macros are used to implement Automake's automatic dependency
+tracking scheme.  They are called automatically by automake when
+required, and there should be no need to invoke them manually.
+
+@item AM_MAKE_INCLUDE
+This macro is used to discover how the user's @command{make} handles
+@code{include} statements.  This macro is automatically invoked when
+needed; there should be no need to invoke it manually.
+
+@item AM_PROG_INSTALL_STRIP
+This is used to find a version of @command{install} that can be used to
+strip a program at installation time.  This macro is
+automatically included when required.
+
+@item AM_SANITY_CHECK
+This checks to make sure that a file created in the build directory is
+newer than a file in the source directory.  This can fail on systems
+where the clock is set incorrectly.  This macro is automatically run
+from @code{AM_INIT_AUTOMAKE}.
+
+@end ftable
+
+
+@node Extending aclocal
+@section Writing your own aclocal macros
+
+@cindex @command{aclocal}, extending
+@cindex Extending @command{aclocal}
+
+The @command{aclocal} program doesn't have any built-in knowledge of any
+macros, so it is easy to extend it with your own macros.
+
+This can be used by libraries that want to supply their own Autoconf
+macros for use by other programs.  For instance, the @command{gettext}
+library supplies a macro @code{AM_GNU_GETTEXT} that should be used by
+any package using @command{gettext}.  When the library is installed, it
+installs this macro so that @command{aclocal} will find it.
+
+A macro file's name should end in @file{.m4}.  Such files should be
+installed in @file{$(datadir)/aclocal}.  This is as simple as writing:
+
+@example
+aclocaldir = $(datadir)/aclocal
+aclocal_DATA = mymacro.m4 myothermacro.m4
+@end example
+
+@noindent
+Please do use @file{$(datadir)/aclocal}, and not something based on
+the result of @samp{aclocal --print-ac-dir}.  @xref{Hard-Coded Install
+Paths}, for arguments.
+
+A file of macros should be a series of properly quoted
+@code{AC_DEFUN}'s (@pxref{Macro Definitions, , , autoconf, The
+Autoconf Manual}).  The @command{aclocal} programs also understands
+@code{AC_REQUIRE} (@pxref{Prerequisite Macros, , , autoconf, The
+Autoconf Manual}), so it is safe to put each macro in a separate file.
+Each file should have no side effects but macro definitions.
+Especially, any call to @code{AC_PREREQ} should be done inside the
+defined macro, not at the beginning of the file.
+
+@cindex underquoted @code{AC_DEFUN}
+@acindex AC_DEFUN
+@acindex AC_PREREQ
+
+Starting with Automake 1.8, @command{aclocal} will warn about all
+underquoted calls to @code{AC_DEFUN}.  We realize this will annoy a
+lot of people, because @command{aclocal} was not so strict in the past
+and many third party macros are underquoted; and we have to apologize
+for this temporary inconvenience.  The reason we have to be stricter
+is that a future implementation of @command{aclocal} (@pxref{Future of
+aclocal}) will have to temporarily include all these third party
+@file{.m4} files, maybe several times, including even files that are
+not actually needed.  Doing so should alleviate many problems of the
+current implementation, however it requires a stricter style from the
+macro authors.  Hopefully it is easy to revise the existing macros.
+For instance,
+@example
+# bad style
+AC_PREREQ(2.57)
+AC_DEFUN(AX_FOOBAR,
+[AC_REQUIRE([AX_SOMETHING])dnl
+AX_FOO
+AX_BAR
+])
+@end example
+@noindent
+should be rewritten as
+@example
+AC_DEFUN([AX_FOOBAR],
+[AC_PREREQ(2.57)dnl
+AC_REQUIRE([AX_SOMETHING])dnl
+AX_FOO
+AX_BAR
+])
+@end example
+
+Wrapping the @code{AC_PREREQ} call inside the macro ensures that
+Autoconf 2.57 will not be required if @code{AX_FOOBAR} is not actually
+used.  Most importantly, quoting the first argument of @code{AC_DEFUN}
+allows the macro to be redefined or included twice (otherwise this
+first argument would be expanded during the second definition).
+
+If you have been directed here by the @command{aclocal} diagnostic but
+are not the maintainer of the implicated macro, you will want to
+contact the maintainer of that macro.  Please make sure you have the
+last version of the macro and that the problem already hasn't been
+reported before doing so: people tend to work faster when they aren't
+flooded by mails.
+
+Another situation where @command{aclocal} is commonly used is to
+manage macros that are used locally by the package, @ref{Local
+Macros}.
+
+@node Local Macros
+@section Handling Local Macros
+
+Feature tests offered by Autoconf do not cover all needs.  People
+often have to supplement existing tests with their own macros, or
+with third-party macros.
+
+There are two ways to organize custom macros in a package.
+
+The first possibility (the historical practice) is to list all your
+macros in @file{acinclude.m4}.  This file will be included in
+@file{aclocal.m4} when you run @command{aclocal}, and its macro(s) will
+henceforth be visible to @command{autoconf}.  However if it contains
+numerous macros, it will rapidly become difficult to maintain, and it
+will be almost impossible to share macros between packages.
+
+@vindex ACLOCAL_AMFLAGS
+The second possibility, which we do recommend, is to write each macro
+in its own file and gather all these files in a directory.  This
+directory is usually called @file{m4/}.  To build @file{aclocal.m4},
+one should therefore instruct @command{aclocal} to scan @file{m4/}.
+From the command line, this is done with @samp{aclocal -I m4}.  The
+top-level @file{Makefile.am} should also be updated to define
+
+@example
+ ACLOCAL_AMFLAGS = -I m4
+@end example
+
+@code{ACLOCAL_AMFLAGS} contains options to pass to @command{aclocal}
+when @file{aclocal.m4} is to be rebuilt by @command{make}.  This line is
+also used by @command{autoreconf} (@pxref{autoreconf Invocation, ,
+Using @command{autoreconf} to Update @file{configure} Scripts,
+autoconf, The Autoconf Manual}) to run @command{aclocal} with suitable
+options, or by @command{autopoint} (@pxref{autopoint Invocation, ,
+Invoking the @command{autopoint} Program, gettext, GNU gettext tools})
+and @command{gettextize} (@pxref{gettextize Invocation, , Invoking the
+@command{gettextize} Program, gettext, GNU gettext tools}) to locate
+the place where Gettext's macros should be installed.  So even if you
+do not really care about the rebuild rules, you should define
+@code{ACLOCAL_AMFLAGS}.
+
+When @samp{aclocal -I m4} is run, it will build a @file{aclocal.m4}
+that @code{m4_include}s any file from @file{m4/} that defines a
+required macro.  Macros not found locally will still be searched in
+system-wide directories, as explained in @ref{Macro search path}.
+
+Custom macros should be distributed for the same reason that
+@file{configure.ac} is: so that other people have all the sources of
+your package if they want to work on it.  Actually, this distribution
+happens automatically because all @code{m4_include}d files are
+distributed.
+
+However there is no consensus on the distribution of third-party
+macros that your package may use.  Many libraries install their own
+macro in the system-wide @command{aclocal} directory (@pxref{Extending
+aclocal}).  For instance, Guile ships with a file called
+@file{guile.m4} that contains the macro @code{GUILE_FLAGS} that can
+be used to define setup compiler and linker flags appropriate for
+using Guile.  Using @code{GUILE_FLAGS} in @file{configure.ac} will
+cause @command{aclocal} to copy @file{guile.m4} into
+@file{aclocal.m4}, but as @file{guile.m4} is not part of the project,
+it will not be distributed.  Technically, that means a user who
+needs to rebuild @file{aclocal.m4} will have to install Guile first.
+This is probably OK, if Guile already is a requirement to build the
+package.  However, if Guile is only an optional feature, or if your
+package might run on architectures where Guile cannot be installed,
+this requirement will hinder development.  An easy solution is to copy
+such third-party macros in your local @file{m4/} directory so they get
+distributed.
+
+@node Future of aclocal
+@section The Future of @command{aclocal}
+@cindex @command{aclocal}'s scheduled death
+
+@command{aclocal} is expected to disappear.  This feature really
+should not be offered by Automake.  Automake should focus on generating
+@file{Makefile}s; dealing with M4 macros really is Autoconf's job.
+That some people install Automake just to use @command{aclocal}, but
+do not use @command{automake} otherwise is an indication of how that
+feature is misplaced.
+
+The new implementation will probably be done slightly differently.
+For instance it could enforce the @file{m4/}-style layout discussed in
+@ref{Local Macros}, and take care of copying (and even updating)
+third-party macros from @file{/usr/share/aclocal/} into the local
+@file{m4/} directory.
+
+We have no idea when and how this will happen.  This has been
+discussed several times in the past, but someone still has to commit
+itself to that non-trivial task.
+
+From the user point of view, @command{aclocal}'s removal might turn
+out to be painful.  There is a simple precaution that you may take to
+make that switch more seamless: never call @command{aclocal} yourself.
+Keep this guy under the exclusive control of @command{autoreconf} and
+Automake's rebuild rules.  Hopefully you won't need to worry about
+things breaking, when @command{aclocal} disappears, because everything
+will have been taken care of.  If otherwise you used to call
+@command{aclocal} directly yourself or from some script, you will
+quickly notice the change.
+
+Many packages come with a script called @file{bootstrap.sh} or
+@file{autogen.sh}, that will just call @command{aclocal},
+@command{libtoolize}, @command{gettextize} or @command{autopoint},
+@command{autoconf}, @command{autoheader}, and @command{automake} in
+the right order.  Actually this is precisely what @command{autoreconf}
+can do for you.  If your package has such a @file{bootstrap.sh} or
+@file{autogen.sh} script, consider using @command{autoreconf}.  That
+should simplify its logic a lot (less things to maintain, yum!), it's
+even likely you will not need the script anymore, and more to the point
+you will not call @command{aclocal} directly anymore.
+
+For the time being, third-party packages should continue to install
+public macros into @file{/usr/share/aclocal/}.  If @command{aclocal}
+is replaced by another tool it might make sense to rename the
+directory, but supporting @file{/usr/share/aclocal/} for backward
+compatibility should be really easy provided all macros are properly
+written (@pxref{Extending aclocal}).
+
+
+
+@node Directories
+@chapter Directories
+
+For simple projects that distributes all files in the same directory
+it is enough to have a single @file{Makefile.am} that builds
+everything in place.
+
+In larger projects it is common to organize files in different
+directories, in a tree.  For instance one directory per program, per
+library or per module.  The traditional approach is to build these
+subdirectory recursively: each directory contains its @file{Makefile}
+(generated from @file{Makefile.am}), and when @command{make} is run
+from the top level directory it enters each subdirectory in turn to
+build its contents.
+
+@menu
+* Subdirectories::              Building subdirectories recursively
+* Conditional Subdirectories::  Conditionally not building directories
+* Alternative::                 Subdirectories without recursion
+* Subpackages::                 Nesting packages
+@end menu
+
+@node Subdirectories
+@section Recursing subdirectories
+
+@cindex @code{SUBDIRS}, explained
+
+In packages with subdirectories, the top level @file{Makefile.am} must
+tell Automake which subdirectories are to be built.  This is done via
+the @code{SUBDIRS} variable.
+@vindex SUBDIRS
+
+The @code{SUBDIRS} variable holds a list of subdirectories in which
+building of various sorts can occur.  The rules for many targets
+(e.g., @code{all}) in the generated @file{Makefile} will run commands
+both locally and in all specified subdirectories.  Note that the
+directories listed in @code{SUBDIRS} are not required to contain
+@file{Makefile.am}s; only @file{Makefile}s (after configuration).
+This allows inclusion of libraries from packages that do not use
+Automake (such as @code{gettext}; see also @ref{Third-Party
+Makefiles}).
+
+In packages that use subdirectories, the top-level @file{Makefile.am} is
+often very short.  For instance, here is the @file{Makefile.am} from the
+GNU Hello distribution:
+
+@example
+EXTRA_DIST = BUGS ChangeLog.O README-alpha
+SUBDIRS = doc intl po src tests
+@end example
+
+When Automake invokes @command{make} in a subdirectory, it uses the value
+of the @code{MAKE} variable.  It passes the value of the variable
+@code{AM_MAKEFLAGS} to the @command{make} invocation; this can be set in
+@file{Makefile.am} if there are flags you must always pass to
+@command{make}.
+@vindex MAKE
+@vindex AM_MAKEFLAGS
+
+The directories mentioned in @code{SUBDIRS} are usually direct
+children of the current directory, each subdirectory containing its
+own @file{Makefile.am} with a @code{SUBDIRS} pointing to deeper
+subdirectories.  Automake can be used to construct packages of
+arbitrary depth this way.
+
+By default, Automake generates @file{Makefiles} that work depth-first
+in postfix order: the subdirectories are built before the current
+directory.  However, it is possible to change this ordering.  You can
+do this by putting @samp{.} into @code{SUBDIRS}.  For instance,
+putting @samp{.} first will cause a prefix ordering of
+directories.
+
+Using
+
+@example
+SUBDIRS = lib src . test
+@end example
+
+@noindent
+will cause @file{lib/} to be built before @file{src/}, then the
+current directory will be built, finally the @file{test/} directory
+will be built.  It is customary to arrange test directories to be
+built after everything else since they are meant to test what has
+been constructed.
+
+All @code{clean} rules are run in reverse order of build rules.
+
+@node Conditional Subdirectories
+@section Conditional Subdirectories
+@cindex Subdirectories, building conditionally
+@cindex Conditional subdirectories
+@cindex @code{SUBDIRS}, conditional
+@cindex Conditional @code{SUBDIRS}
+
+It is possible to define the @code{SUBDIRS} variable conditionally if,
+like in the case of GNU Inetutils, you want to only build a subset of
+the entire package.
+
+To illustrate how this works, let's assume we have two directories
+@file{src/} and @file{opt/}.  @file{src/} should always be built, but we
+want to decide in @command{configure} whether @file{opt/} will be built
+or not.  (For this example we will assume that @file{opt/} should be
+built when the variable @samp{$want_opt} was set to @samp{yes}.)
+
+Running @command{make} should thus recurse into @file{src/} always, and
+then maybe in @file{opt/}.
+
+However @samp{make dist} should always recurse into both @file{src/}
+and @file{opt/}.  Because @file{opt/} should be distributed even if it
+is not needed in the current configuration.  This means
+@file{opt/Makefile} should be created @emph{unconditionally}.
+
+There are two ways to setup a project like this.  You can use Automake
+conditionals (@pxref{Conditionals}) or use Autoconf @code{AC_SUBST}
+variables (@pxref{Setting Output Variables, , Setting Output
+Variables, autoconf, The Autoconf Manual}).  Using Automake
+conditionals is the preferred solution.  Before we illustrate these
+two possibility, let's introduce @code{DIST_SUBDIRS}.
+
+@subsection @code{SUBDIRS} vs.@: @code{DIST_SUBDIRS}
+@cindex @code{DIST_SUBDIRS}, explained
+
+Automake considers two sets of directories, defined by the variables
+@code{SUBDIRS} and @code{DIST_SUBDIRS}.
+
+@code{SUBDIRS} contains the subdirectories of the current directory
+that must be built (@pxref{Subdirectories}).  It must be defined
+manually; Automake will never guess a directory is to be built.  As we
+will see in the next two sections, it is possible to define it
+conditionally so that some directory will be omitted from the build.
+
+@code{DIST_SUBDIRS} is used in rules that need to recurse in all
+directories, even those that have been conditionally left out of the
+build.  Recall our example where we may not want to build subdirectory
+@file{opt/}, but yet we want to distribute it?  This is where
+@code{DIST_SUBDIRS} come into play: @samp{opt} may not appear in
+@code{SUBDIRS}, but it must appear in @code{DIST_SUBDIRS}.
+
+Precisely, @code{DIST_SUBDIRS} is used by @samp{make
+maintainer-clean}, @samp{make distclean} and @samp{make dist}.  All
+other recursive rules use @code{SUBDIRS}.
+
+If @code{SUBDIRS} is defined conditionally using Automake
+conditionals, Automake will define @code{DIST_SUBDIRS} automatically
+from the possibles values of @code{SUBDIRS} in all conditions.
+
+If @code{SUBDIRS} contains @code{AC_SUBST} variables,
+@code{DIST_SUBDIRS} will not be defined correctly because Automake
+does not know the possible values of these variables.  In this case
+@code{DIST_SUBDIRS} needs to be defined manually.
+
+@subsection Conditional subdirectories with @code{AM_CONDITIONAL}
+@cindex @code{SUBDIRS} and @code{AM_CONDITIONAL}
+@cindex @code{AM_CONDITIONAL} and @code{SUBDIRS}
+
+@c The test case for the setup described here is
+@c     test/subdircond2.test
+@c Try to keep it in sync.
+
+@file{configure} should output the @file{Makefile} for each directory
+and define a condition into which @file{opt/} should be built.
+
+@example
+@dots{}
+AM_CONDITIONAL([COND_OPT], [test "$want_opt" = yes])
+AC_CONFIG_FILES([Makefile src/Makefile opt/Makefile])
+@dots{}
+@end example
+
+Then @code{SUBDIRS} can be defined in the top-level @file{Makefile.am}
+as follows.
+
+@example
+if COND_OPT
+  MAYBE_OPT = opt
+endif
+SUBDIRS = src $(MAYBE_OPT)
+@end example
+
+As you can see, running @command{make} will rightly recurse into
+@file{src/} and maybe @file{opt/}.
+
+@vindex DIST_SUBDIRS
+As you can't see, running @samp{make dist} will recurse into both
+@file{src/} and @file{opt/} directories because @samp{make dist}, unlike
+@samp{make all}, doesn't use the @code{SUBDIRS} variable.  It uses the
+@code{DIST_SUBDIRS} variable.
+
+In this case Automake will define @samp{DIST_SUBDIRS = src opt}
+automatically because it knows that @code{MAYBE_OPT} can contain
+@samp{opt} in some condition.
+
+@subsection Conditional Subdirectories with @code{AC_SUBST}
+@cindex @code{SUBDIRS} and @code{AC_SUBST}
+@cindex @code{AC_SUBST} and @code{SUBDIRS}
+
+@c The test case for the setup described here is
+@c     test/subdircond3.test
+@c Try to keep it in sync.
+
+Another possibility is to define @code{MAYBE_OPT} from
+@file{./configure} using @code{AC_SUBST}:
+
+@example
+@dots{}
+if test "$want_opt" = yes; then
+  MAYBE_OPT=opt
+else
+  MAYBE_OPT=
+fi
+AC_SUBST([MAYBE_OPT])
+AC_CONFIG_FILES([Makefile src/Makefile opt/Makefile])
+@dots{}
+@end example
+
+In this case the top-level @file{Makefile.am} should look as follows.
+
+@example
+SUBDIRS = src $(MAYBE_OPT)
+DIST_SUBDIRS = src opt
+@end example
+
+The drawback is that since Automake cannot guess what the possible
+values of @code{MAYBE_OPT} are, it is necessary to define
+@code{DIST_SUBDIRS}.
+
+@subsection Non-configured Subdirectories
+@cindex Subdirectories, configured conditionally
+
+The semantic of @code{DIST_SUBDIRS} is often misunderstood by some
+users that try to @emph{configure and build} subdirectories
+conditionally.  Here by configuring we mean creating the
+@file{Makefile} (it might also involve running a nested
+@command{configure} script: this is a costly operation that explains
+why people want to do it conditionally, but only the @file{Makefile}
+is relevant to the discussion).
+
+The above examples all assume that every @file{Makefile} is created,
+even in directories that are not going to be built.  The simple reason
+is that we want @samp{make dist} to distribute even the directories
+that are not being built (e.g., platform-dependent code), hence
+@file{make dist} must recurse into the subdirectory, hence this
+directory must be configured and appear in @code{DIST_SUBDIRS}.
+
+Building packages that do not configure every subdirectory is a tricky
+business, and we do not recommend it to the novice as it is easy to
+produce an incomplete tarball by mistake.  We will not discuss this
+topic in depth here, yet for the adventurous here are a few rules to
+remember.
+
+@cartouche
+@itemize
+@item @code{SUBDIRS} should always be a subset of @code{DIST_SUBDIRS}.
+
+It makes little sense to have a directory in @code{SUBDIRS} that
+is not in @code{DIST_SUBDIRS}.  Think of the former as a way to tell
+which directories listed in the latter should be built.
+@item Any directory listed in @code{DIST_SUBDIRS} and @code{SUBDIRS}
+must be configured.
+
+I.e., the @file{Makefile} must exists or the recursive @command{make}
+rules will not be able to process the directory.
+@item Any configured directory must be listed in @code{DIST_SUBDIRS}.
+
+So that the cleaning rule remove the generated @file{Makefile}s.
+It would be correct to see @code{DIST_SUBDIRS} as a variable that
+lists all the directories that have been configured.
+@end itemize
+@end cartouche
+
+In order to prevent recursion in some non-configured directory you
+must therefore ensure that this directory does not appear in
+@code{DIST_SUBDIRS} (and @code{SUBDIRS}).  For instance, if you define
+@code{SUBDIRS} conditionally using @code{AC_SUBST} and do not define
+@code{DIST_SUBDIRS} explicitly, it will be default to
+@samp{$(SUBDIRS)}; another possibility is to force @code{DIST_SUBDIRS
+= $(SUBDIRS)}.
+
+Of course, directories that are omitted from @code{DIST_SUBDIRS} will
+not be distributed unless you make other arrangements for this to
+happen (for instance, always running @samp{make dist} in a
+configuration where all directories are known to appear in
+@code{DIST_SUBDIRS}; or writing a @code{dist-hook} target to
+distribute these directories).
+
+@cindex Subdirectories, not distributed
+In few packages, non-configured directories are not even expected to
+be distributed.  Although these packages do not require the
+aforementioned extra arrangements, there is another pitfall.  If the
+name of a directory appears in @code{SUBDIRS} or @code{DIST_SUBDIRS},
+@command{automake} will make sure the directory exists.  Consequently
+@command{automake} cannot be run on such a distribution when one
+directory has been omitted.  One way to avoid this check is to use the
+@code{AC_SUBST} method to declare conditional directories; since
+@command{automake} does not know the values of @code{AC_SUBST}
+variables it cannot ensure the corresponding directory exist.
+
+@node Alternative
+@section An Alternative Approach to Subdirectories
+
+If you've ever read Peter Miller's excellent paper,
+@uref{http://www.pcug.org.au/~millerp/rmch/recu-make-cons-harm.html,
+Recursive Make Considered Harmful}, the preceding sections on the use of
+subdirectories will probably come as unwelcome advice.  For those who
+haven't read the paper, Miller's main thesis is that recursive
+@command{make} invocations are both slow and error-prone.
+
+Automake provides sufficient cross-directory support @footnote{We
+believe.  This work is new and there are probably warts.
+@xref{Introduction}, for information on reporting bugs.} to enable you
+to write a single @file{Makefile.am} for a complex multi-directory
+package.
+
+
+By default an installable file specified in a subdirectory will have its
+directory name stripped before installation.  For instance, in this
+example, the header file will be installed as
+@file{$(includedir)/stdio.h}:
+
+@example
+include_HEADERS = inc/stdio.h
+@end example
+
+@vindex nobase_
+@cindex @code{nobase_} prefix
+@cindex Path stripping, avoiding
+@cindex Avoiding path stripping
+
+However, the @samp{nobase_} prefix can be used to circumvent this path
+stripping.  In this example, the header file will be installed as
+@file{$(includedir)/sys/types.h}:
+
+@example
+nobase_include_HEADERS = sys/types.h
+@end example
+
+@cindex @code{nobase_} and @code{dist_} or @code{nodist_}
+@cindex @code{dist_} and @code{nobase_}
+@cindex @code{nodist_} and @code{nobase_}
+@vindex dist_
+@vindex nodist_
+
+@samp{nobase_} should be specified first when used in conjunction with
+either @samp{dist_} or @samp{nodist_} (@pxref{Dist}).  For instance:
+
+@example
+nobase_dist_pkgdata_DATA = images/vortex.pgm sounds/whirl.ogg
+@end example
+
+Finally, note that a variable using the @samp{nobase_} prefix can
+always be replaced by several variables, one for each destination
+directory (@pxref{Uniform}).  For instance, the last example could be
+rewritten as follows:
+
+@example
+imagesdir = $(pkgdatadir)/images
+soundsdir = $(pkgdatadir)/sounds
+dist_images_DATA = images/vortex.pgm
+dist_sounds_DATA = sounds/whirl.ogg
+@end example
+
+@noindent
+This latter syntax makes it possible to change one destination
+directory without changing the layout of the source tree.
+
+@node Subpackages
+@section Nesting Packages
+@cindex Nesting packages
+@cindex Subpackages
+@acindex AC_CONFIG_SUBDIRS
+@acindex AC_CONFIG_AUX_DIR
+
+
+In the GNU Build System, packages can be nested to arbitrary depth.
+This means that a package can embedded other packages with their own
+@file{configure}, @file{Makefile}s, etc.
+
+These other packages should just appear as subdirectories of their
+parent package.  They must be listed in @code{SUBDIRS} like other
+ordinary directories.  However the subpackage's @file{Makefile}s
+should be output by its own @file{configure} script, not by the
+parent's @file{configure}.  This is achieved using the
+@code{AC_CONFIG_SUBDIRS} Autoconf macro (@pxref{Subdirectories,
+AC_CONFIG_SUBDIRS, Configuring Other Packages in Subdirectories,
+autoconf, The Autoconf Manual}).
+
+Here is an example package for an @code{arm} program that links with
+an @code{hand} library that is a nested package in subdirectory
+@file{hand/}.
+
+@code{arm}'s @file{configure.ac}:
+
+@example
+AC_INIT([arm], [1.0])
+AC_CONFIG_AUX_DIR([.])
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AC_CONFIG_FILES([Makefile])
+# Call hand's ./configure script recursively.
+AC_CONFIG_SUBDIRS([hand])
+AC_OUTPUT
+@end example
+
+@code{arm}'s @file{Makefile.am}:
+
+@example
+# Build the library in the hand subdirectory first.
+SUBDIRS = hand
+
+# Include hand's header when compiling this directory.
+AM_CPPFLAGS = -I$(srcdir)/hand
+
+bin_PROGRAMS = arm
+arm_SOURCES = arm.c
+# link with the hand library.
+arm_LDADD = hand/libhand.a
+@end example
+
+Now here is @code{hand}'s @file{hand/configure.ac}:
+
+@example
+AC_INIT([hand], [1.2])
+AC_CONFIG_AUX_DIR([.])
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+@end example
+
+@noindent
+and its @file{hand/Makefile.am}:
+
+@example
+lib_LIBRARIES = libhand.a
+libhand_a_SOURCES = hand.c
+@end example
+
+When @samp{make dist} is run from the top-level directory it will
+create an archive @file{arm-1.0.tar.gz} that contains the @code{arm}
+code as well as the @file{hand} subdirectory.  This package can be
+built and installed like any ordinary package, with the usual
+@samp{./configure && make && make install} sequence (the @code{hand}
+subpackage will be built and installed by the process).
+
+When @samp{make dist} is run from the hand directory, it will create a
+self-contained @file{hand-1.2.tar.gz} archive.  So although it appears
+to be embedded in another package, it can still be used separately.
+
+The purpose of the @samp{AC_CONFIG_AUX_DIR([.])} instruction is to
+force Automake and Autoconf into search auxiliary script in the
+current directory.  For instance, this means that there will be two
+copies of @file{install-sh}: one in the top-level of the @code{arm}
+package, and another one in the @file{hand/} subdirectory for the
+@code{hand} package.
+
+The historical default is to search these auxiliary scripts in the
+immediate parent and grand-parent directories.  So if the
+@samp{AC_CONFIG_AUX_DIR([.])} line was removed from
+@file{hand/configure.ac}, that subpackage would share the auxiliary
+script of the @code{arm} package.  This may looks like a gain in size
+(a few kilobytes), but it is actually a loss of modularity as the
+@code{hand} subpackage is no longer self-contained (@samp{make dist}
+in the subdirectory will not work anymore).
+
+Packages that do not use Automake need more work to be integrated this
+way.  @xref{Third-Party Makefiles}.
+
+@node Programs
+@chapter Building Programs and Libraries
+
+A large part of Automake's functionality is dedicated to making it easy
+to build programs and libraries.
+
+@menu
+* A Program::                   Building a program
+* A Library::                   Building a library
+* A Shared Library::            Building a Libtool library
+* Program and Library Variables::  Variables controlling program and
+                                library builds
+* Default _SOURCES::            Default source files
+* LIBOBJS::                     Special handling for LIBOBJS and ALLOCA
+* Program variables::           Variables used when building a program
+* Yacc and Lex::                Yacc and Lex support
+* C++ Support::                 Compiling C++ sources
+* Assembly Support::            Compiling assembly sources
+* Fortran 77 Support::          Compiling Fortran 77 sources
+* Fortran 9x Support::          Compiling Fortran 9x sources
+* Java Support::                Compiling Java sources
+* Support for Other Languages::  Compiling other languages
+* ANSI::                        Automatic de-ANSI-fication
+* Dependencies::                Automatic dependency tracking
+* EXEEXT::                      Support for executable extensions
+@end menu
+
+
+@node A Program
+@section Building a program
+
+In order to build a program, you need to tell Automake which sources
+are part of it, and which libraries it should be linked with.
+
+This section also covers conditional compilation of sources or
+programs.  Most of the comments about these also apply to libraries
+(@pxref{A Library}) and libtool libraries (@pxref{A Shared Library}).
+
+@menu
+* Program Sources::             Defining program sources
+* Linking::                     Linking with libraries or extra objects
+* Conditional Sources::         Handling conditional sources
+* Conditional Programs::        Building program conditionally
+@end menu
+
+@node Program Sources
+@subsection Defining program sources
+
+@cindex @code{PROGRAMS}, @code{bindir}
+@vindex _PROGRAMS
+@vindex bin_PROGRAMS
+@vindex sbin_PROGRAMS
+@vindex libexec_PROGRAMS
+@vindex pkglib_PROGRAMS
+@vindex noinst_PROGRAMS
+@vindex check_PROGRAMS
+
+In a directory containing source that gets built into a program (as
+opposed to a library or a script), the @code{PROGRAMS} primary is used.
+Programs can be installed in @code{bindir}, @code{sbindir},
+@code{libexecdir}, @code{pkglibdir}, or not at all (@code{noinst_}).
+They can also be built only for @samp{make check}, in which case the
+prefix is @samp{check_}.
+
+For instance:
+
+@example
+bin_PROGRAMS = hello
+@end example
+
+In this simple case, the resulting @file{Makefile.in} will contain code
+to generate a program named @code{hello}.
+
+Associated with each program are several assisting variables that are
+named after the program.  These variables are all optional, and have
+reasonable defaults.  Each variable, its use, and default is spelled out
+below; we use the ``hello'' example throughout.
+
+The variable @code{hello_SOURCES} is used to specify which source files
+get built into an executable:
+
+@example
+hello_SOURCES = hello.c version.c getopt.c getopt1.c getopt.h system.h
+@end example
+
+This causes each mentioned @file{.c} file to be compiled into the
+corresponding @file{.o}.  Then all are linked to produce @file{hello}.
+
+@cindex @code{_SOURCES} primary, defined
+@cindex @code{SOURCES} primary, defined
+@cindex Primary variable, @code{SOURCES}
+@vindex _SOURCES
+
+If @code{hello_SOURCES} is not specified, then it defaults to the single
+file @file{hello.c} (@pxref{Default _SOURCES}).
+@vindex _SOURCES
+@vindex SOURCES
+
+Multiple programs can be built in a single directory.  Multiple programs
+can share a single source file, which must be listed in each
+@code{_SOURCES} definition.
+
+@cindex Header files in @code{_SOURCES}
+@cindex @code{_SOURCES} and header files
+
+Header files listed in a @code{_SOURCES} definition will be included in
+the distribution but otherwise ignored.  In case it isn't obvious, you
+should not include the header file generated by @file{configure} in a
+@code{_SOURCES} variable; this file should not be distributed.  Lex
+(@file{.l}) and Yacc (@file{.y}) files can also be listed; see @ref{Yacc
+and Lex}.
+
+
+@node Linking
+@subsection Linking the program
+
+If you need to link against libraries that are not found by
+@command{configure}, you can use @code{LDADD} to do so.  This variable is
+used to specify additional objects or libraries to link with; it is
+inappropriate for specifying specific linker flags, you should use
+@code{AM_LDFLAGS} for this purpose.
+@vindex LDADD
+@vindex AM_LDFLAGS
+
+@cindex @code{prog_LDADD}, defined
+
+Sometimes, multiple programs are built in one directory but do not share
+the same link-time requirements.  In this case, you can use the
+@code{@var{prog}_LDADD} variable (where @var{prog} is the name of the
+program as it appears in some @code{_PROGRAMS} variable, and usually
+written in lowercase) to override the global @code{LDADD}.  If this
+variable exists for a given program, then that program is not linked
+using @code{LDADD}.
+@vindex maude_LDADD
+
+For instance, in GNU cpio, @code{pax}, @code{cpio} and @code{mt} are
+linked against the library @file{libcpio.a}.  However, @code{rmt} is
+built in the same directory, and has no such link requirement.  Also,
+@code{mt} and @code{rmt} are only built on certain architectures.  Here
+is what cpio's @file{src/Makefile.am} looks like (abridged):
+
+@example
+bin_PROGRAMS = cpio pax $(MT)
+libexec_PROGRAMS = $(RMT)
+EXTRA_PROGRAMS = mt rmt
+
+LDADD = ../lib/libcpio.a $(INTLLIBS)
+rmt_LDADD =
+
+cpio_SOURCES = @dots{}
+pax_SOURCES = @dots{}
+mt_SOURCES = @dots{}
+rmt_SOURCES = @dots{}
+@end example
+
+@cindex @code{_LDFLAGS}, defined
+@vindex maude_LDFLAGS
+@code{@var{prog}_LDADD} is inappropriate for passing program-specific
+linker flags (except for @option{-l}, @option{-L}, @option{-dlopen} and
+@option{-dlpreopen}).  So, use the @code{@var{prog}_LDFLAGS} variable for
+this purpose.
+
+@cindex @code{_DEPENDENCIES}, defined
+@vindex maude_DEPENDENCIES
+It is also occasionally useful to have a program depend on some other
+target that is not actually part of that program.  This can be done
+using the @code{@var{prog}_DEPENDENCIES} variable.  Each program depends
+on the contents of such a variable, but no further interpretation is
+done.
+
+If @code{@var{prog}_DEPENDENCIES} is not supplied, it is computed by
+Automake.  The automatically-assigned value is the contents of
+@code{@var{prog}_LDADD}, with most configure substitutions, @option{-l},
+@option{-L}, @option{-dlopen} and @option{-dlpreopen} options removed.  The
+configure substitutions that are left in are only @samp{$(LIBOBJS)} and
+@samp{$(ALLOCA)}; these are left because it is known that they will not
+cause an invalid value for @code{@var{prog}_DEPENDENCIES} to be
+generated.
+
+
+@node Conditional Sources
+@subsection Conditional compilation of sources
+
+You can't put a configure substitution (e.g., @samp{@@FOO@@} or
+@samp{$(FOO)} where @code{FOO} is defined via @code{AC_SUBST}) into a
+@code{_SOURCES} variable.  The reason for this is a bit hard to
+explain, but suffice to say that it simply won't work.  Automake will
+give an error if you try to do this.
+
+Fortunately there are two other ways to achieve the same result.  One is
+to use configure substitutions in @code{_LDADD} variables, the other is
+to use an Automake conditional.
+
+@subsubsection Conditional compilation using @code{_LDADD} substitutions
+
+@cindex @code{EXTRA_prog_SOURCES}, defined
+
+Automake must know all the source files that could possibly go into a
+program, even if not all the files are built in every circumstance.  Any
+files that are only conditionally built should be listed in the
+appropriate @code{EXTRA_} variable.  For instance, if
+@file{hello-linux.c} or @file{hello-generic.c} were conditionally included
+in @code{hello}, the @file{Makefile.am} would contain:
+
+@example
+bin_PROGRAMS = hello
+hello_SOURCES = hello-common.c
+EXTRA_hello_SOURCES = hello-linux.c hello-generic.c
+hello_LDADD = $(HELLO_SYSTEM)
+hello_DEPENDENCIES = $(HELLO_SYSTEM)
+@end example
+
+@noindent
+You can then setup the @samp{$(HELLO_SYSTEM)} substitution from
+@file{configure.ac}:
+
+@example
+@dots{}
+case $host in
+  *linux*) HELLO_SYSTEM='hello-linux.$(OBJEXT)' ;;
+  *)       HELLO_SYSTEM='hello-generic.$(OBJEXT)' ;;
+esac
+AC_SUBST([HELLO_SYSTEM])
+@dots{}
+@end example
+
+In this case, the variable @code{HELLO_SYSTEM} should be replaced by
+either @file{hello-linux.o} or @file{hello-generic.o}, and added to
+both @code{hello_DEPENDENCIES} and @code{hello_LDADD} in order to be
+built and linked in.
+
+@subsubsection Conditional compilation using Automake conditionals
+
+An often simpler way to compile source files conditionally is to use
+Automake conditionals.  For instance, you could use this
+@file{Makefile.am} construct to build the same @file{hello} example:
+
+@example
+bin_PROGRAMS = hello
+if LINUX
+hello_SOURCES = hello-linux.c hello-common.c
+else
+hello_SOURCES = hello-generic.c hello-common.c
+endif
+@end example
+
+In this case, @file{configure.ac} should setup the @code{LINUX}
+conditional using @code{AM_CONDITIONAL} (@pxref{Conditionals}).
+
+When using conditionals like this you don't need to use the
+@code{EXTRA_} variable, because Automake will examine the contents of
+each variable to construct the complete list of source files.
+
+If your program uses a lot of files, you will probably prefer a
+conditional @samp{+=}.
+
+@example
+bin_PROGRAMS = hello
+hello_SOURCES = hello-common.c
+if LINUX
+hello_SOURCES += hello-linux.c
+else
+hello_SOURCES += hello-generic.c
+endif
+@end example
+
+@node Conditional Programs
+@subsection Conditional compilation of programs
+@cindex Conditional programs
+@cindex Programs, conditional
+
+Sometimes it is useful to determine the programs that are to be built
+at configure time.  For instance, GNU @code{cpio} only builds
+@code{mt} and @code{rmt} under special circumstances.  The means to
+achieve conditional compilation of programs are the same you can use
+to compile source files conditionally: substitutions or conditionals.
+
+@subsubsection Conditional programs using @command{configure} substitutions
+
+@vindex EXTRA_PROGRAMS
+@cindex @code{EXTRA_PROGRAMS}, defined
+In this case, you must notify Automake of all the programs that can
+possibly be built, but at the same time cause the generated
+@file{Makefile.in} to use the programs specified by @command{configure}.
+This is done by having @command{configure} substitute values into each
+@code{_PROGRAMS} definition, while listing all optionally built programs
+in @code{EXTRA_PROGRAMS}.
+
+@example
+bin_PROGRAMS = cpio pax $(MT)
+libexec_PROGRAMS = $(RMT)
+EXTRA_PROGRAMS = mt rmt
+@end example
+
+As explained in @ref{EXEEXT}, Automake will rewrite
+@code{bin_PROGRAMS}, @code{libexec_PROGRAMS}, and
+@code{EXTRA_PROGRAMS}, appending @samp{$(EXEEXT)} to each binary.
+Obviously it cannot rewrite values obtained at run-time through
+@command{configure} substitutions, therefore you should take care of
+appending @samp{$(EXEEXT)} yourself, as in @samp{AC_SUBST([MT],
+['mt$@{EXEEXT@}'])}.
+
+@subsubsection Conditional programs using Automake conditionals
+
+You can also use Automake conditionals (@pxref{Conditionals}) to
+select programs to be built.  In this case you don't have to worry
+about @samp{$(EXEEXT)} or @code{EXTRA_PROGRAMS}.
+
+@example
+bin_PROGRAMS = cpio pax
+if WANT_MT
+  bin_PROGRAMS += mt
+endif
+if WANT_RMT
+  libexec_PROGRAMS = rmt
+endif
+@end example
+
+
+@node A Library
+@section Building a library
+
+@cindex @code{_LIBRARIES} primary, defined
+@cindex @code{LIBRARIES} primary, defined
+@cindex Primary variable, @code{LIBRARIES}
+@vindex _LIBRARIES
+
+@vindex lib_LIBRARIES
+@vindex pkglib_LIBRARIES
+@vindex noinst_LIBRARIES
+
+Building a library is much like building a program.  In this case, the
+name of the primary is @code{LIBRARIES}.  Libraries can be installed in
+@code{libdir} or @code{pkglibdir}.
+
+@xref{A Shared Library}, for information on how to build shared
+libraries using libtool and the @code{LTLIBRARIES} primary.
+
+Each @code{_LIBRARIES} variable is a list of the libraries to be built.
+For instance, to create a library named @file{libcpio.a}, but not install
+it, you would write:
+
+@example
+noinst_LIBRARIES = libcpio.a
+libcpio_a_SOURCES = @dots{}
+@end example
+
+The sources that go into a library are determined exactly as they are
+for programs, via the @code{_SOURCES} variables.  Note that the library
+name is canonicalized (@pxref{Canonicalization}), so the @code{_SOURCES}
+variable corresponding to @file{libcpio.a} is @samp{libcpio_a_SOURCES},
+not @samp{libcpio.a_SOURCES}.
+
+@vindex maude_LIBADD
+Extra objects can be added to a library using the
+@code{@var{library}_LIBADD} variable.  This should be used for objects
+determined by @command{configure}.  Again from @code{cpio}:
+
+@example
+libcpio_a_LIBADD = $(LIBOBJS) $(ALLOCA)
+@end example
+
+In addition, sources for extra objects that will not exist until
+configure-time must be added to the @code{BUILT_SOURCES} variable
+(@pxref{Sources}).
+
+Building a static library is done by compiling all object files, then
+by invoking @samp{$(AR) $(ARFLAGS)} followed by the name of the
+library and the list of objects, and finally by calling
+@samp{$(RANLIB)} on that library.  You should call
+@code{AC_PROG_RANLIB} from your @file{configure.ac} to define
+@code{RANLIB} (Automake will complain otherwise).  @code{AR} and
+@code{ARFLAGS} default to @code{ar} and @code{cru} respectively; you
+can override these two variables my setting them in your
+@file{Makefile.am}, by @code{AC_SUBST}ing them from your
+@file{configure.ac}, or by defining a per-library @code{maude_AR}
+variable (@pxref{Program and Library Variables}).
+
+@cindex Empty libraries
+Be careful when selecting library components conditionally.  Because
+building an empty library is not portable, you should ensure that any
+library contains always at least one object.
+
+To use a static library when building a program, add it to
+@code{LDADD} for this program.  In the following example, the program
+@file{cpio} is statically linked with the library @file{libcpio.a}.
+
+@example
+noinst_LIBRARIES = libcpio.a
+libcpio_a_SOURCES = @dots{}
+
+bin_PROGRAMS = cpio
+cpio_SOURCES = cpio.c @dots{}
+cpio_LDADD = libcpio.a
+@end example
+
+
+@node A Shared Library
+@section Building a Shared Library
+
+@cindex Shared libraries, support for
+
+Building shared libraries portably is a relatively complex matter.
+For this reason, GNU Libtool (@pxref{Top, , Introduction, libtool, The
+Libtool Manual}) was created to help build shared libraries in a
+platform-independent way.
+
+@menu
+* Libtool Concept::             Introducing Libtool
+* Libtool Libraries::           Declaring Libtool Libraries
+* Conditional Libtool Libraries::  Building Libtool Libraries Conditionally
+* Conditional Libtool Sources::  Choosing Library Sources Conditionally
+* Libtool Convenience Libraries::  Building Convenience Libtool Libraries
+* Libtool Modules::             Building Libtool Modules
+* Libtool Flags::               Using _LIBADD and _LDFLAGS
+* LTLIBOBJS::                   Using $(LTLIBOBJS) and $(LTALLOCA)
+* Libtool Issues::              Common Issues Related to Libtool's Use
+@end menu
+
+@node Libtool Concept
+@subsection The Libtool Concept
+
+@cindex @command{libtool}, introduction
+@cindex libtool library, definition
+@cindex suffix @file{.la}, defined
+@cindex @file{.la} suffix, defined
+
+Libtool abstracts shared and static libraries into a unified concept
+henceforth called @dfn{libtool libraries}.  Libtool libraries are
+files using the @file{.la} suffix, and can designate a static library,
+a shared library, or maybe both.  Their exact nature cannot be
+determined until @file{./configure} is run: not all platforms support
+all kinds of libraries, and users can explicitly select which
+libraries should be built.  (However the package's maintainers can
+tune the default, @pxref{AC_PROG_LIBTOOL, , The @code{AC_PROG_LIBTOOL}
+macro, libtool, The Libtool Manual}.)
+
+@cindex suffix @file{.lo}, defined
+Because object files for shared and static libraries must be compiled
+differently, libtool is also used during compilation.  Object files
+built by libtool are called @dfn{libtool objects}: these are files
+using the @file{.lo} suffix.  Libtool libraries are built from these
+libtool objects.
+
+You should not assume anything about the structure of @file{.la} or
+@file{.lo} files and how libtool constructs them: this is libtool's
+concern, and the last thing one wants is to learn about libtool's
+guts.  However the existence of these files matters, because they are
+used as targets and dependencies in @file{Makefile}s rules when
+building libtool libraries.  There are situations where you may have
+to refer to these, for instance when expressing dependencies for
+building source files conditionally (@pxref{Conditional Libtool
+Sources}).
+
+@cindex @file{libltdl}, introduction
+
+People considering writing a plug-in system, with dynamically loaded
+modules, should look into @file{libltdl}: libtool's dlopening library
+(@pxref{Using libltdl, , Using libltdl, libtool, The Libtool Manual}).
+This offers a portable dlopening facility to load libtool libraries
+dynamically, and can also achieve static linking where unavoidable.
+
+Before we discuss how to use libtool with Automake in details, it
+should be noted that the libtool manual also has a section about how
+to use Automake with libtool (@pxref{Using Automake, , Using Automake
+with Libtool, libtool, The Libtool Manual}).
+
+@node Libtool Libraries
+@subsection Building Libtool Libraries
+
+@cindex @code{_LTLIBRARIES} primary, defined
+@cindex @code{LTLIBRARIES} primary, defined
+@cindex Primary variable, @code{LTLIBRARIES}
+@cindex Example of shared libraries
+@vindex lib_LTLIBRARIES
+@vindex pkglib_LTLIBRARIES
+@vindex _LTLIBRARIES
+
+Automake uses libtool to build libraries declared with the
+@code{LTLIBRARIES} primary.  Each @code{_LTLIBRARIES} variable is a
+list of libtool libraries to build.  For instance, to create a libtool
+library named @file{libgettext.la}, and install it in @code{libdir},
+write:
+
+@example
+lib_LTLIBRARIES = libgettext.la
+libgettext_la_SOURCES = gettext.c gettext.h @dots{}
+@end example
+
+Automake predefines the variable @code{pkglibdir}, so you can use
+@code{pkglib_LTLIBRARIES} to install libraries in
+@samp{$(libdir)/@@PACKAGE@@/}.
+
+If @file{gettext.h} is a public header file that needs to be installed
+in order for people to use the library, it should be declared using a
+@code{_HEADERS} variable, not in @code{libgettext_la_SOURCES}.
+Headers listed in the latter should be internal headers that are not
+part of the public interface.
+
+@example
+lib_LTLIBRARIES = libgettext.la
+libgettext_la_SOURCES = gettext.c @dots{}
+include_HEADERS = gettext.h @dots{}
+@end example
+
+A package can build and install such a library along with other
+programs that use it.  This dependency should be specified using
+@code{LDADD}.  The following example builds a program named
+@file{hello} that is linked with @file{libgettext.la}.
+
+@example
+lib_LTLIBRARIES = libgettext.la
+libgettext_la_SOURCES = gettext.c @dots{}
+
+bin_PROGRAMS = hello
+hello_SOURCES = hello.c @dots{}
+hello_LDADD = libgettext.la
+@end example
+
+@noindent
+Whether @file{hello} is statically or dynamically linked with
+@file{libgettext.la} is not yet known: this will depend on the
+configuration of libtool and the capabilities of the host.
+
+
+@node Conditional Libtool Libraries
+@subsection Building Libtool Libraries Conditionally
+@cindex libtool libraries, conditional
+@cindex conditional libtool libraries
+
+Like conditional programs (@pxref{Conditional Programs}), there are
+two main ways to build conditional libraries: using Automake
+conditionals or using Autoconf @code{AC_SUBST}itutions.
+
+The important implementation detail you have to be aware of is that
+the place where a library will be installed matters to libtool: it
+needs to be indicated @emph{at link-time} using the @option{-rpath}
+option.
+
+For libraries whose destination directory is known when Automake runs,
+Automake will automatically supply the appropriate @option{-rpath}
+option to libtool.  This is the case for libraries listed explicitly in
+some installable @code{_LTLIBRARIES} variables such as
+@code{lib_LTLIBRARIES}.
+
+However, for libraries determined at configure time (and thus
+mentioned in @code{EXTRA_LTLIBRARIES}), Automake does not know the
+final installation directory.  For such libraries you must add the
+@option{-rpath} option to the appropriate @code{_LDFLAGS} variable by
+hand.
+
+The examples below illustrate the differences between these two methods.
+
+Here is an example where @code{WANTEDLIBS} is an @code{AC_SUBST}ed
+variable set at @file{./configure}-time to either @file{libfoo.la},
+@file{libbar.la}, both, or none.  Although @samp{$(WANTEDLIBS)}
+appears in the @code{lib_LTLIBRARIES}, Automake cannot guess it
+relates to @file{libfoo.la} or @file{libbar.la} by the time it creates
+the link rule for these two libraries.  Therefore the @option{-rpath}
+argument must be explicitly supplied.
+
+@example
+EXTRA_LTLIBRARIES = libfoo.la libbar.la
+lib_LTLIBRARIES = $(WANTEDLIBS)
+libfoo_la_SOURCES = foo.c @dots{}
+libfoo_la_LDFLAGS = -rpath '$(libdir)'
+libbar_la_SOURCES = bar.c @dots{}
+libbar_la_LDFLAGS = -rpath '$(libdir)'
+@end example
+
+Here is how the same @file{Makefile.am} would look using Automake
+conditionals named @code{WANT_LIBFOO} and @code{WANT_LIBBAR}.  Now
+Automake is able to compute the @option{-rpath} setting itself, because
+it's clear that both libraries will end up in @samp{$(libdir)} if they
+are installed.
+
+@example
+lib_LTLIBRARIES =
+if WANT_LIBFOO
+lib_LTLIBRARIES += libfoo.la
+endif
+if WANT_LIBBAR
+lib_LTLIBRARIES += libbar.la
+endif
+libfoo_la_SOURCES = foo.c @dots{}
+libbar_la_SOURCES = bar.c @dots{}
+@end example
+
+@node Conditional Libtool Sources
+@subsection Libtool Libraries with Conditional Sources
+
+Conditional compilation of sources in a library can be achieved in the
+same way as conditional compilation of sources in a program
+(@pxref{Conditional Sources}).  The only difference is that
+@code{_LIBADD} should be used instead of @code{_LDADD} and that it
+should mention libtool objects (@file{.lo} files).
+
+So, to mimic the @file{hello} example from @ref{Conditional Sources},
+we could build a @file{libhello.la} library using either
+@file{hello-linux.c} or @file{hello-generic.c} with the following
+@file{Makefile.am}.
+
+@example
+lib_LTLIBRARIES = libhello.la
+libhello_la_SOURCES = hello-common.c
+EXTRA_libhello_la_SOURCES = hello-linux.c hello-generic.c
+libhello_la_LIBADD = $(HELLO_SYSTEM)
+libhello_la_DEPENDENCIES = $(HELLO_SYSTEM)
+@end example
+
+@noindent
+And make sure @command{configure} defines @code{HELLO_SYSTEM} as
+either @file{hello-linux.lo} or @file{hello-@-generic.lo}.
+
+Or we could simply use an Automake conditional as follows.
+
+@example
+lib_LTLIBRARIES = libhello.la
+libhello_la_SOURCES = hello-common.c
+if LINUX
+libhello_la_SOURCES += hello-linux.c
+else
+libhello_la_SOURCES += hello-generic.c
+endif
+@end example
+
+@node Libtool Convenience Libraries
+@subsection Libtool Convenience Libraries
+@cindex convenience libraries, libtool
+@cindex libtool convenience libraries
+@vindex noinst_LTLIBRARIES
+@vindex check_LTLIBRARIES
+
+Sometimes you want to build libtool libraries that should not be
+installed.  These are called @dfn{libtool convenience libraries} and
+are typically used to encapsulate many sublibraries, later gathered
+into one big installed library.
+
+Libtool convenience libraries are declared by directory-less variables
+such as @code{noinst_LTLIBRARIES}, @code{check_LTLIBRARIES}, or even
+@code{EXTRA_LTLIBRARIES}.  Unlike installed libtool libraries they do
+not need an @option{-rpath} flag at link time (actually this is the only
+difference).
+
+Convenience libraries listed in @code{noinst_LTLIBRARIES} are always
+built.  Those listed in @code{check_LTLIBRARIES} are built only upon
+@samp{make check}.  Finally, libraries listed in
+@code{EXTRA_LTLIBRARIES} are never built explicitly: Automake outputs
+rules to build them, but if the library does not appear as a Makefile
+dependency anywhere it won't be built (this is why
+@code{EXTRA_LTLIBRARIES} is used for conditional compilation).
+
+Here is a sample setup merging libtool convenience libraries from
+subdirectories into one main @file{libtop.la} library.
+
+@example
+# -- Top-level Makefile.am --
+SUBDIRS = sub1 sub2 @dots{}
+lib_LTLIBRARIES = libtop.la
+libtop_la_SOURCES =
+libtop_la_LIBADD = \
+  sub1/libsub1.la \
+  sub2/libsub2.la \
+  @dots{}
+
+# -- sub1/Makefile.am --
+noinst_LTLIBRARIES = libsub1.la
+libsub1_la_SOURCES = @dots{}
+
+# -- sub2/Makefile.am --
+# showing nested convenience libraries
+SUBDIRS = sub2.1 sub2.2 @dots{}
+noinst_LTLIBRARIES = libsub2.la
+libsub2_la_SOURCES =
+libsub2_la_LIBADD = \
+  sub21/libsub21.la \
+  sub22/libsub22.la \
+  @dots{}
+@end example
+
+When using such setup, beware that @command{automake} will assume
+@file{libtop.la} is to be linked with the C linker.  This is because
+@code{libtop_la_SOURCES} is empty, so @command{automake} picks C as
+default language.  If @code{libtop_la_SOURCES} was not empty,
+@command{automake} would select the linker as explained in @ref{How
+the Linker is Chosen}.
+
+If one of the sublibraries contains non-C source, it is important that
+the appropriate linker be chosen.  One way to achieve this is to
+pretend that there is such a non-C file among the sources of the
+library, thus forcing @command{automake} to select the appropriate
+linker.  Here is the top-level @file{Makefile} of our example updated
+to force C++ linking.
+
+@example
+SUBDIRS = sub1 sub2 @dots{}
+lib_LTLIBRARIES = libtop.la
+libtop_la_SOURCES =
+# Dummy C++ source to cause C++ linking.
+nodist_EXTRA_libtop_la_SOURCES = dummy.cxx
+libtop_la_LIBADD = \
+  sub1/libsub1.la \
+  sub2/libsub2.la \
+  @dots{}
+@end example
+
+@samp{EXTRA_*_SOURCES} variables are used to keep track of source
+files that might be compiled (this is mostly useful when doing
+conditional compilation using @code{AC_SUBST}, @pxref{Conditional
+Libtool Sources}), and the @code{nodist_} prefix means the listed
+sources are not to be distributed (@pxref{Program and Library
+Variables}).  In effect the file @file{dummy.cxx} does not need to
+exist in the source tree.  Of course if you have some real source file
+to list in @code{libtop_la_SOURCES} there is no point in cheating with
+@code{nodist_EXTRA_libtop_la_SOURCES}.
+
+
+@node Libtool Modules
+@subsection Libtool Modules
+@cindex modules, libtool
+@cindex libtool modules
+@cindex @option{-module}, libtool
+
+These are libtool libraries meant to be dlopened.  They are
+indicated to libtool by passing @option{-module} at link-time.
+
+@example
+pkglib_LTLIBRARIES = mymodule.la
+mymodule_la_SOURCES = doit.c
+mymodule_la_LDFLAGS = -module
+@end example
+
+Ordinarily, Automake requires that a library's name starts with
+@code{lib}.  However, when building a dynamically loadable module you
+might wish to use a "nonstandard" name.  Automake will not complain
+about such nonstandard name if it knows the library being built is a
+libtool module, i.e., if @option{-module} explicitly appears in the
+library's @code{_LDFLAGS} variable (or in the common @code{AM_LDFLAGS}
+variable when no per-library @code{_LDFLAGS} variable is defined).
+
+As always, @code{AC_SUBST} variables are black boxes to Automake since
+their values are not yet known when @command{automake} is run.
+Therefore if @option{-module} is set via such a variable, Automake
+cannot notice it and will proceed as if the library was an ordinary
+libtool library, with strict naming.
+
+If @code{mymodule_la_SOURCES} is not specified, then it defaults to
+the single file @file{mymodule.c} (@pxref{Default _SOURCES}).
+
+@node Libtool Flags
+@subsection _LIBADD and _LDFLAGS
+@cindex @code{_LIBADD}, libtool
+@cindex @code{_LDFLAGS}, libtool
+
+As shown in previous sections, the @samp{@var{library}_LIBADD}
+variable should be used to list extra libtool objects (@file{.lo}
+files) or libtool libraries (@file{.la}) to add to @var{library}.
+
+The @samp{@var{library}_LDFLAGS} variable is the place to list
+additional libtool flags, such as @option{-version-info},
+@option{-static}, and a lot more.  @xref{Link mode, , Link mode,
+libtool, The Libtool Manual}.
+
+@node LTLIBOBJS, Libtool Issues, Libtool Flags, A Shared Library
+@subsection @code{LTLIBOBJS} and @code{LTALLOCA}
+@cindex @code{LTLIBOBJS}, special handling
+@cindex @code{LIBOBJS}, and Libtool
+@cindex @code{LTALLOCA}, special handling
+@cindex @code{ALLOCA}, and Libtool
+@vindex LTLIBOBJS
+@vindex LIBOBJS
+@vindex LTALLOCA
+@vindex ALLOCA
+@acindex AC_LIBOBJ
+
+Where an ordinary library might include @samp{$(LIBOBJS)} or
+@samp{$(ALLOCA)} (@pxref{LIBOBJS}), a libtool library must use
+@samp{$(LTLIBOBJS)} or @samp{$(LTALLOCA)}.  This is required because
+the object files that libtool operates on do not necessarily end in
+@file{.o}.
+
+Nowadays, the computation of @code{LTLIBOBJS} from @code{LIBOBJS} is
+performed automatically by Autoconf (@pxref{AC_LIBOBJ vs LIBOBJS, ,
+@code{AC_LIBOBJ} vs.@: @code{LIBOBJS}, autoconf, The Autoconf Manual}).
+
+@node Libtool Issues
+@subsection Common Issues Related to Libtool's Use
+
+@subsubsection @samp{required file `./ltmain.sh' not found}
+@cindex @file{ltmain.sh} not found
+@cindex @command{libtoolize}, no longer run by @command{automake}
+@cindex @command{libtoolize} and @command{autoreconf}
+@cindex @command{autoreconf} and @command{libtoolize}
+@cindex @file{bootstrap.sh} and @command{autoreconf}
+@cindex @file{autogen.sh} and @command{autoreconf}
+
+Libtool comes with a tool called @command{libtoolize} that will
+install libtool's supporting files into a package.  Running this
+command will install @file{ltmain.sh}.  You should execute it before
+@command{aclocal} and @command{automake}.
+
+People upgrading old packages to newer autotools are likely to face
+this issue because older Automake versions used to call
+@command{libtoolize}.  Therefore old build scripts do not call
+@command{libtoolize}.
+
+Since Automake 1.6, it has been decided that running
+@command{libtoolize} was none of Automake's business.  Instead, that
+functionality has been moved into the @command{autoreconf} command
+(@pxref{autoreconf Invocation, , Using @command{autoreconf}, autoconf,
+The Autoconf Manual}).  If you do not want to remember what to run and
+when, just learn the @command{autoreconf} command.  Hopefully,
+replacing existing @file{bootstrap.sh} or @file{autogen.sh} scripts by
+a call to @command{autoreconf} should also free you from any similar
+incompatible change in the future.
+
+@subsubsection Objects @samp{created with both libtool and without}
+
+Sometimes, the same source file is used both to build a libtool
+library and to build another non-libtool target (be it a program or
+another library).
+
+Let's consider the following @file{Makefile.am}.
+
+@example
+bin_PROGRAMS = prog
+prog_SOURCES = prog.c foo.c @dots{}
+
+lib_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = foo.c @dots{}
+@end example
+
+@noindent
+(In this trivial case the issue could be avoided by linking
+@file{libfoo.la} with @file{prog} instead of listing @file{foo.c} in
+@code{prog_SOURCES}.  But let's assume we really want to keep
+@file{prog} and @file{libfoo.la} separate.)
+
+Technically, it means that we should build @file{foo.$(OBJEXT)} for
+@file{prog}, and @file{foo.lo} for @file{libfoo.la}.  The problem is
+that in the course of creating @file{foo.lo}, libtool may erase (or
+replace) @file{foo.$(OBJEXT)}, and this cannot be avoided.
+
+Therefore, when Automake detects this situation it will complain
+with a message such as
+@example
+object `foo.$(OBJEXT)' created both with libtool and without
+@end example
+
+A workaround for this issue is to ensure that these two objects get
+different basenames.  As explained in @ref{renamed objects}, this
+happens automatically when per-targets flags are used.
+
+@example
+bin_PROGRAMS = prog
+prog_SOURCES = prog.c foo.c @dots{}
+prog_CFLAGS = $(AM_CFLAGS)
+
+lib_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = foo.c @dots{}
+@end example
+
+@noindent
+Adding @samp{prog_CFLAGS = $(AM_CFLAGS)} is almost a no-op, because
+when the @code{prog_CFLAGS} is defined, it is used instead of
+@code{AM_CFLAGS}.  However as a side effect it will cause
+@file{prog.c} and @file{foo.c} to be compiled as
+@file{prog-prog.$(OBJEXT)} and @file{prog-foo.$(OBJEXT)}, which solves
+the issue.
+
+@node Program and Library Variables
+@section Program and Library Variables
+
+Associated with each program are a collection of variables that can be
+used to modify how that program is built.  There is a similar list of
+such variables for each library.  The canonical name of the program (or
+library) is used as a base for naming these variables.
+
+In the list below, we use the name ``maude'' to refer to the program or
+library.  In your @file{Makefile.am} you would replace this with the
+canonical name of your program.  This list also refers to ``maude'' as a
+program, but in general the same rules apply for both static and dynamic
+libraries; the documentation below notes situations where programs and
+libraries differ.
+
+@vtable @code
+@item maude_SOURCES
+This variable, if it exists, lists all the source files that are
+compiled to build the program.  These files are added to the
+distribution by default.  When building the program, Automake will cause
+each source file to be compiled to a single @file{.o} file (or
+@file{.lo} when using libtool).  Normally these object files are named
+after the source file, but other factors can change this.  If a file in
+the @code{_SOURCES} variable has an unrecognized extension, Automake
+will do one of two things with it.  If a suffix rule exists for turning
+files with the unrecognized extension into @file{.o} files, then
+automake will treat this file as it will any other source file
+(@pxref{Support for Other Languages}).  Otherwise, the file will be
+ignored as though it were a header file.
+
+The prefixes @code{dist_} and @code{nodist_} can be used to control
+whether files listed in a @code{_SOURCES} variable are distributed.
+@code{dist_} is redundant, as sources are distributed by default, but it
+can be specified for clarity if desired.
+
+It is possible to have both @code{dist_} and @code{nodist_} variants of
+a given @code{_SOURCES} variable at once; this lets you easily
+distribute some files and not others, for instance:
+
+@example
+nodist_maude_SOURCES = nodist.c
+dist_maude_SOURCES = dist-me.c
+@end example
+
+By default the output file (on Unix systems, the @file{.o} file) will
+be put into the current build directory.  However, if the option
+@option{subdir-objects} is in effect in the current directory then the
+@file{.o} file will be put into the subdirectory named after the
+source file.  For instance, with @option{subdir-objects} enabled,
+@file{sub/dir/file.c} will be compiled to @file{sub/dir/file.o}.  Some
+people prefer this mode of operation.  You can specify
+@option{subdir-objects} in @code{AUTOMAKE_OPTIONS} (@pxref{Options}).
+@cindex Subdirectory, objects in
+@cindex Objects in subdirectory
+
+
+@item EXTRA_maude_SOURCES
+Automake needs to know the list of files you intend to compile
+@emph{statically}.  For one thing, this is the only way Automake has of
+knowing what sort of language support a given @file{Makefile.in}
+requires.  @footnote{There are other, more obscure reasons for
+this limitation as well.}  This means that, for example, you can't put a
+configure substitution like @samp{@@my_sources@@} into a @samp{_SOURCES}
+variable.  If you intend to conditionally compile source files and use
+@file{configure} to substitute the appropriate object names into, e.g.,
+@code{_LDADD} (see below), then you should list the corresponding source
+files in the @code{EXTRA_} variable.
+
+This variable also supports @code{dist_} and @code{nodist_} prefixes.
+For instance, @code{nodist_EXTRA_maude_SOURCES} would list extra
+sources that may need to be built, but should not be distributed.
+
+@item maude_AR
+A static library is created by default by invoking @samp{$(AR)
+$(ARFLAGS)} followed by the name of the library and then the objects
+being put into the library.  You can override this by setting the
+@code{_AR} variable.  This is usually used with C++; some C++
+compilers require a special invocation in order to instantiate all the
+templates that should go into a library.  For instance, the SGI C++
+compiler likes this variable set like so:
+@example
+libmaude_a_AR = $(CXX) -ar -o
+@end example
+
+@item maude_LIBADD
+Extra objects can be added to a @emph{library} using the @code{_LIBADD}
+variable.  For instance, this should be used for objects determined by
+@command{configure} (@pxref{A Library}).
+
+In the case of libtool libraries, @code{maude_LIBADD} can also refer
+to other libtool libraries.
+
+@item maude_LDADD
+Extra objects (@file{*.$(OBJDIR)}) and libraries (@file{*.a},
+@file{*.la}) can be added to a @emph{program} by listing them in the
+@code{_LDADD} variable.  For instance, this should be used for objects
+determined by @command{configure} (@pxref{Linking}).
+
+@code{_LDADD} and @code{_LIBADD} are inappropriate for passing
+program-specific linker flags (except for @option{-l}, @option{-L},
+@option{-dlopen} and @option{-dlpreopen}).  Use the @code{_LDFLAGS} variable
+for this purpose.
+
+For instance, if your @file{configure.ac} uses @code{AC_PATH_XTRA}, you
+could link your program against the X libraries like so:
+
+@example
+maude_LDADD = $(X_PRE_LIBS) $(X_LIBS) $(X_EXTRA_LIBS)
+@end example
+
+@item maude_LDFLAGS
+This variable is used to pass extra flags to the link step of a program
+or a shared library.
+
+@item maude_DEPENDENCIES
+It is also occasionally useful to have a program depend on some other
+target that is not actually part of that program.  This can be done
+using the @samp{_DEPENDENCIES} variable.  Each program depends on the
+contents of such a variable, but no further interpretation is done.
+
+If @samp{_DEPENDENCIES} is not supplied, it is computed by Automake.
+The automatically-assigned value is the contents of @samp{_LDADD} or
+@samp{_LIBADD}, with most configure substitutions, @samp{-l}, @samp{-L},
+@samp{-dlopen} and @samp{-dlpreopen} options removed.  The configure
+substitutions that are left in are only @samp{$(LIBOBJS)} and
+@samp{$(ALLOCA)}; these are left because it is known that they will not
+cause an invalid value for @samp{_DEPENDENCIES} to be generated.
+
+@item maude_LINK
+You can override the linker on a per-program basis.  By default the
+linker is chosen according to the languages used by the program.  For
+instance, a program that includes C++ source code would use the C++
+compiler to link.  The @samp{_LINK} variable must hold the name of a
+command that can be passed all the @file{.o} file names as arguments.
+Note that the name of the underlying program is @emph{not} passed to
+@samp{_LINK}; typically one uses @samp{$@@}:
+
+@example
+maude_LINK = $(CCLD) -magic -o $@@
+@end example
+
+@item maude_CCASFLAGS
+@itemx maude_CFLAGS
+@itemx maude_CPPFLAGS
+@itemx maude_CXXFLAGS
+@itemx maude_FFLAGS
+@itemx maude_GCJFLAGS
+@itemx maude_LFLAGS
+@itemx maude_OBJCFLAGS
+@itemx maude_RFLAGS
+@itemx maude_YFLAGS
+@cindex per-target compilation flags, defined
+Automake allows you to set compilation flags on a per-program (or
+per-library) basis.  A single source file can be included in several
+programs, and it will potentially be compiled with different flags for
+each program.  This works for any language directly supported by
+Automake.  These @dfn{per-target compilation flags} are
+@samp{_CCASFLAGS},
+@samp{_CFLAGS},
+@samp{_CPPFLAGS},
+@samp{_CXXFLAGS},
+@samp{_FFLAGS},
+@samp{_GCJFLAGS},
+@samp{_LFLAGS},
+@samp{_OBJCFLAGS},
+@samp{_RFLAGS}, and
+@samp{_YFLAGS}.
+
+When using a per-target compilation flag, Automake will choose a
+different name for the intermediate object files.  Ordinarily a file
+like @file{sample.c} will be compiled to produce @file{sample.o}.
+However, if the program's @code{_CFLAGS} variable is set, then the
+object file will be named, for instance, @file{maude-sample.o}.
+(See also @ref{renamed objects}.)
+
+In compilations with per-target flags, the ordinary @samp{AM_} form of
+the flags variable is @emph{not} automatically included in the
+compilation (however, the user form of the variable @emph{is} included).
+So for instance, if you want the hypothetical @file{maude} compilations
+to also use the value of @code{AM_CFLAGS}, you would need to write:
+
+@example
+maude_CFLAGS = @dots{} your flags @dots{} $(AM_CFLAGS)
+@end example
+
+@xref{Flag Variables Ordering}, for more discussion about the
+interaction between user variables, @samp{AM_} shadow variables, and
+per-target variables.
+
+@item maude_SHORTNAME
+On some platforms the allowable file names are very short.  In order to
+support these systems and per-target compilation flags at the same
+time, Automake allows you to set a ``short name'' that will influence
+how intermediate object files are named.  For instance, in the following
+example,
+
+@example
+bin_PROGRAMS = maude
+maude_CPPFLAGS = -DSOMEFLAG
+maude_SHORTNAME = m
+maude_SOURCES = sample.c @dots{}
+@end example
+
+@noindent
+the object file would be named @file{m-sample.o} rather than
+@file{maude-sample.o}.
+
+This facility is rarely needed in practice,
+and we recommend avoiding it until you find it is required.
+@end vtable
+
+@node Default _SOURCES
+@section Default @code{_SOURCES}
+
+@vindex _SOURCES
+@vindex SOURCES
+@cindex @code{_SOURCES}, default
+@cindex default @code{_SOURCES}
+
+@code{_SOURCES} variables are used to specify source files of programs
+(@pxref{A Program}), libraries (@pxref{A Library}), and Libtool
+libraries (@pxref{A Shared Library}).
+
+When no such variable is specified for a target, Automake will define
+one itself.  The default is to compile a single C file whose base name
+is the name of the target itself, with any extension replaced by
+@file{.c}.  (Defaulting to C is terrible but we are stuck with it for
+historical reasons.)
+
+For example if you have the following somewhere in your
+@file{Makefile.am} with no corresponding @code{libfoo_a_SOURCES}:
+
+@example
+lib_LIBRARIES = libfoo.a sub/libc++.a
+@end example
+
+@noindent
+@file{libfoo.a} will be built using a default source file named
+@file{libfoo.c}, and @file{sub/libc++.a} will be built from
+@file{sub/libc++.c}.  (In older versions @file{sub/libc++.a}
+would be built from @file{sub_libc___a.c}, i.e., the default source
+was the canonized name of the target, with @file{.c} appended.
+We believe the new behavior is more sensible, but for backward
+compatibility automake will use the old name if a file or a rule
+with that name exist.)
+
+@cindex @code{check_PROGRAMS} example
+@vindex check_PROGRAMS
+Default sources are mainly useful in test suites, when building many
+tests programs each from a single source.  For instance, in
+
+@example
+check_PROGRAMS = test1 test2 test3
+@end example
+
+@noindent
+@file{test1}, @file{test2}, and @file{test3} will be built
+from @file{test1.c}, @file{test2.c}, and @file{test3.c}.
+
+@cindex Libtool modules, default source example
+@cindex default source, Libtool modules example
+Another case where is this convenient is building many Libtool modules
+(@file{moduleN.la}), each defined in its own file (@file{moduleN.c}).
+
+@example
+AM_LDFLAGS = -module
+lib_LTLIBRARIES = module1.la module2.la module3.la
+@end example
+
+@cindex empty @code{_SOURCES}
+@cindex @code{_SOURCES}, empty
+Finally, there is one situation where this default source computation
+needs to be avoided: when a target should not be built from sources.
+We already saw such an example in @ref{true}; this happens when all
+the constituents of a target have already been compiled and need just
+to be combined using a @code{_LDADD} variable.  Then it is necessary
+to define an empty @code{_SOURCES} variable, so that automake does not
+compute a default.
+
+@example
+bin_PROGRAMS = target
+target_SOURCES =
+target_LDADD = libmain.a libmisc.a
+@end example
+
+@node LIBOBJS
+@section Special handling for @code{LIBOBJS} and @code{ALLOCA}
+
+@cindex @code{LIBOBJS}, example
+@cindex @code{ALLOCA}, example
+@cindex @code{LIBOBJS}, special handling
+@cindex @code{ALLOCA}, special handling
+@vindex LTLIBOBJS
+@vindex LIBOBJS
+@vindex LTALLOCA
+@vindex ALLOCA
+
+The @samp{$(LIBOBJS)} and @samp{$(ALLOCA)} variables list object
+files that should be compiled into the project to provide an
+implementation for functions that are missing or broken on the host
+system.  They are substituted by @file{configure}.
+
+@acindex AC_LIBOBJ
+
+These variables are defined by Autoconf macros such as
+@code{AC_LIBOBJ}, @code{AC_REPLACE_FUNCS} (@pxref{Generic Functions, ,
+Generic Function Checks, autoconf, The Autoconf Manual}), or
+@code{AC_FUNC_ALLOCA} (@pxref{Particular Functions, , Particular
+Function Checks, autoconf, The Autoconf Manual}).  Many other Autoconf
+macros call @code{AC_LIBOBJ} or @code{AC_REPLACE_FUNCS} to
+populate @samp{$(LIBOBJS)}.
+
+@acindex AC_LIBSOURCE
+
+Using these variables is very similar to doing conditional compilation
+using @code{AC_SUBST} variables, as described in @ref{Conditional
+Sources}.  That is, when building a program, @samp{$(LIBOBJS)} and
+@samp{$(ALLOCA)} should be added to the associated @samp{*_LDADD}
+variable, or to the @samp{*_LIBADD} variable when building a library.
+However there is no need to list the corresponding sources in
+@samp{EXTRA_*_SOURCES} nor to define @samp{*_DEPENDENCIES}.  Automake
+automatically adds @samp{$(LIBOBJS)} and @samp{$(ALLOCA)} to the
+dependencies, and it will discover the list of corresponding source
+files automatically (by tracing the invocations of the
+@code{AC_LIBSOURCE} Autoconf macros).
+
+These variables are usually used to build a portability library that
+is linked with all the programs of the project.  We now review a
+sample setup.  First, @file{configure.ac} contains some checks that
+affect either @code{LIBOBJS} or @code{ALLOCA}.
+
+@example
+# configure.ac
+@dots{}
+AC_CONFIG_LIBOBJ_DIR([lib])
+@dots{}
+AC_FUNC_MALLOC             dnl May add malloc.$(OBJEXT) to LIBOBJS
+AC_FUNC_MEMCMP             dnl May add memcmp.$(OBJEXT) to LIBOBJS
+AC_REPLACE_FUNCS([strdup]) dnl May add strdup.$(OBJEXT) to LIBOBJS
+AC_FUNC_ALLOCA             dnl May add alloca.$(OBJEXT) to ALLOCA
+@dots{}
+AC_CONFIG_FILES([
+  lib/Makefile
+  src/Makefile
+])
+AC_OUTPUT
+@end example
+
+@acindex AC_CONFIG_LIBOBJ_DIR
+
+The @code{AC_CONFIG_LIBOBJ_DIR} tells Autoconf that the source files
+of these object files are to be found in the @file{lib/} directory.
+Automake does not yet use this information; it knows the source files
+are expected to be in the directory where the @samp{$(LIBOBJS)} and
+@samp{$(ALLOCA)} variables are used.
+
+The @file{lib/} directory should therefore contain @file{malloc.c},
+@file{memcmp.c}, @file{strdup.c}, @file{alloca.c}.  Here is its
+@file{Makefile.am}:
+
+@example
+# lib/Makefile.am
+
+noinst_LIBRARIES = libcompat.a
+libcompat_a_SOURCES =
+libcompat_a_LIBADD = $(LIBOBJS) $(ALLOCA)
+@end example
+
+The library can have any name, of course, and anyway it is not going
+to be installed: it just holds the replacement versions of the missing
+or broken functions so we can later link them in.  In many projects
+also include extra functions, specific to the project, in that
+library: they are simply added on the @code{_SOURCES} line.
+
+@cindex Empty libraries and @samp{$(LIBOBJS)}
+@cindex @samp{$(LIBOBJS)} and empty libraries
+There is a small trap here, though: @samp{$(LIBOBJS)} and
+@samp{$(ALLOCA)} might be empty, and building an empty library is not
+portable.  You should ensure that there is always something to put in
+@file{libcompat.a}.  Most projects will also add some utility
+functions in that directory, and list them in
+@code{libcompat_a_SOURCES}, so in practice @file{libcompat.a} cannot
+be empty.
+
+Finally here is how this library could be used from the @file{src/}
+directory.
+
+@example
+# src/Makefile.am
+
+# Link all programs in this directory with libcompat.a
+LDADD = ../lib/libcompat.a
+
+bin_PROGRAMS = tool1 tool2 @dots{}
+tool1_SOURCES = @dots{}
+tool2_SOURCES = @dots{}
+@end example
+
+Please note it would be wrong to use the variables @samp{$(LIBOBJS)} or
+@samp{$(ALLOCA)} in @file{src/Makefile.am}, because these variables
+contains unprefixed object names, and, for instance,
+@file{malloc.$(OBJEXT)} is not buildable in the @file{src/} directory.
+(Actually if you try using @samp{$(LIBOBJS)} in @file{src/}, Automake
+will require a copy of @file{malloc.c}, @file{memcmp.c},
+@file{strdup.c}, @file{alloca.c} in @file{src/} too.)
+
+Because @samp{$(LIBOBJS)} and @samp{$(ALLOCA)} contain object
+file names that end with @samp{.$(OBJEXT)}, they are not suitable for
+Libtool libraries (where the expected object extension is @file{.lo}):
+@code{LTLIBOBJS} and @code{LTALLOCA} should be used instead.
+
+@code{LTLIBOBJS} is defined automatically by Autoconf and should not
+be defined by hand (as in the past), however at the time of writing
+@code{LTALLOCA} still needs to be defined from @code{ALLOCA} manually.
+@xref{AC_LIBOBJ vs LIBOBJS, , @code{AC_LIBOBJ} vs.@: @code{LIBOBJS},
+autoconf, The Autoconf Manual}.
+
+
+@node Program variables
+@section Variables used when building a program
+
+Occasionally it is useful to know which @file{Makefile} variables
+Automake uses for compilations; for instance, you might need to do your
+own compilation in some special cases.
+
+Some variables are inherited from Autoconf; these are @code{CC},
+@code{CFLAGS}, @code{CPPFLAGS}, @code{DEFS}, @code{LDFLAGS}, and
+@code{LIBS}.
+@vindex CC
+@vindex CFLAGS
+@vindex CPPFLAGS
+@vindex DEFS
+@vindex LDFLAGS
+@vindex LIBS
+
+There are some additional variables that Automake defines on its own:
+
+@vtable @code
+@item AM_CPPFLAGS
+The contents of this variable are passed to every compilation that invokes
+the C preprocessor; it is a list of arguments to the preprocessor.  For
+instance, @option{-I} and @option{-D} options should be listed here.
+
+Automake already provides some @option{-I} options automatically.  In
+particular it generates @samp{-I$(srcdir)}, @samp{-I.}, and a
+@option{-I} pointing to the directory holding @file{config.h} (if
+you've used @code{AC_CONFIG_HEADERS} or @code{AM_CONFIG_HEADER}).  You
+can disable the default @option{-I} options using the
+@option{nostdinc} option.
+
+@code{AM_CPPFLAGS} is ignored in preference to a per-executable (or
+per-library) @code{_CPPFLAGS} variable if it is defined.
+
+@item INCLUDES
+This does the same job as @code{AM_CPPFLAGS} (or any per-target
+@code{_CPPFLAGS} variable if it is used).  It is an older name for the
+same functionality.  This variable is deprecated; we suggest using
+@code{AM_CPPFLAGS} and per-target @code{_CPPFLAGS} instead.
+
+@item AM_CFLAGS
+This is the variable the @file{Makefile.am} author can use to pass
+in additional C compiler flags.  It is more fully documented elsewhere.
+In some situations, this is not used, in preference to the
+per-executable (or per-library) @code{_CFLAGS}.
+
+@item COMPILE
+This is the command used to actually compile a C source file.  The
+file name is appended to form the complete command line.
+
+@item AM_LDFLAGS
+This is the variable the @file{Makefile.am} author can use to pass
+in additional linker flags.  In some situations, this is not used, in
+preference to the per-executable (or per-library) @code{_LDFLAGS}.
+
+@item LINK
+This is the command used to actually link a C program.  It already
+includes @samp{-o $@@} and the usual variable references (for instance,
+@code{CFLAGS}); it takes as ``arguments'' the names of the object files
+and libraries to link in.
+@end vtable
+
+
+@node Yacc and Lex
+@section Yacc and Lex support
+
+Automake has somewhat idiosyncratic support for Yacc and Lex.
+
+Automake assumes that the @file{.c} file generated by @command{yacc}
+(or @command{lex}) should be named using the basename of the input
+file.  That is, for a yacc source file @file{foo.y}, Automake will
+cause the intermediate file to be named @file{foo.c} (as opposed to
+@file{y.tab.c}, which is more traditional).
+
+The extension of a yacc source file is used to determine the extension
+of the resulting C or C++ file.  Files with the extension @file{.y}
+will be turned into @file{.c} files; likewise, @file{.yy} will become
+@file{.cc}; @file{.y++}, @file{c++}; and @file{.yxx}, @file{.cxx}.
+
+Likewise, lex source files can be used to generate C or C++; the
+extensions @file{.l}, @file{.ll}, @file{.l++}, and @file{.lxx} are
+recognized.
+
+You should never explicitly mention the intermediate (C or C++) file
+in any @code{SOURCES} variable; only list the source file.
+
+The intermediate files generated by @command{yacc} (or @command{lex})
+will be included in any distribution that is made.  That way the user
+doesn't need to have @command{yacc} or @command{lex}.
+
+If a @command{yacc} source file is seen, then your @file{configure.ac} must
+define the variable @code{YACC}.  This is most easily done by invoking
+the macro @code{AC_PROG_YACC} (@pxref{Particular Programs, , Particular
+Program Checks, autoconf, The Autoconf Manual}).
+
+@vindex YFLAGS
+@vindex AM_YFLAGS
+When @code{yacc} is invoked, it is passed @code{YFLAGS} and
+@code{AM_YFLAGS}.  The former is a user variable and the latter is
+intended for the @file{Makefile.am} author.
+
+@code{AM_YFLAGS} is usually used to pass the @option{-d} option to
+@command{yacc}.  Automake knows what this means and will automatically
+adjust its rules to update and distribute the header file built by
+@samp{yacc -d}.  What Automake cannot guess, though, is where this
+header will be used: it is up to you to ensure the header gets built
+before it is first used.  Typically this is necessary in order for
+dependency tracking to work when the header is included by another
+file.  The common solution is listing the header file in
+@code{BUILT_SOURCES} (@pxref{Sources}) as follows.
+
+@example
+BUILT_SOURCES = parser.h
+AM_YFLAGS = -d
+bin_PROGRAMS = foo
+foo_SOURCES = @dots{} parser.y @dots{}
+@end example
+
+If a @command{lex} source file is seen, then your @file{configure.ac}
+must define the variable @code{LEX}.  You can use @code{AC_PROG_LEX}
+to do this (@pxref{Particular Programs, , Particular Program Checks,
+autoconf, The Autoconf Manual}), but using @code{AM_PROG_LEX} macro
+(@pxref{Macros}) is recommended.
+
+@vindex LFLAGS
+@vindex AM_LFLAGS
+When @command{lex} is invoked, it is passed @code{LFLAGS} and
+@code{AM_LFLAGS}.  The former is a user variable and the latter is
+intended for the @file{Makefile.am} author.
+
+
+
+@cindex @command{ylwrap}
+@cindex @command{yacc}, multiple parsers
+@cindex Multiple @command{yacc} parsers
+@cindex Multiple @command{lex} lexers
+@cindex @command{lex}, multiple lexers
+
+
+Automake makes it possible to include multiple @command{yacc} (or
+@command{lex}) source files in a single program.  When there is more
+than one distinct @command{yacc} (or @command{lex}) source file in a
+directory, Automake uses a small program called @command{ylwrap} to run
+@command{yacc} (or @command{lex}) in a subdirectory.  This is
+necessary because yacc's output file name is fixed, and a parallel
+make could conceivably invoke more than one instance of @command{yacc}
+simultaneously.  The @command{ylwrap} program is distributed with
+Automake.  It should appear in the directory specified by
+@code{AC_CONFIG_AUX_DIR}, or one of its default locations
+(@pxref{Input, , Finding `configure' Input, autoconf, The Autoconf
+Manual}).
+
+For @command{yacc}, simply managing locking is insufficient.  The output of
+@command{yacc} always uses the same symbol names internally, so it isn't
+possible to link two @command{yacc} parsers into the same executable.
+
+We recommend using the following renaming hack used in @command{gdb}:
+@example
+#define yymaxdepth c_maxdepth
+#define yyparse c_parse
+#define yylex   c_lex
+#define yyerror c_error
+#define yylval  c_lval
+#define yychar  c_char
+#define yydebug c_debug
+#define yypact  c_pact
+#define yyr1    c_r1
+#define yyr2    c_r2
+#define yydef   c_def
+#define yychk   c_chk
+#define yypgo   c_pgo
+#define yyact   c_act
+#define yyexca  c_exca
+#define yyerrflag c_errflag
+#define yynerrs c_nerrs
+#define yyps    c_ps
+#define yypv    c_pv
+#define yys     c_s
+#define yy_yys  c_yys
+#define yystate c_state
+#define yytmp   c_tmp
+#define yyv     c_v
+#define yy_yyv  c_yyv
+#define yyval   c_val
+#define yylloc  c_lloc
+#define yyreds  c_reds
+#define yytoks  c_toks
+#define yylhs   c_yylhs
+#define yylen   c_yylen
+#define yydefred c_yydefred
+#define yydgoto c_yydgoto
+#define yysindex c_yysindex
+#define yyrindex c_yyrindex
+#define yygindex c_yygindex
+#define yytable  c_yytable
+#define yycheck  c_yycheck
+#define yyname   c_yyname
+#define yyrule   c_yyrule
+@end example
+
+For each define, replace the @samp{c_} prefix with whatever you like.
+These defines work for @command{bison}, @command{byacc}, and
+traditional @code{yacc}s.  If you find a parser generator that uses a
+symbol not covered here, please report the new name so it can be added
+to the list.
+
+
+@node C++ Support
+@section C++ Support
+
+@cindex C++ support
+@cindex Support for C++
+
+Automake includes full support for C++.
+
+Any package including C++ code must define the output variable
+@code{CXX} in @file{configure.ac}; the simplest way to do this is to use
+the @code{AC_PROG_CXX} macro (@pxref{Particular Programs, , Particular
+Program Checks, autoconf, The Autoconf Manual}).
+
+A few additional variables are defined when a C++ source file is seen:
+
+@vtable @code
+@item CXX
+The name of the C++ compiler.
+
+@item CXXFLAGS
+Any flags to pass to the C++ compiler.
+
+@item AM_CXXFLAGS
+The maintainer's variant of @code{CXXFLAGS}.
+
+@item CXXCOMPILE
+The command used to actually compile a C++ source file.  The file name
+is appended to form the complete command line.
+
+@item CXXLINK
+The command used to actually link a C++ program.
+@end vtable
+
+
+@node Assembly Support
+@section Assembly Support
+
+Automake includes some support for assembly code.
+
+@vindex CCAS
+@vindex CCASFLAGS
+@vindex AM_CCASFLAGS
+The variable @code{CCAS} holds the name of the compiler used to build
+assembly code.  This compiler must work a bit like a C compiler; in
+particular it must accept @option{-c} and @option{-o}.  The values of
+@code{CCASFLAGS} and @code{AM_CCASFLAGS} (or its per-target
+definition) are passed to the compilation.
+
+The autoconf macro @code{AM_PROG_AS} will define @code{CCAS} and
+@code{CCASFLAGS} for you (unless they are already set, it simply sets
+@code{CCAS} to the C compiler and @code{CCASFLAGS} to the C compiler
+flags), but you are free to define these variables by other means.
+
+Only the suffixes @file{.s} and @file{.S} are recognized by
+@command{automake} as being files containing assembly code.
+
+
+@node Fortran 77 Support
+@comment  node-name,  next,  previous,  up
+@section Fortran 77 Support
+
+@cindex Fortran 77 support
+@cindex Support for Fortran 77
+
+Automake includes full support for Fortran 77.
+
+Any package including Fortran 77 code must define the output variable
+@code{F77} in @file{configure.ac}; the simplest way to do this is to use
+the @code{AC_PROG_F77} macro (@pxref{Particular Programs, , Particular
+Program Checks, autoconf, The Autoconf Manual}).
+
+A few additional variables are defined when a Fortran 77 source file is
+seen:
+
+@vtable @code
+
+@item F77
+The name of the Fortran 77 compiler.
+
+@item FFLAGS
+Any flags to pass to the Fortran 77 compiler.
+
+@item AM_FFLAGS
+The maintainer's variant of @code{FFLAGS}.
+
+@item RFLAGS
+Any flags to pass to the Ratfor compiler.
+
+@item AM_RFLAGS
+The maintainer's variant of @code{RFLAGS}.
+
+@item F77COMPILE
+The command used to actually compile a Fortran 77 source file.  The file
+name is appended to form the complete command line.
+
+@item FLINK
+The command used to actually link a pure Fortran 77 program or shared
+library.
+
+@end vtable
+
+Automake can handle preprocessing Fortran 77 and Ratfor source files in
+addition to compiling them@footnote{Much, if not most, of the
+information in the following sections pertaining to preprocessing
+Fortran 77 programs was taken almost verbatim from @ref{Catalogue of
+Rules, , Catalogue of Rules, make, The GNU Make Manual}.}.  Automake
+also contains some support for creating programs and shared libraries
+that are a mixture of Fortran 77 and other languages (@pxref{Mixing
+Fortran 77 With C and C++}).
+
+These issues are covered in the following sections.
+
+@menu
+* Preprocessing Fortran 77::    Preprocessing Fortran 77 sources
+* Compiling Fortran 77 Files::  Compiling Fortran 77 sources
+* Mixing Fortran 77 With C and C++::  Mixing Fortran 77 With C and C++
+@end menu
+
+
+@node Preprocessing Fortran 77
+@comment  node-name,  next,  previous,  up
+@subsection Preprocessing Fortran 77
+
+@cindex Preprocessing Fortran 77
+@cindex Fortran 77, Preprocessing
+@cindex Ratfor programs
+
+@file{N.f} is made automatically from @file{N.F} or @file{N.r}.  This
+rule runs just the preprocessor to convert a preprocessable Fortran 77
+or Ratfor source file into a strict Fortran 77 source file.  The precise
+command used is as follows:
+
+@table @file
+
+@item .F
+@code{$(F77) -F $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)@*
+$(AM_FFLAGS) $(FFLAGS)}
+
+@item .r
+@code{$(F77) -F $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)}
+
+@end table
+
+
+@node Compiling Fortran 77 Files
+@comment  node-name,  next,  previous,  up
+@subsection Compiling Fortran 77 Files
+
+@file{N.o} is made automatically from @file{N.f}, @file{N.F} or
+@file{N.r} by running the Fortran 77 compiler.  The precise command used
+is as follows:
+
+@table @file
+
+@item .f
+@code{$(F77) -c $(AM_FFLAGS) $(FFLAGS)}
+
+@item .F
+@code{$(F77) -c $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS)@*
+$(AM_FFLAGS) $(FFLAGS)}
+
+@item .r
+@code{$(F77) -c $(AM_FFLAGS) $(FFLAGS) $(AM_RFLAGS) $(RFLAGS)}
+
+@end table
+
+
+@node Mixing Fortran 77 With C and C++
+@comment  node-name,  next,  previous,  up
+@subsection Mixing Fortran 77 With C and C++
+
+@cindex Fortran 77, mixing with C and C++
+@cindex Mixing Fortran 77 with C and C++
+@cindex Linking Fortran 77 with C and C++
+@cindex cfortran
+@cindex Mixing Fortran 77 with C and/or C++
+
+Automake currently provides @emph{limited} support for creating programs
+and shared libraries that are a mixture of Fortran 77 and C and/or C++.
+However, there are many other issues related to mixing Fortran 77 with
+other languages that are @emph{not} (currently) handled by Automake, but
+that are handled by other packages@footnote{For example,
+@uref{http://www-zeus.desy.de/~burow/cfortran/, the cfortran package}
+addresses all of these inter-language issues, and runs under nearly all
+Fortran 77, C and C++ compilers on nearly all platforms.  However,
+@command{cfortran} is not yet Free Software, but it will be in the next
+major release.}.
+
+@page
+Automake can help in two ways:
+
+@enumerate
+@item
+Automatic selection of the linker depending on which combinations of
+source code.
+
+@item
+Automatic selection of the appropriate linker flags (e.g., @option{-L} and
+@option{-l}) to pass to the automatically selected linker in order to link
+in the appropriate Fortran 77 intrinsic and run-time libraries.
+
+@cindex @code{FLIBS}, defined
+@vindex FLIBS
+These extra Fortran 77 linker flags are supplied in the output variable
+@code{FLIBS} by the @code{AC_F77_LIBRARY_LDFLAGS} Autoconf macro
+supplied with newer versions of Autoconf (Autoconf version 2.13 and
+later).  @xref{Fortran 77 Compiler Characteristics, , , autoconf, The
+Autoconf}.
+@end enumerate
+
+If Automake detects that a program or shared library (as mentioned in
+some @code{_PROGRAMS} or @code{_LTLIBRARIES} primary) contains source
+code that is a mixture of Fortran 77 and C and/or C++, then it requires
+that the macro @code{AC_F77_LIBRARY_LDFLAGS} be called in
+@file{configure.ac}, and that either @code{$(FLIBS)}
+appear in the appropriate @code{_LDADD} (for programs) or @code{_LIBADD}
+(for shared libraries) variables.  It is the responsibility of the
+person writing the @file{Makefile.am} to make sure that @samp{$(FLIBS)}
+appears in the appropriate @code{_LDADD} or
+@code{_LIBADD} variable.
+
+@cindex Mixed language example
+@cindex Example, mixed language
+
+For example, consider the following @file{Makefile.am}:
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES  = main.cc foo.f
+foo_LDADD    = libfoo.la $(FLIBS)
+
+pkglib_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES  = bar.f baz.c zardoz.cc
+libfoo_la_LIBADD   = $(FLIBS)
+@end example
+
+In this case, Automake will insist that @code{AC_F77_LIBRARY_LDFLAGS}
+is mentioned in @file{configure.ac}.  Also, if @samp{$(FLIBS)} hadn't
+been mentioned in @code{foo_LDADD} and @code{libfoo_la_LIBADD}, then
+Automake would have issued a warning.
+
+
+@page
+@menu
+* How the Linker is Chosen::    Automatic linker selection
+@end menu
+
+@node How the Linker is Chosen
+@comment  node-name,  next,  previous,  up
+@subsubsection How the Linker is Chosen
+
+@cindex Automatic linker selection
+@cindex Selecting the linker automatically
+
+When a program or library mixes several languages, Automake choose the
+linker according to the following priorities.  (The names in
+parentheses are the variables containing the link command.)
+
+@enumerate
+@item
+@vindex GCJLINK
+Native Java (@code{GCJLINK})
+@item
+@vindex CXXLINK
+C++ (@code{CXXLINK})
+@item
+@vindex F77LINK
+Fortran 77 (@code{F77LINK})
+@item
+@vindex FCLINK
+Fortran (@code{FCLINK})
+@item
+@vindex OBJCLINK
+Objective C (@code{OBJCLINK})
+@item
+@vindex LINK
+C (@code{LINK})
+@end enumerate
+
+For example, if Fortran 77, C and C++ source code is compiled
+into a program, then the C++ linker will be used.  In this case, if the
+C or Fortran 77 linkers required any special libraries that weren't
+included by the C++ linker, then they must be manually added to an
+@code{_LDADD} or @code{_LIBADD} variable by the user writing the
+@file{Makefile.am}.
+
+Automake only looks at the file names listed in @file{_SOURCES}
+variables to choose the linker, and defaults to the C linker.
+Sometimes this is inconvenient because you are linking against a
+library written in another language and would like to set the linker
+more appropriately.  @xref{Libtool Convenience Libraries}, for a
+trick with @code{nodist_EXTRA_@dots{}_SOURCES}.
+
+
+@node Fortran 9x Support
+@comment  node-name,  next,  previous,  up
+@section Fortran 9x Support
+
+@cindex Fortran 9x support
+@cindex Support for Fortran 9x
+
+Automake includes full support for Fortran 9x.
+
+Any package including Fortran 9x code must define the output variable
+@code{FC} in @file{configure.ac}; the simplest way to do this is to use
+the @code{AC_PROG_FC} macro (@pxref{Particular Programs, , Particular
+Program Checks, autoconf, The Autoconf Manual}).
+
+A few additional variables are defined when a Fortran 9x source file is
+seen:
+
+@vtable @code
+
+@item FC
+The name of the Fortran 9x compiler.
+
+@item FCFLAGS
+Any flags to pass to the Fortran 9x compiler.
+
+@item AM_FCFLAGS
+The maintainer's variant of @code{FCFLAGS}.
+
+@item FCCOMPILE
+The command used to actually compile a Fortran 9x source file.  The file
+name is appended to form the complete command line.
+
+@item FCLINK
+The command used to actually link a pure Fortran 9x program or shared
+library.
+
+@end vtable
+
+@menu
+* Compiling Fortran 9x Files::  Compiling Fortran 9x sources
+@end menu
+
+@node Compiling Fortran 9x Files
+@comment  node-name,  next,  previous,  up
+@subsection Compiling Fortran 9x Files
+
+@file{N.o} is made automatically from @file{N.f90} or @file{N.f95}
+by running the Fortran 9x compiler.  The precise command used
+is as follows:
+
+@table @file
+
+@item .f9x
+@code{$(FC) -c $(AM_FCFLAGS) $(FCFLAGS)}
+
+@end table
+
+@node Java Support
+@comment  node-name,  next,  previous,  up
+@section Java Support
+
+@cindex Java support
+@cindex Support for Java
+
+Automake includes support for compiled Java, using @command{gcj}, the Java
+front end to the GNU Compiler Collection.
+
+Any package including Java code to be compiled must define the output
+variable @code{GCJ} in @file{configure.ac}; the variable @code{GCJFLAGS}
+must also be defined somehow (either in @file{configure.ac} or
+@file{Makefile.am}).  The simplest way to do this is to use the
+@code{AM_PROG_GCJ} macro.
+
+@vindex GCJFLAGS
+
+By default, programs including Java source files are linked with
+@command{gcj}.
+
+As always, the contents of @code{AM_GCJFLAGS} are passed to every
+compilation invoking @command{gcj} (in its role as an ahead-of-time
+compiler, when invoking it to create @file{.class} files,
+@code{AM_JAVACFLAGS} is used instead).  If it is necessary to pass
+options to @command{gcj} from @file{Makefile.am}, this variable, and not
+the user variable @code{GCJFLAGS}, should be used.
+
+@vindex AM_GCJFLAGS
+
+@command{gcj} can be used to compile @file{.java}, @file{.class},
+@file{.zip}, or @file{.jar} files.
+
+When linking, @command{gcj} requires that the main class be specified
+using the @option{--main=} option.  The easiest way to do this is to use
+the @code{_LDFLAGS} variable for the program.
+
+
+@node Support for Other Languages
+@comment  node-name,  next,  previous,  up
+@section Support for Other Languages
+
+Automake currently only includes full support for C, C++ (@pxref{C++
+Support}), Fortran 77 (@pxref{Fortran 77 Support}),
+Fortran 9x (@pxref{Fortran 9x Support}),
+and Java (@pxref{Java Support}).  There is only rudimentary support for other
+languages, support for which will be improved based on user demand.
+
+Some limited support for adding your own languages is available via the
+suffix rule handling (@pxref{Suffixes}).
+
+
+@node ANSI
+@section Automatic de-ANSI-fication
+
+@cindex de-ANSI-fication, defined
+
+Although the GNU standards allow the use of ANSI C, this can have the
+effect of limiting portability of a package to some older compilers
+(notably the SunOS C compiler).
+
+Automake allows you to work around this problem on such machines by
+@dfn{de-ANSI-fying} each source file before the actual compilation takes
+place.
+
+@vindex AUTOMAKE_OPTIONS
+@opindex ansi2knr
+
+If the @file{Makefile.am} variable @code{AUTOMAKE_OPTIONS}
+(@pxref{Options}) contains the option @option{ansi2knr} then code to
+handle de-ANSI-fication is inserted into the generated
+@file{Makefile.in}.
+
+This causes each C source file in the directory to be treated as ANSI C@.
+If an ANSI C compiler is available, it is used.  If no ANSI C compiler
+is available, the @command{ansi2knr} program is used to convert the source
+files into K&R C, which is then compiled.
+
+The @command{ansi2knr} program is simple-minded.  It assumes the source
+code will be formatted in a particular way; see the @command{ansi2knr} man
+page for details.
+
+@acindex AM_C_PROTOTYPES
+Support for de-ANSI-fication requires the source files @file{ansi2knr.c}
+and @file{ansi2knr.1} to be in the same package as the ANSI C source;
+these files are distributed with Automake.  Also, the package
+@file{configure.ac} must call the macro @code{AM_C_PROTOTYPES}
+(@pxref{Macros}).
+
+Automake also handles finding the @command{ansi2knr} support files in some
+other directory in the current package.  This is done by prepending the
+relative path to the appropriate directory to the @command{ansi2knr}
+option.  For instance, suppose the package has ANSI C code in the
+@file{src} and @file{lib} subdirectories.  The files @file{ansi2knr.c} and
+@file{ansi2knr.1} appear in @file{lib}.  Then this could appear in
+@file{src/Makefile.am}:
+
+@example
+AUTOMAKE_OPTIONS = ../lib/ansi2knr
+@end example
+
+If no directory prefix is given, the files are assumed to be in the
+current directory.
+
+Note that automatic de-ANSI-fication will not work when the package is
+being built for a different host architecture.  That is because automake
+currently has no way to build @command{ansi2knr} for the build machine.
+
+@c FIXME: this paragraph might be better moved to an `upgrading' section.
+@cindex @code{LTLIBOBJS} and @code{ansi2knr}
+@cindex @code{LIBOBJS} and @code{ansi2knr}
+@cindex @code{ansi2knr} and @code{LTLIBOBJS}
+@cindex @code{ansi2knr} and @code{LIBOBJS}
+Using @code{LIBOBJS} with source de-ANSI-fication used to require
+hand-crafted code in @file{configure} to append @samp{$U} to basenames
+in @code{LIBOBJS}.  This is no longer true today.  Starting with version
+2.54, Autoconf takes care of rewriting @code{LIBOBJS} and
+@code{LTLIBOBJS}.  (@pxref{AC_LIBOBJ vs LIBOBJS, , @code{AC_LIBOBJ}
+vs.@: @code{LIBOBJS}, autoconf, The Autoconf Manual})
+
+@node Dependencies
+@section Automatic dependency tracking
+
+As a developer it is often painful to continually update the
+@file{Makefile.in} whenever the include-file dependencies change in a
+project.  Automake supplies a way to automatically track dependency
+changes.
+
+@cindex Dependency tracking
+@cindex Automatic dependency tracking
+
+Automake always uses complete dependencies for a compilation,
+including system headers.  Automake's model is that dependency
+computation should be a side effect of the build.  To this end,
+dependencies are computed by running all compilations through a
+special wrapper program called @command{depcomp}.  @command{depcomp}
+understands how to coax many different C and C++ compilers into
+generating dependency information in the format it requires.
+@samp{automake -a} will install @command{depcomp} into your source
+tree for you.  If @command{depcomp} can't figure out how to properly
+invoke your compiler, dependency tracking will simply be disabled for
+your build.
+
+@cindex @command{depcomp}
+
+Experience with earlier versions of Automake (@pxref{Dependency
+Tracking Evolution}) taught us that it is not reliable to generate
+dependencies only on the maintainer's system, as configurations vary
+too much.  So instead Automake implements dependency tracking at build
+time.
+
+Automatic dependency tracking can be suppressed by putting
+@option{no-dependencies} in the variable @code{AUTOMAKE_OPTIONS}, or
+passing @option{no-dependencies} as an argument to @code{AM_INIT_AUTOMAKE}
+(this should be the preferred way).  Or, you can invoke @command{automake}
+with the @option{-i} option.  Dependency tracking is enabled by default.
+
+@vindex AUTOMAKE_OPTIONS
+@opindex no-dependencies
+
+The person building your package also can choose to disable dependency
+tracking by configuring with @option{--disable-dependency-tracking}.
+
+@cindex Disabling dependency tracking
+@cindex Dependency tracking, disabling
+
+
+@node EXEEXT
+@section Support for executable extensions
+
+@cindex Executable extension
+@cindex Extension, executable
+@cindex Windows
+
+On some platforms, such as Windows, executables are expected to have an
+extension such as @file{.exe}.  On these platforms, some compilers (GCC
+among them) will automatically generate @file{foo.exe} when asked to
+generate @file{foo}.
+
+Automake provides mostly-transparent support for this.  Unfortunately
+@emph{mostly} doesn't yet mean @emph{fully}.  Until the English
+dictionary is revised, you will have to assist Automake if your package
+must support those platforms.
+
+One thing you must be aware of is that, internally, Automake rewrites
+something like this:
+
+@example
+bin_PROGRAMS = liver
+@end example
+
+to this:
+
+@example
+bin_PROGRAMS = liver$(EXEEXT)
+@end example
+
+The targets Automake generates are likewise given the @samp{$(EXEEXT)}
+extension.
+
+However, Automake cannot apply this rewriting to @command{configure}
+substitutions.  This means that if you are conditionally building a
+program using such a substitution, then your @file{configure.ac} must
+take care to add @samp{$(EXEEXT)} when constructing the output variable.
+
+With Autoconf 2.13 and earlier, you must explicitly use @code{AC_EXEEXT}
+to get this support.  With Autoconf 2.50, @code{AC_EXEEXT} is run
+automatically if you configure a compiler (say, through
+@code{AC_PROG_CC}).
+
+Sometimes maintainers like to write an explicit link rule for their
+program.  Without executable extension support, this is easy---you
+simply write a rule whose target is the name of the program.  However,
+when executable extension support is enabled, you must instead add the
+@samp{$(EXEEXT)} suffix.
+
+Unfortunately, due to the change in Autoconf 2.50, this means you must
+always add this extension.  However, this is a problem for maintainers
+who know their package will never run on a platform that has
+executable extensions.  For those maintainers, the @option{no-exeext}
+option (@pxref{Options}) will disable this feature.  This works in a
+fairly ugly way; if @option{no-exeext} is seen, then the presence of a
+rule for a target named @code{foo} in @file{Makefile.am} will override
+an automake-generated rule for @samp{foo$(EXEEXT)}.  Without
+the @option{no-exeext} option, this use will give a diagnostic.
+
+
+@node Other objects
+@chapter Other Derived Objects
+
+Automake can handle derived objects that are not C programs.  Sometimes
+the support for actually building such objects must be explicitly
+supplied, but Automake will still automatically handle installation and
+distribution.
+
+@menu
+* Scripts::                     Executable scripts
+* Headers::                     Header files
+* Data::                        Architecture-independent data files
+* Sources::                     Derived sources
+@end menu
+
+
+@node Scripts
+@section Executable Scripts
+
+@cindex @code{_SCRIPTS} primary, defined
+@cindex @code{SCRIPTS} primary, defined
+@cindex Primary variable, @code{SCRIPTS}
+@vindex _SCRIPTS
+
+It is possible to define and install programs that are scripts.  Such
+programs are listed using the @code{SCRIPTS} primary name.  Automake
+doesn't define any dependencies for scripts; the @file{Makefile.am}
+should include the appropriate rules.
+@vindex SCRIPTS
+
+Automake does not assume that scripts are derived objects; such objects
+must be deleted by hand (@pxref{Clean}).
+
+The @command{automake} program itself is a Perl script that is generated
+from @file{automake.in}.  Here is how this is handled:
+
+@example
+bin_SCRIPTS = automake
+CLEANFILES = $(bin_SCRIPTS)
+
+do_subst = sed -e 's,[@@]datadir[@@],$(datadir),g' \
+            -e 's,[@@]PERL[@@],$(PERL),g' \
+            -e 's,[@@]PACKAGE[@@],$(PACKAGE),g' \
+            -e 's,[@@]VERSION[@@],$(VERSION),g' \
+            @dots{}
+
+automake: automake.in Makefile
+        $(do_subst) < $(srcdir)/automake.in > automake
+        chmod +x automake
+@end example
+
+Because---as we have just seen---scripts can be built, they are not
+distributed by default.  Scripts that should be distributed can be
+specified using a @code{dist_} prefix as in other primaries.  For
+instance, the following @file{Makefile.am} declares that
+@file{my_script} should be distributed and installed in
+@samp{$(sbindir)}.
+
+@example
+dist_sbin_SCRIPTS = my_script
+@end example
+
+@cindex @code{SCRIPTS}, installation directories
+@cindex Installing scripts
+
+@vindex bin_SCRIPTS
+@vindex sbin_SCRIPTS
+@vindex libexec_SCRIPTS
+@vindex pkgdata_SCRIPTS
+@vindex noinst_SCRIPTS
+@vindex check_SCRIPTS
+
+Script objects can be installed in @code{bindir}, @code{sbindir},
+@code{libexecdir}, or @code{pkgdatadir}.
+
+Scripts that need not being installed can be listed in
+@code{noinst_SCRIPTS}, and among them, those which are needed only by
+@samp{make check} should go in @code{check_SCRIPTS}.
+
+
+@node Headers
+@section Header files
+
+@cindex @code{_HEADERS} primary, defined
+@cindex @code{HEADERS} primary, defined
+@cindex Primary variable, @code{HEADERS}
+@vindex _HEADERS
+@vindex noinst_HEADERS
+@cindex @code{HEADERS}, installation directories
+@cindex Installing headers
+@vindex include_HEADERS
+@vindex oldinclude_HEADERS
+@vindex pkginclude_HEADERS
+
+
+Header files that must be installed are specified by the
+@code{HEADERS} family of variables.  Headers can be installed in
+@code{includedir}, @code{oldincludedir}, @code{pkgincludedir} or any
+other directory you may have defined (@pxref{Uniform}).  For instance,
+
+@example
+include_HEADERS = foo.h bar/bar.h
+@end example
+
+@noindent
+will install the two files as @file{$(includedir)/foo.h} and
+@file{$(includedir)/bar.h}.
+
+The @code{nobase_} prefix is also supported,
+
+@example
+nobase_include_HEADERS = foo.h bar/bar.h
+@end example
+
+@noindent
+will install the two files as @file{$(includedir)/foo.h} and
+@file{$(includedir)/bar/bar.h} (@pxref{Alternative}).
+
+@vindex noinst_HEADERS
+Usually, only header files that accompany installed libraries need to
+be installed.  Headers used by programs or convenience libraries are
+not installed.  The @code{noinst_HEADERS} variable can be used for
+such headers.  However when the header actually belongs to one
+convenient library or program, we recommend listing it in the
+program's or library's @code{_SOURCES} variable (@pxref{Program
+Sources}) instead of in @code{noinst_HEADERS}.  This is clearer for
+the @file{Makefile.am} reader.  @code{noinst_HEADERS} would be the
+right variable to use in a directory containing only headers and no
+associated library or program.
+
+All header files must be listed somewhere; in a @code{_SOURCES}
+variable or in a @code{_HEADERS} variable.  Missing ones will not
+appear in the distribution.
+
+For header files that are built and must not be distributed, use the
+@code{nodist_} prefix as in @code{nodist_include_HEADERS} or
+@code{nodist_prog_SOURCES}.  If these generated headers are needed
+during the build, you must also ensure they exist before they are
+used (@pxref{Sources}).
+
+
+@node Data
+@section Architecture-independent data files
+
+@cindex @code{_DATA} primary, defined
+@cindex @code{DATA} primary, defined
+@cindex Primary variable, @code{DATA}
+@vindex _DATA
+
+Automake supports the installation of miscellaneous data files using the
+@code{DATA} family of variables.
+@vindex DATA
+
+@vindex data_DATA
+@vindex sysconf_DATA
+@vindex sharedstate_DATA
+@vindex localstate_DATA
+@vindex pkgdata_DATA
+
+Such data can be installed in the directories @code{datadir},
+@code{sysconfdir}, @code{sharedstatedir}, @code{localstatedir}, or
+@code{pkgdatadir}.
+
+By default, data files are @emph{not} included in a distribution.  Of
+course, you can use the @code{dist_} prefix to change this on a
+per-variable basis.
+
+Here is how Automake declares its auxiliary data files:
+
+@example
+dist_pkgdata_DATA = clean-kr.am clean.am @dots{}
+@end example
+
+
+@node Sources
+@section Built sources
+
+Because Automake's automatic dependency tracking works as a side-effect
+of compilation (@pxref{Dependencies}) there is a bootstrap issue: a
+target should not be compiled before its dependencies are made, but
+these dependencies are unknown until the target is first compiled.
+
+Ordinarily this is not a problem, because dependencies are distributed
+sources: they preexist and do not need to be built.  Suppose that
+@file{foo.c} includes @file{foo.h}.  When it first compiles
+@file{foo.o}, @command{make} only knows that @file{foo.o} depends on
+@file{foo.c}.  As a side-effect of this compilation @command{depcomp}
+records the @file{foo.h} dependency so that following invocations of
+@command{make} will honor it.  In these conditions, it's clear there is
+no problem: either @file{foo.o} doesn't exist and has to be built
+(regardless of the dependencies), or accurate dependencies exist and
+they can be used to decide whether @file{foo.o} should be rebuilt.
+
+It's a different story if @file{foo.h} doesn't exist by the first
+@command{make} run.  For instance, there might be a rule to build
+@file{foo.h}.  This time @file{file.o}'s build will fail because the
+compiler can't find @file{foo.h}.  @command{make} failed to trigger the
+rule to build @file{foo.h} first by lack of dependency information.
+
+@vindex BUILT_SOURCES
+@cindex @code{BUILT_SOURCES}, defined
+
+The @code{BUILT_SOURCES} variable is a workaround for this problem.  A
+source file listed in @code{BUILT_SOURCES} is made on @samp{make all}
+or @samp{make check} (or even @samp{make install}) before other
+targets are processed.  However, such a source file is not
+@emph{compiled} unless explicitly requested by mentioning it in some
+other @code{_SOURCES} variable.
+
+So, to conclude our introductory example, we could use
+@samp{BUILT_SOURCES = foo.h} to ensure @file{foo.h} gets built before
+any other target (including @file{foo.o}) during @samp{make all} or
+@samp{make check}.
+
+@code{BUILT_SOURCES} is actually a bit of a misnomer, as any file which
+must be created early in the build process can be listed in this
+variable.  Moreover, all built sources do not necessarily have to be
+listed in @code{BUILT_SOURCES}.  For instance, a generated @file{.c} file
+doesn't need to appear in @code{BUILT_SOURCES} (unless it is included by
+another source), because it's a known dependency of the associated
+object.
+
+It might be important to emphasize that @code{BUILT_SOURCES} is
+honored only by @samp{make all}, @samp{make check} and @samp{make
+install}.  This means you cannot build a specific target (e.g.,
+@samp{make foo}) in a clean tree if it depends on a built source.
+However it will succeed if you have run @samp{make all} earlier,
+because accurate dependencies are already available.
+
+The next section illustrates and discusses the handling of built sources
+on a toy example.
+
+@menu
+* Built sources example::       Several ways to handle built sources.
+@end menu
+
+@node Built sources example
+@subsection Built sources example
+
+Suppose that @file{foo.c} includes @file{bindir.h}, which is
+installation-dependent and not distributed: it needs to be built.  Here
+@file{bindir.h} defines the preprocessor macro @code{bindir} to the
+value of the @command{make} variable @code{bindir} (inherited from
+@file{configure}).
+
+We suggest several implementations below.  It's not meant to be an
+exhaustive listing of all ways to handle built sources, but it will give
+you a few ideas if you encounter this issue.
+
+@unnumberedsubsec First try
+
+This first implementation will illustrate the bootstrap issue mentioned
+in the previous section (@pxref{Sources}).
+
+Here is a tentative @file{Makefile.am}.
+
+@example
+# This won't work.
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+nodist_foo_SOURCES = bindir.h
+CLEANFILES = bindir.h
+bindir.h: Makefile
+        echo '#define bindir "$(bindir)"' >$@@
+@end example
+
+This setup doesn't work, because Automake doesn't know that @file{foo.c}
+includes @file{bindir.h}.  Remember, automatic dependency tracking works
+as a side-effect of compilation, so the dependencies of @file{foo.o} will
+be known only after @file{foo.o} has been compiled (@pxref{Dependencies}).
+The symptom is as follows.
+
+@example
+% make
+source='foo.c' object='foo.o' libtool=no \
+depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
+depmode=gcc /bin/sh ./depcomp \
+gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
+foo.c:2: bindir.h: No such file or directory
+make: *** [foo.o] Error 1
+@end example
+
+In this example @file{bindir.h} is not distributed, not installed, and
+it is not even being built on-time.  One may wonder what the
+@samp{nodist_foo_SOURCES = bindir.h} line has any use at all.  This
+line simply states that @file{bindir.h} is a source of @code{foo}, so
+for instance, it should be inspected while generating tags
+(@pxref{Tags}).  In other words, it does not help our present problem,
+and the build would fail identically without it.
+
+@unnumberedsubsec Using @code{BUILT_SOURCES}
+
+A solution is to require @file{bindir.h} to be built before anything
+else.  This is what @code{BUILT_SOURCES} is meant for (@pxref{Sources}).
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+nodist_foo_SOURCES = bindir.h
+BUILT_SOURCES = bindir.h
+CLEANFILES = bindir.h
+bindir.h: Makefile
+        echo '#define bindir "$(bindir)"' >$@@
+@end example
+
+See how @file{bindir.h} get built first:
+
+@example
+% make
+echo '#define bindir "/usr/local/bin"' >bindir.h
+make  all-am
+make[1]: Entering directory `/home/adl/tmp'
+source='foo.c' object='foo.o' libtool=no \
+depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
+depmode=gcc /bin/sh ./depcomp \
+gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
+gcc  -g -O2   -o foo  foo.o
+make[1]: Leaving directory `/home/adl/tmp'
+@end example
+
+However, as said earlier, @code{BUILT_SOURCES} applies only to the
+@code{all}, @code{check}, and @code{install} targets.  It still fails
+if you try to run @samp{make foo} explicitly:
+
+@example
+% make clean
+test -z "bindir.h" || rm -f bindir.h
+test -z "foo" || rm -f foo
+rm -f *.o
+% : > .deps/foo.Po # Suppress previously recorded dependencies
+% make foo
+source='foo.c' object='foo.o' libtool=no \
+depfile='.deps/foo.Po' tmpdepfile='.deps/foo.TPo' \
+depmode=gcc /bin/sh ./depcomp \
+gcc -I. -I. -g -O2 -c `test -f 'foo.c' || echo './'`foo.c
+foo.c:2: bindir.h: No such file or directory
+make: *** [foo.o] Error 1
+@end example
+
+@unnumberedsubsec Recording dependencies manually
+
+Usually people are happy enough with @code{BUILT_SOURCES} because they
+never build targets such as @samp{make foo} before @samp{make all}, as
+in the previous example.  However if this matters to you, you can
+avoid @code{BUILT_SOURCES} and record such dependencies explicitly in
+the @file{Makefile.am}.
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+nodist_foo_SOURCES = bindir.h
+foo.$(OBJEXT): bindir.h
+CLEANFILES = bindir.h
+bindir.h: Makefile
+        echo '#define bindir "$(bindir)"' >$@@
+@end example
+
+You don't have to list @emph{all} the dependencies of @file{foo.o}
+explicitly, only those that might need to be built.  If a dependency
+already exists, it will not hinder the first compilation and will be
+recorded by the normal dependency tracking code.  (Note that after
+this first compilation the dependency tracking code will also have
+recorded the dependency between @file{foo.o} and
+@file{bindir.h}; so our explicit dependency is really useful to
+the first build only.)
+
+Adding explicit dependencies like this can be a bit dangerous if you are
+not careful enough.  This is due to the way Automake tries not to
+overwrite your rules (it assumes you know better than it).
+@samp{foo.$(OBJEXT): bindir.h} supersedes any rule Automake may want to
+output to build @samp{foo.$(OBJEXT)}.  It happens to work in this case
+because Automake doesn't have to output any @samp{foo.$(OBJEXT):}
+target: it relies on a suffix rule instead (i.e., @samp{.c.$(OBJEXT):}).
+Always check the generated @file{Makefile.in} if you do this.
+
+@unnumberedsubsec Build @file{bindir.h} from @file{configure}
+
+It's possible to define this preprocessor macro from @file{configure},
+either in @file{config.h} (@pxref{Defining Directories, , Defining
+Directories, autoconf, The Autoconf Manual}), or by processing a
+@file{bindir.h.in} file using @code{AC_CONFIG_FILES}
+(@pxref{Configuration Actions, ,Configuration Actions, autoconf, The
+Autoconf Manual}).
+
+At this point it should be clear that building @file{bindir.h} from
+@file{configure} work well for this example.  @file{bindir.h} will exist
+before you build any target, hence will not cause any dependency issue.
+
+The Makefile can be shrunk as follows.  We do not even have to mention
+@file{bindir.h}.
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+@end example
+
+However, it's not always possible to build sources from
+@file{configure}, especially when these sources are generated by a tool
+that needs to be built first...
+
+@unnumberedsubsec Build @file{bindir.c}, not @file{bindir.h}.
+
+Another attractive idea is to define @code{bindir} as a variable or
+function exported from @file{bindir.o}, and build @file{bindir.c}
+instead of @file{bindir.h}.
+
+@example
+noinst_PROGRAMS = foo
+foo_SOURCES = foo.c bindir.h
+nodist_foo_SOURCES = bindir.c
+CLEANFILES = bindir.c
+bindir.c: Makefile
+        echo 'const char bindir[] = "$(bindir)";' >$@@
+@end example
+
+@file{bindir.h} contains just the variable's declaration and doesn't
+need to be built, so it won't cause any trouble.  @file{bindir.o} is
+always dependent on @file{bindir.c}, so @file{bindir.c} will get built
+first.
+
+@unnumberedsubsec Which is best?
+
+There is no panacea, of course.  Each solution has its merits and
+drawbacks.
+
+You cannot use @code{BUILT_SOURCES} if the ability to run @samp{make
+foo} on a clean tree is important to you.
+
+You won't add explicit dependencies if you are leery of overriding
+an Automake rule by mistake.
+
+Building files from @file{./configure} is not always possible, neither
+is converting @file{.h} files into @file{.c} files.
+
+
+@node Other GNU Tools
+@chapter Other GNU Tools
+
+Since Automake is primarily intended to generate @file{Makefile.in}s for
+use in GNU programs, it tries hard to interoperate with other GNU tools.
+
+@menu
+* Emacs Lisp::                  Emacs Lisp
+* gettext::                     Gettext
+* Libtool::                     Libtool
+* Java::                        Java
+* Python::                      Python
+@end menu
+
+
+@node Emacs Lisp
+@section Emacs Lisp
+
+@cindex @code{_LISP} primary, defined
+@cindex @code{LISP} primary, defined
+@cindex Primary variable, @code{LISP}
+
+@vindex _LISP
+@vindex lisp_LISP
+@vindex noinst_LISP
+
+Automake provides some support for Emacs Lisp.  The @code{LISP} primary
+is used to hold a list of @file{.el} files.  Possible prefixes for this
+primary are @code{lisp_} and @code{noinst_}.  Note that if
+@code{lisp_LISP} is defined, then @file{configure.ac} must run
+@code{AM_PATH_LISPDIR} (@pxref{Macros}).
+
+@vindex dist_lisp_LISP
+@vindex dist_noinst_LISP
+Lisp sources are not distributed by default.  You can prefix the
+@code{LISP} primary with @code{dist_}, as in @code{dist_lisp_LISP} or
+@code{dist_noinst_LISP}, to indicate that these files should be
+distributed.
+
+Automake will byte-compile all Emacs Lisp source files using the Emacs
+found by @code{AM_PATH_LISPDIR}, if any was found.
+
+Byte-compiled Emacs Lisp files are not portable among all versions of
+Emacs, so it makes sense to turn this off if you expect sites to have
+more than one version of Emacs installed.  Furthermore, many packages
+don't actually benefit from byte-compilation.  Still, we recommend
+that you byte-compile your Emacs Lisp sources.  It is probably better
+for sites with strange setups to cope for themselves than to make the
+installation less nice for everybody else.
+
+There are two ways to avoid byte-compiling.  Historically, we have
+recommended the following construct.
+@example
+lisp_LISP = file1.el file2.el
+ELCFILES =
+@end example
+@noindent
+@code{ELCFILES} is an internal Automake variable that normally lists
+all @file{.elc} files that must be byte-compiled.  Automake defines
+@code{ELCFILES} automatically from @code{lisp_LISP}.  Emptying this
+variable explicitly prevents byte-compilation to occur.
+
+Since Automake 1.8, we now recommend using @code{lisp_DATA} instead.  As
+in
+@example
+lisp_DATA = file1.el file2.el
+@end example
+
+Note that these two constructs are not equivalent.  @code{_LISP} will
+not install a file if Emacs is not installed, while @code{_DATA} will
+always install its files.
+
+@node gettext
+@section Gettext
+
+@cindex GNU Gettext support
+@cindex Gettext support
+@cindex Support for GNU Gettext
+
+If @code{AM_GNU_GETTEXT} is seen in @file{configure.ac}, then Automake
+turns on support for GNU gettext, a message catalog system for
+internationalization
+(@pxref{GNU Gettext, , , gettext, GNU gettext utilities}).
+
+The @code{gettext} support in Automake requires the addition of two
+subdirectories to the package, @file{intl} and @file{po}.  Automake
+insures that these directories exist and are mentioned in
+@code{SUBDIRS}.
+
+@node Libtool
+@section Libtool
+
+Automake provides support for GNU Libtool (@pxref{Top, , Introduction,
+libtool, The Libtool Manual}) with the @code{LTLIBRARIES} primary.
+@xref{A Shared Library}.
+
+
+@node Java
+@section Java
+
+@cindex @code{_JAVA} primary, defined
+@cindex @code{JAVA} primary, defined
+@cindex Primary variable, @code{JAVA}
+
+Automake provides some minimal support for Java compilation with the
+@code{JAVA} primary.
+
+Any @file{.java} files listed in a @code{_JAVA} variable will be
+compiled with @code{JAVAC} at build time.  By default, @file{.java}
+files are not included in the distribution, you should use the
+@code{dist_} prefix to distribute them.
+
+Here is a typical setup for distributing @file{.java} files and
+installing the @file{.class} files resulting from their compilation.
+
+@example
+javadir = $(datadir)/java
+dist_java_JAVA = a.java b.java @dots{}
+@end example
+
+@cindex @code{JAVA} restrictions
+@cindex Restrictions for @code{JAVA}
+
+Currently Automake enforces the restriction that only one @code{_JAVA}
+primary can be used in a given @file{Makefile.am}.  The reason for this
+restriction is that, in general, it isn't possible to know which
+@file{.class} files were generated from which @file{.java} files, so
+it would be impossible to know which files to install where.  For
+instance, a @file{.java} file can define multiple classes; the resulting
+@file{.class} file names cannot be predicted without parsing the
+@file{.java} file.
+
+There are a few variables that are used when compiling Java sources:
+
+@vtable @code
+@item JAVAC
+The name of the Java compiler.  This defaults to @samp{javac}.
+
+@item JAVACFLAGS
+The flags to pass to the compiler.  This is considered to be a user
+variable (@pxref{User Variables}).
+
+@item AM_JAVACFLAGS
+More flags to pass to the Java compiler.  This, and not
+@code{JAVACFLAGS}, should be used when it is necessary to put Java
+compiler flags into @file{Makefile.am}.
+
+@item JAVAROOT
+The value of this variable is passed to the @option{-d} option to
+@code{javac}.  It defaults to @samp{$(top_builddir)}.
+
+@item CLASSPATH_ENV
+This variable is an @code{sh} expression that is used to set the
+@env{CLASSPATH} environment variable on the @code{javac} command line.
+(In the future we will probably handle class path setting differently.)
+@end vtable
+
+
+@node Python
+@section Python
+
+@cindex @code{_PYTHON} primary, defined
+@cindex @code{PYTHON} primary, defined
+@cindex Primary variable, @code{PYTHON}
+@vindex _PYTHON
+
+Automake provides support for Python compilation with the @code{PYTHON}
+primary.
+
+Any files listed in a @code{_PYTHON} variable will be byte-compiled
+with @command{py-compile} at install time.  @command{py-compile}
+actually creates both standard (@file{.pyc}) and byte-compiled
+(@file{.pyo}) versions of the source files.  Note that because
+byte-compilation occurs at install time, any files listed in
+@code{noinst_PYTHON} will not be compiled.  Python source files are
+included in the distribution by default.
+
+Automake ships with an Autoconf macro called @code{AM_PATH_PYTHON} that
+will determine some Python-related directory variables (see below).  If
+you have called @code{AM_PATH_PYTHON} from @file{configure.ac}, then you
+may use the following variables to list you Python source files in your
+variables: @code{python_PYTHON}, @code{pkgpython_PYTHON},
+@code{pyexecdir_PYTHON}, @code{pkgpyexecdir_PYTHON}, depending where you
+want your files installed.
+
+@defmac AM_PATH_PYTHON ([@var{VERSION}], [@var{ACTION-IF-FOUND}], [@var{ACTION-IF-NOT-FOUND}])
+
+Search a Python interpreter on the system.  This macro takes three
+optional arguments.  The first argument, if present, is the minimum
+version of Python required for this package: @code{AM_PATH_PYTHON}
+will skip any Python interpreter that is older than @var{VERSION}.
+If an interpreter is found and satisfies @var{VERSION}, then
+@var{ACTION-IF-FOUND} is run.  Otherwise, @var{ACTION-IF-NOT-FOUND} is
+run.
+
+If @var{ACTION-IF-NOT-FOUND} is not specified, the default is to abort
+configure.  This is fine when Python is an absolute requirement for the
+package.  Therefore if Python >= 2.2 is only @emph{optional} to the
+package, @code{AM_PATH_PYTHON} could be called as follows.
+
+@example
+AM_PATH_PYTHON(2.2,, :)
+@end example
+
+@code{AM_PATH_PYTHON} creates the following output variables based on
+the Python installation found during configuration.
+@end defmac
+
+@vtable @code
+@item PYTHON
+The name of the Python executable, or @samp{:} if no suitable
+interpreter could be found.
+
+Assuming @var{ACTION-IF-NOT-FOUND} is used (otherwise @file{./configure}
+will abort if Python is absent), the value of @code{PYTHON} can be used
+to setup a conditional in order to disable the relevant part of a build
+as follows.
+
+@example
+  AM_PATH_PYTHON(,, :)
+  AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
+@end example
+
+@item PYTHON_VERSION
+The Python version number, in the form @var{major}.@var{minor}
+(e.g., @samp{1.5}).  This is currently the value of
+@samp{sys.version[:3]}.
+
+@item PYTHON_PREFIX
+The string @samp{$@{prefix@}}.  This term may be used in future work
+that needs the contents of Python's @samp{sys.prefix}, but general
+consensus is to always use the value from configure.
+
+@item PYTHON_EXEC_PREFIX
+The string @samp{$@{exec_prefix@}}.  This term may be used in future work
+that needs the contents of Python's @samp{sys.exec_prefix}, but general
+consensus is to always use the value from configure.
+
+@item PYTHON_PLATFORM
+The canonical name used by Python to describe the operating system, as
+given by @samp{sys.platform}.  This value is sometimes needed when
+building Python extensions.
+
+@item pythondir
+The directory name for the @file{site-packages} subdirectory of the
+standard Python install tree.
+
+@item pkgpythondir
+This is the directory under @code{pythondir} that is named after the
+package.  That is, it is @samp{$(pythondir)/$(PACKAGE)}.  It is provided
+as a convenience.
+
+@item pyexecdir
+This is the directory where Python extension modules (shared libraries)
+should be installed.
+
+@item pkgpyexecdir
+This is a convenience variable that is defined as
+@samp{$(pyexecdir)/$(PACKAGE)}.
+@end vtable
+
+All these directory variables have values that start with either
+@samp{$@{prefix@}} or @samp{$@{exec_prefix@}} unexpanded.  This works
+fine in @file{Makefiles}, but it makes these variables hard to use in
+@file{configure}.  This is mandated by the GNU coding standards, so
+that the user can run @samp{make prefix=/foo install}.  The Autoconf
+manual has a section with more details on this topic
+(@pxref{Installation Directory Variables, , Installation Directory
+Variables, autoconf, The Autoconf Manual}).  See also @ref{Hard-Coded
+Install Paths}.
+
+
+@node Documentation
+@chapter Building documentation
+
+Currently Automake provides support for Texinfo and man pages.
+
+@menu
+* Texinfo::                     Texinfo
+* Man pages::                   Man pages
+@end menu
+
+
+@node Texinfo
+@section Texinfo
+
+@cindex @code{_TEXINFOS} primary, defined
+@cindex @code{TEXINFOS} primary, defined
+@cindex Primary variable, @code{TEXINFOS}
+@cindex HTML output using Texinfo
+@cindex PDF output using Texinfo
+@cindex PS output using Texinfo
+@cindex DVI output using Texinfo
+@vindex _TEXINFOS
+@vindex info_TEXINFOS
+
+If the current directory contains Texinfo source, you must declare it
+with the @code{TEXINFOS} primary.  Generally Texinfo files are converted
+into info, and thus the @code{info_TEXINFOS} variable is most commonly used
+here.  Any Texinfo source file must end in the @file{.texi},
+@file{.txi}, or @file{.texinfo} extension.  We recommend @file{.texi}
+for new manuals.
+
+Automake generates rules to build @file{.info}, @file{.dvi},
+@file{.ps}, @file{.pdf} and @file{.html} files from your Texinfo
+sources.  The @file{.info} files are built by @samp{make all} and
+installed by @samp{make install} (unless you use
+@option{no-installinfo}, see below).  The other files can be built on
+request by @samp{make dvi}, @samp{make ps}, @samp{make pdf} and
+@samp{make html}.
+
+@cindex Texinfo flag, @code{VERSION}
+@cindex Texinfo flag, @code{UPDATED}
+@cindex Texinfo flag, @code{EDITION}
+@cindex Texinfo flag, @code{UPDATED-MONTH}
+
+@cindex @code{VERSION} Texinfo flag
+@cindex @code{UPDATED} Texinfo flag
+@cindex @code{EDITION} Texinfo flag
+@cindex @code{UPDATED-MONTH} Texinfo flag
+
+@cindex @file{mdate-sh}
+
+If the @file{.texi} file @code{@@include}s @file{version.texi}, then
+that file will be automatically generated.  The file @file{version.texi}
+defines four Texinfo flag you can reference using
+@code{@@value@{EDITION@}}, @code{@@value@{VERSION@}},
+@code{@@value@{UPDATED@}}, and @code{@@value@{UPDATED-MONTH@}}.
+
+@table @code
+@item EDITION
+@itemx VERSION
+Both of these flags hold the version number of your program.  They are
+kept separate for clarity.
+
+@item UPDATED
+This holds the date the primary @file{.texi} file was last modified.
+
+@item UPDATED-MONTH
+This holds the name of the month in which the primary @file{.texi} file
+was last modified.
+@end table
+
+The @file{version.texi} support requires the @command{mdate-sh}
+script; this script is supplied with Automake and automatically
+included when @command{automake} is invoked with the
+@option{--add-missing} option.
+
+If you have multiple Texinfo files, and you want to use the
+@file{version.texi} feature, then you have to have a separate version
+file for each Texinfo file.  Automake will treat any include in a
+Texinfo file that matches @file{vers*.texi} just as an automatically
+generated version file.
+
+Sometimes an info file actually depends on more than one @file{.texi}
+file.  For instance, in GNU Hello, @file{hello.texi} includes the file
+@file{gpl.texi}.  You can tell Automake about these dependencies using
+the @code{@var{texi}_TEXINFOS} variable.  Here is how GNU Hello does it:
+@vindex TEXINFOS
+@vindex _TEXINFOS
+
+@example
+info_TEXINFOS = hello.texi
+hello_TEXINFOS = gpl.texi
+@end example
+
+@cindex @file{texinfo.tex}
+
+By default, Automake requires the file @file{texinfo.tex} to appear in
+the same directory as the Texinfo source (this can be changed using the
+@code{TEXINFO_TEX} variable, see below).  However, if you used
+@code{AC_CONFIG_AUX_DIR} in @file{configure.ac} (@pxref{Input, , Finding
+`configure' Input, autoconf, The Autoconf Manual}), then
+@file{texinfo.tex} is looked for there.  Automake supplies
+@file{texinfo.tex} if @option{--add-missing} is given.
+
+@opindex no-texinfo.tex
+
+The option @option{no-texinfo.tex} can be used to eliminate the
+requirement for the file @file{texinfo.tex}.  Use of the variable
+@code{TEXINFO_TEX} is preferable, however, because that allows the
+@code{dvi}, @code{ps}, and @code{pdf} targets to still work.
+
+@cindex Option, @code{noinstall-info}
+@cindex Target, @code{install-info}
+@cindex @code{install-info} target
+@cindex @code{noinstall-info} option
+
+@opindex no-installinfo
+@trindex install-info
+
+Automake generates an @code{install-info} rule; some people apparently
+use this.  By default, info pages are installed by @samp{make install}.
+This can be prevented via the @code{no-installinfo} option.
+
+The following variables are used by the Texinfo build rules.
+
+@vtable @code
+@item MAKEINFO
+The name of the program invoked to build @file{.info} files.  This
+variable is defined by Automake.  If the @code{makeinfo} program is
+found on the system then it will be used by default; otherwise
+@code{missing} will be used instead.
+
+@item MAKEINFOHTML
+The command invoked to build @file{.html} files.  Automake
+defines this to @samp{$(MAKEINFO) --html}.
+
+@item MAKEINFOFLAGS
+User flags passed to each invocation of @samp{$(MAKEINFO)} and
+@samp{$(MAKEINFOHTML)}.  This user variable (@pxref{User Variables}) is
+not expected to be defined in any @file{Makefile}; it can be used by
+users to pass extra flags to suit their needs.
+
+@item AM_MAKEINFOFLAGS
+@itemx AM_MAKEINFOHTMLFLAGS
+Maintainer flags passed to each @command{makeinfo} invocation.  Unlike
+@code{MAKEINFOFLAGS}, these variables are meant to be defined by
+maintainers in @file{Makefile.am}.  @samp{$(AM_MAKEINFOFLAGS)} is
+passed to @code{makeinfo} when building @file{.info} files; and
+@samp{$(AM_MAKEINFOHTMLFLAGS)} is used when building @file{.html}
+files.
+
+For instance, the following setting can be used to obtain one single
+@file{.html} file per manual, without node separators.
+@example
+AM_MAKEINFOHTMLFLAGS = --no-headers --no-split
+@end example
+
+@code{AM_MAKEINFOHTMLFLAGS} defaults to @samp{$(AM_MAKEINFOFLAGS)}.
+This means that defining @code{AM_MAKEINFOFLAGS} without defining
+@code{AM_MAKEINFOHTMLFLAGS} will impact builds of both @file{.info}
+and @file{.html} files.
+
+@item TEXI2DVI
+The name of the command that converts a @file{.texi} file into a
+@file{.dvi} file.  This defaults to @samp{texi2dvi}, a script that ships
+with the Texinfo package.
+
+@item TEXI2PDF
+The name of the command that translates a @file{.texi} file into a
+@file{.pdf} file.  This defaults to @samp{$(TEXI2DVI) --pdf --batch}.
+
+@item DVIPS
+The name of the command that build a @file{.ps} file out of a
+@file{.dvi} file.  This defaults to @samp{dvips}.
+
+@item TEXINFO_TEX
+
+If your package has Texinfo files in many directories, you can use the
+variable @code{TEXINFO_TEX} to tell Automake where to find the canonical
+@file{texinfo.tex} for your package.  The value of this variable should
+be the relative path from the current @file{Makefile.am} to
+@file{texinfo.tex}:
+
+@example
+TEXINFO_TEX = ../doc/texinfo.tex
+@end example
+@end vtable
+
+
+@node Man pages
+@section Man pages
+
+@cindex @code{_MANS} primary, defined
+@cindex @code{MANS} primary, defined
+@cindex Primary variable, @code{MANS}
+
+@vindex _MANS
+@vindex man_MANS
+A package can also include man pages (but see the GNU standards on this
+matter, @ref{Man Pages, , , standards, The GNU Coding Standards}.)  Man
+pages are declared using the @code{MANS} primary.  Generally the
+@code{man_MANS} variable is used.  Man pages are automatically installed in
+the correct subdirectory of @code{mandir}, based on the file extension.
+
+File extensions such as @file{.1c} are handled by looking for the valid
+part of the extension and using that to determine the correct
+subdirectory of @code{mandir}.  Valid section names are the digits
+@samp{0} through @samp{9}, and the letters @samp{l} and @samp{n}.
+
+Sometimes developers prefer to name a man page something like
+@file{foo.man} in the source, and then rename it to have the correct
+suffix, for example @file{foo.1}, when installing the file.  Automake
+also supports this mode.  For a valid section named @var{SECTION},
+there is a corresponding directory named @samp{man@var{SECTION}dir},
+and a corresponding @code{_MANS} variable.  Files listed in such a
+variable are installed in the indicated section.  If the file already
+has a valid suffix, then it is installed as-is; otherwise the file
+suffix is changed to match the section.
+
+For instance, consider this example:
+@example
+man1_MANS = rename.man thesame.1 alsothesame.1c
+@end example
+
+In this case, @file{rename.man} will be renamed to @file{rename.1} when
+installed, but the other files will keep their names.
+
+@cindex Target, @code{install-man}
+@cindex Option, @option{noinstall-man}
+@cindex @code{install-man} target
+@cindex @option{noinstall-man} option
+@opindex no-installman
+@trindex install-man
+
+By default, man pages are installed by @samp{make install}.  However,
+since the GNU project does not require man pages, many maintainers do
+not expend effort to keep the man pages up to date.  In these cases, the
+@option{no-installman} option will prevent the man pages from being
+installed by default.  The user can still explicitly install them via
+@samp{make install-man}.
+
+Here is how the man pages are handled in GNU @command{cpio} (which
+includes both Texinfo documentation and man pages):
+
+@example
+man_MANS = cpio.1 mt.1
+EXTRA_DIST = $(man_MANS)
+@end example
+
+Man pages are not currently considered to be source, because it is not
+uncommon for man pages to be automatically generated.  Therefore they
+are not automatically included in the distribution.  However, this can
+be changed by use of the @code{dist_} prefix.
+
+The @code{nobase_} prefix is meaningless for man pages and is
+disallowed.
+
+
+@node Install
+@chapter What Gets Installed
+
+@cindex Installation support
+@cindex @samp{make install} support
+
+@section Basics of installation
+
+Naturally, Automake handles the details of actually installing your
+program once it has been built.  All files named by the various
+primaries are automatically installed in the appropriate places when the
+user runs @samp{make install}.
+
+A file named in a primary is installed by copying the built file into
+the appropriate directory.  The base name of the file is used when
+installing.
+
+@example
+bin_PROGRAMS = hello subdir/goodbye
+@end example
+
+In this example, both @samp{hello} and @samp{goodbye} will be installed
+in @samp{$(bindir)}.
+
+Sometimes it is useful to avoid the basename step at install time.  For
+instance, you might have a number of header files in subdirectories of
+the source tree that are laid out precisely how you want to install
+them.  In this situation you can use the @code{nobase_} prefix to
+suppress the base name step.  For example:
+
+@example
+nobase_include_HEADERS = stdio.h sys/types.h
+@end example
+
+Will install @file{stdio.h} in @samp{$(includedir)} and @file{types.h}
+in @samp{$(includedir)/sys}.
+
+@section The two parts of install
+
+Automake generates separate @code{install-data} and @code{install-exec}
+rules, in case the installer is installing on multiple machines that
+share directory structure---these targets allow the machine-independent
+parts to be installed only once.  @code{install-exec} installs
+platform-dependent files, and @code{install-data} installs
+platform-independent files.  The @code{install} target depends on both
+of these targets.  While Automake tries to automatically segregate
+objects into the correct category, the @file{Makefile.am} author is, in
+the end, responsible for making sure this is done correctly.
+@trindex install-data
+@trindex install-exec
+@trindex install
+@cindex Install, two parts of
+
+Variables using the standard directory prefixes @samp{data},
+@samp{info}, @samp{man}, @samp{include}, @samp{oldinclude},
+@samp{pkgdata}, or @samp{pkginclude} are installed by
+@code{install-data}.
+
+Variables using the standard directory prefixes @samp{bin},
+@samp{sbin}, @samp{libexec}, @samp{sysconf}, @samp{localstate},
+@samp{lib}, or @samp{pkglib} are installed by @code{install-exec}.
+
+For instance, @code{data_DATA} files are installed by @code{install-data},
+while @code{bin_PROGRAMS} files are installed by @code{install-exec}.
+
+Any variable using a user-defined directory prefix with @samp{exec} in
+the name (e.g., @code{myexecbin_PROGRAMS}) is installed by
+@code{install-exec}.  All other user-defined prefixes are installed by
+@code{install-data}.
+
+@section Extending installation
+
+It is possible to extend this mechanism by defining an
+@code{install-exec-local} or @code{install-data-local} rule.  If these
+rules exist, they will be run at @samp{make install} time.  These
+rules can do almost anything; care is required.
+@trindex install-exec-local
+@trindex install-data-local
+
+Automake also supports two install hooks, @code{install-exec-hook} and
+@code{install-data-hook}.  These hooks are run after all other install
+rules of the appropriate type, exec or data, have completed.  So, for
+instance, it is possible to perform post-installation modifications
+using an install hook.  @ref{Extending} gives some examples.
+@cindex Install hook
+
+@section Staged installs
+
+@vindex DESTDIR
+Automake generates support for the @code{DESTDIR} variable in all
+install rules.  @code{DESTDIR} is used during the @samp{make install}
+step to relocate install objects into a staging area.  Each object and
+path is prefixed with the value of @code{DESTDIR} before being copied
+into the install area.  Here is an example of typical DESTDIR usage:
+
+@example
+mkdir /tmp/staging &&
+make DESTDIR=/tmp/staging install
+@end example
+
+The @command{mkdir} command avoids a security problem if the attacker
+creates a symbolic link from @file{/tmp/staging} to a victim area;
+then @command{make} places install objects in a directory tree built under
+@file{/tmp/staging}.  If @file{/gnu/bin/foo} and
+@file{/gnu/share/aclocal/foo.m4} are to be installed, the above command
+would install @file{/tmp/staging/gnu/bin/foo} and
+@file{/tmp/staging/gnu/share/aclocal/foo.m4}.
+
+This feature is commonly used to build install images and packages.  For
+more information, see @ref{Makefile Conventions, , , standards, The GNU
+Coding Standards}.
+
+Support for @code{DESTDIR} is implemented by coding it directly into the
+install rules.  If your @file{Makefile.am} uses a local install rule
+(e.g., @code{install-exec-local}) or an install hook, then you must
+write that code to respect @code{DESTDIR}.
+
+@section Rules for the user
+
+Automake also generates rules for targets @code{uninstall},
+@code{installdirs}, and @code{install-strip}.
+@trindex uninstall
+@trindex installdirs
+@trindex install-strip
+
+Automake supports @code{uninstall-local} and @code{uninstall-hook}.
+There is no notion of separate uninstalls for ``exec'' and ``data'', as
+these features would not provide additional functionality.
+
+Note that @code{uninstall} is not meant as a replacement for a real
+packaging tool.
+
+
+@node Clean
+@chapter What Gets Cleaned
+
+@cindex @samp{make clean} support
+
+The GNU Makefile Standards specify a number of different clean rules.
+@xref{Standard Targets, , Standard Targets for Users, standards,
+The GNU Coding Standards}.
+
+Generally the files that can be cleaned are determined automatically by
+Automake.  Of course, Automake also recognizes some variables that can
+be defined to specify additional files to clean.  These variables are
+@code{MOSTLYCLEANFILES}, @code{CLEANFILES}, @code{DISTCLEANFILES}, and
+@code{MAINTAINERCLEANFILES}.
+@vindex MOSTLYCLEANFILES
+@vindex CLEANFILES
+@vindex DISTCLEANFILES
+@vindex MAINTAINERCLEANFILES
+
+@trindex mostlyclean-local
+@trindex clean-local
+@trindex distclean-local
+@trindex maintainer-clean-local
+When cleaning involves more than deleting some hard-coded list of
+files, it is also possible to supplement the cleaning rules with your
+own commands.  Simply define a rule for any of the
+@code{mostlyclean-local}, @code{clean-local}, @code{distclean-local},
+or @code{maintainer-clean-local} targets (@pxref{Extending}).  A common
+case is deleting a directory, for instance, a directory created by the
+test suite:
+
+@example
+clean-local:
+        -rm -rf testSubDir
+@end example
+
+As the GNU Standards aren't always explicit as to which files should
+be removed by which rule, we've adopted a heuristic that we believe
+was first formulated by Fran@,{c}ois Pinard:
+
+@itemize @bullet
+@item
+If @command{make} built it, and it is commonly something that one would
+want to rebuild (for instance, a @file{.o} file), then
+@code{mostlyclean} should delete it.
+
+@item
+Otherwise, if @command{make} built it, then @code{clean} should delete it.
+
+@item
+If @command{configure} built it, then @code{distclean} should delete it.
+
+@item
+If the maintainer built it (for instance, a @file{.info} file), then
+@code{maintainer-clean} should delete it.  However
+@code{maintainer-clean} should not delete anything that needs to exist
+in order to run @samp{./configure && make}.
+@end itemize
+
+We recommend that you follow this same set of heuristics in your
+@file{Makefile.am}.
+
+
+@node Dist
+@chapter What Goes in a Distribution
+
+@section Basics of distribution
+
+@cindex @samp{make dist}
+
+@vindex PACKAGE
+@vindex VERSION
+@trindex dist
+The @code{dist} rule in the generated @file{Makefile.in} can be used
+to generate a gzip'd @code{tar} file and other flavors of archive for
+distribution.  The files is named based on the @code{PACKAGE} and
+@code{VERSION} variables defined by @code{AM_INIT_AUTOMAKE}
+(@pxref{Macros}); more precisely the gzip'd @code{tar} file is named
+@samp{@var{package}-@var{version}.tar.gz}.
+@vindex GZIP_ENV
+You can use the @command{make} variable @code{GZIP_ENV} to control how gzip
+is run.  The default setting is @option{--best}.
+
+@cindex @code{m4_include}, distribution
+@cindex @code{include}, distribution
+@acindex m4_include
+@cmindex include
+For the most part, the files to distribute are automatically found by
+Automake: all source files are automatically included in a distribution,
+as are all @file{Makefile.am}s and @file{Makefile.in}s.  Automake also
+has a built-in list of commonly used files that are automatically
+included if they are found in the current directory (either physically,
+or as the target of a @file{Makefile.am} rule).  This list is printed by
+@samp{automake --help}.  Also, files that are read by @command{configure}
+(i.e.@: the source files corresponding to the files specified in various
+Autoconf macros such as @code{AC_CONFIG_FILES} and siblings) are
+automatically distributed.  Files included in @file{Makefile.am}s (using
+@code{include}) or in @file{configure.ac} (using @code{m4_include}), and
+helper scripts installed with @samp{automake --add-missing} are also
+distributed.
+
+@vindex EXTRA_DIST
+Still, sometimes there are files that must be distributed, but which
+are not covered in the automatic rules.  These files should be listed in
+the @code{EXTRA_DIST} variable.  You can mention files from
+subdirectories in @code{EXTRA_DIST}.
+
+You can also mention a directory in @code{EXTRA_DIST}; in this case the
+entire directory will be recursively copied into the distribution.
+Please note that this will also copy @emph{everything} in the directory,
+including CVS/RCS version control files.  We recommend against using
+this feature.
+
+@vindex SUBDIRS
+@vindex DIST_SUBDIRS
+If you define @code{SUBDIRS}, Automake will recursively include the
+subdirectories in the distribution.  If @code{SUBDIRS} is defined
+conditionally (@pxref{Conditionals}), Automake will normally include
+all directories that could possibly appear in @code{SUBDIRS} in the
+distribution.  If you need to specify the set of directories
+conditionally, you can set the variable @code{DIST_SUBDIRS} to the
+exact list of subdirectories to include in the distribution
+(@pxref{Conditional Subdirectories}).
+
+
+@section Fine-grained distribution control
+
+@vindex dist_
+@vindex nodist_
+Sometimes you need tighter control over what does @emph{not} go into the
+distribution; for instance, you might have source files that are
+generated and that you do not want to distribute.  In this case
+Automake gives fine-grained control using the @code{dist} and
+@code{nodist} prefixes.  Any primary or @code{_SOURCES} variable can be
+prefixed with @code{dist_} to add the listed files to the distribution.
+Similarly, @code{nodist_} can be used to omit the files from the
+distribution.
+
+As an example, here is how you would cause some data to be distributed
+while leaving some source code out of the distribution:
+
+@example
+dist_data_DATA = distribute-this
+bin_PROGRAMS = foo
+nodist_foo_SOURCES = do-not-distribute.c
+@end example
+
+@section The dist hook
+
+@trindex dist-hook
+
+Occasionally it is useful to be able to change the distribution before
+it is packaged up.  If the @code{dist-hook} rule exists, it is run
+after the distribution directory is filled, but before the actual tar
+(or shar) file is created.  One way to use this is for distributing
+files in subdirectories for which a new @file{Makefile.am} is overkill:
+
+@example
+dist-hook:
+        mkdir $(distdir)/random
+        cp -p $(srcdir)/random/a1 $(srcdir)/random/a2 $(distdir)/random
+@end example
+
+Another way to to use this is for removing unnecessary files that get
+recursively included by specifying a directory in EXTRA_DIST:
+
+@example
+EXTRA_DIST = doc
+
+dist-hook:
+        rm -rf `find $(distdir)/doc -name CVS`
+@end example
+
+@vindex distdir
+@vindex top_distdir
+Two variables that come handy when writing @code{dist-hook} rules are
+@samp{$(distdir)} and @samp{$(top_distdir)}.
+
+@samp{$(distdir)} points to the directory where the @code{dist} rule
+will copy files from the current directory before creating the
+tarball.  If you are at the top-level directory, then @samp{distdir =
+$(PACKAGE)-$(VERSION)}.  When used from subdirectory named
+@file{foo/}, then @samp{distdir = ../$(PACKAGE)-$(VERSION)/foo}.
+@samp{$(distdir)} can be a relative or absolute path, do not assume
+any form.
+
+@samp{$(top_distdir)} always points to the root directory of the
+distributed tree.  At the top-level it's equal to @samp{$(distdir)}.
+In the @file{foo/} subdirectory
+@samp{top_distdir = ../$(PACKAGE)-$(VERSION)}.
+@samp{$(top_distdir)} too can be a relative or absolute path.
+
+Note that when packages are nested using @code{AC_CONFIG_SUBDIRS}
+(@pxref{Subpackages}), then @samp{$(distdir)} and
+@samp{$(top_distdir)} are relative to the package where @samp{make
+dist} was run, not to any sub-packages involved.
+
+@section Checking the distribution
+
+@cindex @samp{make distcheck}
+@cindex @samp{make distcleancheck}
+@vindex distcleancheck_listfiles
+@cindex @samp{make distuninstallcheck}
+@vindex distuninstallcheck_listfiles
+
+@trindex distcheck
+Automake also generates a @code{distcheck} rule that can be of help
+to ensure that a given distribution will actually work.
+@code{distcheck} makes a distribution, then tries to do a @code{VPATH}
+build, run the test suite, and finally make another tarfile to ensure the
+distribution is self-contained.
+
+@vindex DISTCHECK_CONFIGURE_FLAGS
+Building the package involves running @samp{./configure}.  If you need
+to supply additional flags to @command{configure}, define them in the
+@code{DISTCHECK_CONFIGURE_FLAGS} variable, either in your top-level
+@file{Makefile.am}, or on the command line when invoking @command{make}.
+
+@trindex distcheck-hook
+If the @code{distcheck-hook} rule is defined in your top-level
+@file{Makefile.am}, then it will be invoked by @code{distcheck} after
+the new distribution has been unpacked, but before the unpacked copy
+is configured and built.  Your @code{distcheck-hook} can do almost
+anything, though as always caution is advised.  Generally this hook is
+used to check for potential distribution errors not caught by the
+standard mechanism.  Note that @code{distcheck-hook} as well as
+@code{DISTCHECK_CONFIGURE_FLAGS} are not honored in a subpackage
+@file{Makefile.am}, but the @code{DISTCHECK_CONFIGURE_FLAGS} are
+passed down to the @command{configure} script of the subpackage.
+
+@trindex distcleancheck
+@vindex DISTCLEANFILES
+@vindex distcleancheck_listfiles
+Speaking of potential distribution errors, @code{distcheck} also
+ensures that the @code{distclean} rule actually removes all built
+files.  This is done by running @samp{make distcleancheck} at the end of
+the @code{VPATH} build.  By default, @code{distcleancheck} will run
+@code{distclean} and then make sure the build tree has been emptied by
+running @samp{$(distcleancheck_listfiles)}.  Usually this check will
+find generated files that you forgot to add to the @code{DISTCLEANFILES}
+variable (@pxref{Clean}).
+
+The @code{distcleancheck} behavior should be OK for most packages,
+otherwise you have the possibility to override the definition of
+either the @code{distcleancheck} rule, or the
+@samp{$(distcleancheck_listfiles)} variable.  For instance, to disable
+@code{distcleancheck} completely, add the following rule to your
+top-level @file{Makefile.am}:
+
+@example
+distcleancheck:
+        @@:
+@end example
+
+If you want @code{distcleancheck} to ignore built files that have not
+been cleaned because they are also part of the distribution, add the
+following definition instead:
+
+@example
+distcleancheck_listfiles = \
+  find -type f -exec sh -c 'test -f $(srcdir)/@{@} || echo @{@}' ';'
+@end example
+
+The above definition is not the default because it's usually an error if
+your Makefiles cause some distributed files to be rebuilt when the user
+build the package.  (Think about the user missing the tool required to
+build the file; or if the required tool is built by your package,
+consider the cross-compilation case where it can't be run.)  There is
+a FAQ entry about this (@pxref{distcleancheck}), make sure you read it
+before playing with @code{distcleancheck_listfiles}.
+
+@code{distcheck} also checks that the @code{uninstall} rule works
+properly, both for ordinary and @code{DESTDIR} builds.  It does this
+by invoking @samp{make uninstall}, and then it checks the install tree
+to see if any files are left over.  This check will make sure that you
+correctly coded your @code{uninstall}-related rules.
+
+By default, the checking is done by the @code{distuninstallcheck} rule,
+and the list of files in the install tree is generated by
+@samp{$(distuninstallcheck_listfiles}) (this is a variable whose value is
+a shell command to run that prints the list of files to stdout).
+
+Either of these can be overridden to modify the behavior of
+@code{distcheck}.  For instance, to disable this check completely, you
+would write:
+
+@example
+distuninstallcheck:
+        @@:
+@end example
+
+@section The types of distributions
+
+Automake generates rules to provide archives of the project for
+distributions in various formats.  Their targets are:
+
+@table @asis
+@item @code{dist-bzip2}
+Generate a bzip2 tar archive of the distribution.  bzip2 archives are
+frequently smaller than gzipped archives.
+@trindex dist-bzip2
+
+@item @code{dist-gzip}
+Generate a gzip tar archive of the distribution.
+@trindex dist-gzip
+
+@item @code{dist-shar}
+Generate a shar archive of the distribution.
+@trindex dist-shar
+
+@item @code{dist-zip}
+Generate a zip archive of the distribution.
+@trindex dist-zip
+
+@item @code{dist-tarZ}
+Generate a compressed tar archive of
+the distribution.
+@trindex dist-tarZ
+@end table
+
+The rule @code{dist} (and its historical synonym @code{dist-all}) will
+create archives in all the enabled formats, @ref{Options}.  By
+default, only the @code{dist-gzip} target is hooked to @code{dist}.
+
+
+@node Tests
+@chapter Support for test suites
+
+@cindex Test suites
+@cindex @code{make check}
+@trindex check
+
+Automake supports two forms of test suites.
+
+@section Simple Tests
+
+If the variable @code{TESTS} is defined, its value is taken to be a list
+of programs to run in order to do the testing.  The programs can either
+be derived objects or source objects; the generated rule will look both
+in @code{srcdir} and @file{.}.  Programs needing data files should look
+for them in @code{srcdir} (which is both an environment variable and a
+make variable) so they work when building in a separate directory
+(@pxref{Build Directories, , Build Directories , autoconf, The Autoconf
+Manual}), and in particular for the @code{distcheck} rule
+(@pxref{Dist}).
+
+@cindex Exit status 77, special interpretation
+
+The number of failures will be printed at the end of the run.  If a
+given test program exits with a status of 77, then its result is ignored
+in the final count.  This feature allows non-portable tests to be
+ignored in environments where they don't make sense.
+
+The variable @code{TESTS_ENVIRONMENT} can be used to set environment
+variables for the test run; the environment variable @code{srcdir} is
+set in the rule.  If all your test programs are scripts, you can also
+set @code{TESTS_ENVIRONMENT} to an invocation of the shell (e.g.
+@samp{$(SHELL) -x}); this can be useful for debugging the tests.
+@vindex TESTS
+@vindex TESTS_ENVIRONMENT
+
+@cindex Tests, expected failure
+@cindex Expected test failure
+
+You may define the variable @code{XFAIL_TESTS} to a list of tests
+(usually a subset of @code{TESTS}) that are expected to fail.  This will
+reverse the result of those tests.
+@vindex XFAIL_TESTS
+
+Automake ensures that each program listed in @code{TESTS} is built
+before any tests are run; you can list both source and derived programs
+in @code{TESTS}.  For instance, you might want to run a C program as a
+test.  To do this you would list its name in @code{TESTS} and also in
+@code{check_PROGRAMS}, and then specify it as you would any other
+program.
+
+@section DejaGnu Tests
+
+If @uref{ftp://ftp.gnu.org/gnu/dejagnu/, @command{dejagnu}} appears in
+@code{AUTOMAKE_OPTIONS}, then a @command{dejagnu}-based test suite is
+assumed.  The variable @code{DEJATOOL} is a list of names that are
+passed, one at a time, as the @option{--tool} argument to
+@command{runtest} invocations; it defaults to the name of the package.
+
+The variable @code{RUNTESTDEFAULTFLAGS} holds the @option{--tool} and
+@option{--srcdir} flags that are passed to dejagnu by default; this can be
+overridden if necessary.
+@vindex RUNTESTDEFAULTFLAGS
+
+The variables @code{EXPECT} and @code{RUNTEST} can
+also be overridden to provide project-specific values.  For instance,
+you will need to do this if you are testing a compiler toolchain,
+because the default values do not take into account host and target
+names.
+@opindex dejagnu
+@vindex DEJATOOL
+@vindex EXPECT
+@vindex RUNTEST
+
+The contents of the variable @code{RUNTESTFLAGS} are passed to the
+@code{runtest} invocation.  This is considered a ``user variable''
+(@pxref{User Variables}).  If you need to set @command{runtest} flags in
+@file{Makefile.am}, you can use @code{AM_RUNTESTFLAGS} instead.
+@vindex RUNTESTFLAGS
+@vindex AM_RUNTESTFLAGS
+
+@cindex @file{site.exp}
+Automake will generate rules to create a local @file{site.exp} file,
+defining various variables detected by @command{configure}.  This file
+is automatically read by DejaGnu.  It is OK for the user of a package
+to edit this file in order to tune the test suite.  However this is
+not the place where the test suite author should define new variables:
+this should be done elsewhere in the real test suite code.
+Especially, @file{site.exp} should not be distributed.
+
+For more information regarding DejaGnu test suites, see @ref{Top, , ,
+dejagnu, The DejaGnu Manual}.
+
+In either case, the testing is done via @samp{make check}.
+
+@section Install Tests
+
+The @code{installcheck} target is available to the user as a way to
+run any tests after the package has been installed.  You can add tests
+to this by writing an @code{installcheck-local} rule.
+
+
+@node Rebuilding
+@chapter Rebuilding Makefiles
+@cindex rebuild rules
+
+Automake generates rules to automatically rebuild @file{Makefile}s,
+@file{configure}, and other derived files like @file{Makefile.in}.
+
+@acindex AM_MAINTAINER_MODE
+If you are using @code{AM_MAINTAINER_MODE} in @file{configure.ac}, then
+these automatic rebuilding rules are only enabled in maintainer mode.
+
+@vindex ACLOCAL_AMFLAGS
+Sometimes you need to run @command{aclocal} with an argument like
+@option{-I} to tell it where to find @file{.m4} files.  Since
+sometimes @command{make} will automatically run @command{aclocal}, you
+need a way to specify these arguments.  You can do this by defining
+@code{ACLOCAL_AMFLAGS}; this holds arguments that are passed verbatim
+to @command{aclocal}.  This variable is only useful in the top-level
+@file{Makefile.am}.
+
+@vindex CONFIG_STATUS_DEPENDENCIES
+@vindex CONFIGURE_DEPENDENCIES
+@cindex @file{version.sh}, example
+@cindex @file{version.m4}, example
+
+Sometimes it is convenient to supplement the rebuild rules for
+@file{configure} or @file{config.status} with additional dependencies.
+The variables @code{CONFIGURE_DEPENDENCIES} and
+@code{CONFIG_STATUS_DEPENDENCIES} can be used to list these extra
+dependencies.  These variable should be defined in all
+@file{Makefile}s of the tree (because these two rebuild rules are
+output in all them), so it is safer and easier to @code{AC_SUBST} them
+from @file{configure.ac}.  For instance, the following statement will
+cause @file{configure} to be rerun each time @file{version.sh} is
+changed.
+@example
+AC_SUBST([CONFIG_STATUS_DEPENDENCIES], ['$(top_srcdir)/version.sh'])
+@end example
+@noindent
+Note the @samp{$(top_srcdir)/} in the file name.  Since this variable
+is to be used in all @file{Makefile}s, its value must be sensible at
+any level in the build hierarchy.
+
+Beware not to mistake @code{CONFIGURE_DEPENDENCIES} for
+@code{CONFIG_STATUS_DEPENDENCIES}.
+
+@code{CONFIGURE_DEPENDENCIES} adds dependencies to the
+@file{configure} rule, whose effect is to run @command{autoconf}.  This
+variable should be seldom used, because @command{automake} already tracks
+@code{m4_include}d files.  However it can be useful when playing
+tricky games with @code{m4_esyscmd} or similar non-recommendable
+macros with side effects.
+
+@code{CONFIG_STATUS_DEPENDENCIES} adds dependencies to the
+@file{config.status} rule, whose effect is to run @file{configure}.
+This variable should therefore carry any non-standard source that may
+be read as a side effect of running configure, like @file{version.sh}
+in the example above.
+
+Speaking of @file{version.sh} scripts, we recommend against them
+today.  They are mainly used when the version of a package is updated
+automatically by a script (e.g., in daily builds).  Here is what some
+old-style @file{configure.ac}s may look like:
+@example
+AC_INIT
+. $srcdir/version.sh
+AM_INIT_AUTOMAKE([name], $VERSION_NUMBER)
+@dots{}
+@end example
+@noindent
+Here, @file{version.sh} is a shell fragment that sets
+@code{VERSION_NUMBER}.  The problem with this example is that
+@command{automake} cannot track dependencies (listing @file{version.sh}
+in @command{CONFIG_STATUS_DEPENDENCIES}, and distributing this file is up
+to the user), and that it uses the obsolete form of @code{AC_INIT} and
+@code{AM_INIT_AUTOMAKE}.  Upgrading to the new syntax is not
+straightforward, because shell variables are not allowed in
+@code{AC_INIT}'s arguments.  We recommend that @file{version.sh} be
+replaced by an M4 file that is included by @file{configure.ac}:
+@example
+m4_include([version.m4])
+AC_INIT([name], VERSION_NUMBER)
+AM_INIT_AUTOMAKE
+@dots{}
+@end example
+@noindent
+Here @file{version.m4} could contain something like
+@samp{m4_define([VERSION_NUMBER], [1.2])}.  The advantage of this
+second form is that @command{automake} will take care of the
+dependencies when defining the rebuild rule, and will also distribute
+the file automatically.  An inconvenience is that @command{autoconf}
+will now be rerun each time the version number is bumped, when only
+@file{configure} had to be rerun in the previous setup.
+
+
+@node Options
+@chapter Changing Automake's Behavior
+
+Various features of Automake can be controlled by options in the
+@file{Makefile.am}.  Such options are applied on a per-@file{Makefile}
+basis when listed in a special @file{Makefile} variable named
+@code{AUTOMAKE_OPTIONS}.  They are applied globally to all processed
+@file{Makefiles} when listed in the first argument of
+@code{AM_INIT_AUTOMAKE} in @file{configure.ac}.  Currently understood
+options are:
+@vindex AUTOMAKE_OPTIONS
+
+@table @asis
+@item @option{gnits}
+@itemx @option{gnu}
+@itemx @option{foreign}
+@itemx @option{cygnus}
+@cindex Option, @option{gnits}
+@cindex Option, @option{gnu}
+@cindex Option, @option{foreign}
+@cindex Option, @option{cygnus}
+@opindex gnits
+@opindex gnu
+@opindex foreign
+@opindex cygnus
+
+Set the strictness as appropriate.  The @option{gnits} option also
+implies options @option{readme-alpha} and @option{check-news}.
+
+@item @option{ansi2knr}
+@itemx @option{@var{path}/ansi2knr}
+@cindex Option, @option{ansi2knr}
+@opindex ansi2knr
+Turn on automatic de-ANSI-fication.  @xref{ANSI}.  If preceded by a
+path, the generated @file{Makefile.in} will look in the specified
+directory to find the @file{ansi2knr} program.  The path should be a
+relative path to another directory in the same distribution (Automake
+currently does not check this).
+
+@item @option{check-news}
+@cindex Option, @option{check-news}
+@opindex check-news
+Cause @samp{make dist} to fail unless the current version number appears
+in the first few lines of the @file{NEWS} file.
+
+@item @option{dejagnu}
+@cindex Option, @option{dejagnu}
+@opindex dejagnu
+Cause @command{dejagnu}-specific rules to be generated.  @xref{Tests}.
+
+@item @option{dist-bzip2}
+@cindex Option, @option{dist-bzip2}
+@opindex dist-bzip2
+Hook @code{dist-bzip2} to @code{dist}.
+@trindex dist-bzip2
+
+@item @option{dist-shar}
+@cindex Option, @option{dist-shar}
+@opindex dist-shar
+Hook @code{dist-shar} to @code{dist}.
+@trindex dist-shar
+
+@item @option{dist-zip}
+@cindex Option, @option{dist-zip}
+@opindex dist-zip
+Hook @code{dist-zip} to @code{dist}.
+@trindex dist-zip
+
+@item @option{dist-tarZ}
+@cindex Option, @option{dist-tarZ}
+@opindex dist-tarZ
+Hook @code{dist-tarZ} to @code{dist}.
+@trindex dist-tarZ
+
+@item @option{filename-length-max=99}
+@cindex Option, @option{filename-length-max=99}
+@opindex filename-length-max=99
+Abort if file names longer than 99 characters are found during
+@samp{make dist}.  Such long file names are generally considered not to
+be portable in tarballs.  See the @option{tar-v7} and @option{tar-ustar}
+options below.  This option should be used in the top-level
+@file{Makefile.am} or as an argument of @code{AM_INIT_AUTOMAKE} in
+@file{configure.ac}, it will be ignored otherwise.
+
+@item @option{no-define}
+@cindex Option, @option{no-define}
+@opindex no-define
+This options is meaningful only when passed as an argument to
+@code{AM_INIT_AUTOMAKE}.  It will prevent the @code{PACKAGE} and
+@code{VERSION} variables to be @code{AC_DEFINE}d.
+
+@item @option{no-dependencies}
+@cindex Option, @option{no-dependencies}
+@opindex no-dependencies
+This is similar to using @option{--include-deps} on the command line,
+but is useful for those situations where you don't have the necessary
+bits to make automatic dependency tracking work
+(@pxref{Dependencies}).  In this case the effect is to effectively
+disable automatic dependency tracking.
+
+@item @option{no-dist}
+@cindex Option, @option{no-dist}
+@opindex no-dist
+Don't emit any code related to @code{dist} target.  This is useful
+when a package has its own method for making distributions.
+
+@item @option{no-dist-gzip}
+@cindex Option, @option{no-dist-gzip}
+@opindex no-dist-gzip
+Do not hook @code{dist-gzip} to @code{dist}.
+@trindex no-dist-gzip
+
+@item @option{no-exeext}
+@cindex Option, @option{no-exeext}
+@opindex no-exeext
+If your @file{Makefile.am} defines a rule for target @code{foo}, it
+will override a rule for a target named @samp{foo$(EXEEXT)}.  This is
+necessary when @code{EXEEXT} is found to be empty.  However, by
+default automake will generate an error for this use.  The
+@option{no-exeext} option will disable this error.  This is intended for
+use only where it is known in advance that the package will not be
+ported to Windows, or any other operating system using extensions on
+executables.
+
+@item @option{no-installinfo}
+@cindex Option, @option{no-installinfo}
+@opindex no-installinfo
+The generated @file{Makefile.in} will not cause info pages to be built
+or installed by default.  However, @code{info} and @code{install-info}
+targets will still be available.  This option is disallowed at
+@option{gnu} strictness and above.
+@trindex info
+@trindex install-info
+
+@item @option{no-installman}
+@cindex Option, @option{no-installman}
+@opindex no-installman
+The generated @file{Makefile.in} will not cause man pages to be
+installed by default.  However, an @code{install-man} target will still
+be available for optional installation.  This option is disallowed at
+@option{gnu} strictness and above.
+@trindex install-man
+
+@item @option{nostdinc}
+@cindex Option, @option{nostdinc}
+@opindex nostdinc
+This option can be used to disable the standard @option{-I} options that
+are ordinarily automatically provided by Automake.
+
+@item @option{no-texinfo.tex}
+@cindex Option, @option{no-texinfo.tex}
+@opindex no-texinfo.tex
+Don't require @file{texinfo.tex}, even if there are texinfo files in
+this directory.
+
+@item @option{readme-alpha}
+@cindex Option, @option{readme-alpha}
+@opindex readme-alpha
+If this release is an alpha release, and the file @file{README-alpha}
+exists, then it will be added to the distribution.  If this option is
+given, version numbers are expected to follow one of two forms.  The
+first form is @samp{@var{MAJOR}.@var{MINOR}.@var{ALPHA}}, where each
+element is a number; the final period and number should be left off for
+non-alpha releases.  The second form is
+@samp{@var{MAJOR}.@var{MINOR}@var{ALPHA}}, where @var{ALPHA} is a
+letter; it should be omitted for non-alpha releases.
+
+@item @option{std-options}
+@cindex Options, @option{std-options}
+@cindex @samp{make installcheck}, testing @option{--help} and @option{--version}
+@cindex @option{--help} check
+@cindex @option{--version} check
+@opindex std-options
+
+Make the @code{installcheck} rule check that installed scripts and
+programs support the @option{--help} and @option{--version} options.
+This also provides a basic check that the program's
+run-time dependencies are satisfied after installation.
+
+@vindex AM_INSTALLCHECK_STD_OPTIONS_EXEMPT
+In a few situations, programs (or scripts) have to be exempted from this
+test.  For instance, @command{false} (from GNU sh-utils) is never
+successful, even for @option{--help} or @option{--version}.  You can list
+such programs in the variable @code{AM_INSTALLCHECK_STD_OPTIONS_EXEMPT}.
+Programs (not scripts) listed in this variable should be suffixed by
+@samp{$(EXEEXT)} for the sake of Win32 or OS/2.  For instance, suppose we
+build @file{false} as a program but @file{true.sh} as a script, and that
+neither of them support @option{--help} or @option{--version}:
+
+@example
+AUTOMAKE_OPTIONS = std-options
+bin_PROGRAMS = false ...
+bin_SCRIPTS = true.sh ...
+AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = false$(EXEEXT) true.sh
+@end example
+
+@item @option{subdir-objects}
+@cindex Options, @option{subdir-objects}
+@opindex subdir-objects
+If this option is specified, then objects are placed into the
+subdirectory of the build directory corresponding to the subdirectory of
+the source file.  For instance, if the source file is
+@file{subdir/file.cxx}, then the output file would be
+@file{subdir/file.o}.
+
+@item @option{tar-v7}
+@itemx @option{tar-ustar}
+@itemx @option{tar-pax}
+@cindex Option, @option{tar-v7}
+@cindex Option, @option{tar-ustar}
+@cindex Option, @option{tar-pax}
+@cindex @command{tar} formats
+@cindex v7 @command{tar} format
+@cindex ustar format
+@cindex pax format
+@opindex tar-v7
+@opindex tar-ustar
+@opindex tar-pax
+
+These three mutually exclusive options select the tar format to use
+when generating tarballs with @samp{make dist}.  (The tar file created
+is then compressed according to the set of @option{no-dist-gzip},
+@option{dist-bzip2} and @option{dist-tarZ} options in use.)
+
+These options must be passed as argument to @code{AM_INIT_AUTOMAKE}
+(@pxref{Macros}) because they can require additional configure checks.
+Automake will complain if it sees such options in an
+@code{AUTOMAKE_OPTIONS} variable.
+
+@option{tar-v7} selects the old V7 tar format.  This is the historical
+default.  This antiquated format is understood by all tar
+implementations and supports file names with up to 99 characters.  When
+given longer file names some tar implementations will diagnose the
+problem while other will generate broken tarballs or use non-portable
+extensions.  Furthermore, the V7 format cannot store empty
+directories.  When using this format, consider using the
+@option{filename-length-max=99} option to catch file names too long.
+
+@option{tar-ustar} selects the ustar format defined by POSIX
+1003.1-1988.  This format is believed to be old enough to be portable.
+It fully supports empty directories.  It can store file names with up
+to 256 characters, provided that the file name can be split at
+directory separator in two parts, first of them being at most 155
+bytes long.  So, in most cases the maximum file name length will be
+shorter than 256 characters.  However you may run against broken tar
+implementations that incorrectly handle file names longer than 99
+characters (please report them to @email{bug-automake@@gnu.org} so we
+can document this accurately).
+
+@option{tar-pax} selects the new pax interchange format defined by POSIX
+1003.1-2001.  It does not limit the length of file names.  However,
+this format is very young and should probably be restricted to
+packages that target only very modern platforms.  There are moves to
+change the pax format in an upward-compatible way, so this option may
+refer to a more recent version in the future.
+
+@xref{Formats, , Controlling the Archive Format, tar, GNU Tar}, for
+further discussion about tar formats.
+
+@command{configure} knows several ways to construct these formats.  It
+will not abort if it cannot find a tool up to the task (so that the
+package can still be built), but @samp{make dist} will fail.
+
+@item @var{version}
+@cindex Option, @var{version}
+A version number (e.g., @samp{0.30}) can be specified.  If Automake is not
+newer than the version specified, creation of the @file{Makefile.in}
+will be suppressed.
+
+@item @option{-W@var{category}} or @option{--warnings=@var{category}}
+@cindex Option, warnings
+@cindex Option, @option{-W@var{category}}
+@cindex Option, @option{--warnings=@var{category}}
+These options behave exactly like their command-line counterpart
+(@pxref{Invoking Automake}).  This allows you to enable or disable some
+warning categories on a per-file basis.  You can also setup some warnings
+for your entire project; for instance, try @samp{AM_INIT_AUTOMAKE([-Wall])}
+in your @file{configure.ac}.
+
+@end table
+
+Unrecognized options are diagnosed by @command{automake}.
+
+If you want an option to apply to all the files in the tree, you can use
+the @code{AM_INIT_AUTOMAKE} macro in @file{configure.ac}.
+@xref{Macros}.
+
+
+@node Miscellaneous
+@chapter Miscellaneous Rules
+
+There are a few rules and variables that didn't fit anywhere else.
+
+@menu
+* Tags::                        Interfacing to etags and mkid
+* Suffixes::                    Handling new file extensions
+* Multilibs::                   Support for multilibs.
+@end menu
+
+
+@node Tags
+@section Interfacing to @command{etags}
+
+@cindex @file{TAGS} support
+
+Automake will generate rules to generate @file{TAGS} files for use with
+GNU Emacs under some circumstances.
+
+@trindex tags
+If any C, C++ or Fortran 77 source code or headers are present, then
+@code{tags} and @code{TAGS} rules will be generated for the directory.
+All files listed using the @code{_SOURCES}, @code{_HEADERS}, and
+@code{_LISP} primaries will be used to generate tags.  Note that
+generated source files that are not distributed must be declared in
+variables like @code{nodist_noinst_HEADERS} or
+@code{nodist_@var{prog}_SOURCES} or they will be ignored.
+
+A @code{tags} rule will be output at the topmost directory of a
+multi-directory package.  When run from this topmost directory,
+@samp{make tags} will generate a @file{TAGS} file that includes by
+reference all @file{TAGS} files from subdirectories.
+
+The @code{tags} rule will also be generated if the variable
+@code{ETAGS_ARGS} is defined.  This variable is intended for use in
+directories that contain taggable source that @command{etags} does
+not understand.  The user can use the @code{ETAGSFLAGS} to pass
+additional flags to @command{etags}; @code{AM_ETAGSFLAGS} is also
+available for use in @file{Makefile.am}.
+@vindex ETAGS_ARGS
+@vindex ETAGSFLAGS
+@vindex AM_ETAGSFLAGS
+
+Here is how Automake generates tags for its source, and for nodes in its
+Texinfo file:
+
+@example
+ETAGS_ARGS = automake.in --lang=none \
+ --regex='/^@@node[ \t]+\([^,]+\)/\1/' automake.texi
+@end example
+
+If you add file names to @code{ETAGS_ARGS}, you will probably also
+want to define @code{TAGS_DEPENDENCIES}.  The contents of this variable
+are added directly to the dependencies for the @code{tags} rule.
+@vindex TAGS_DEPENDENCIES
+
+Automake also generates a @code{ctags} rule that can be used to
+build @command{vi}-style @file{tags} files.  The variable @code{CTAGS}
+is the name of the program to invoke (by default @command{ctags});
+@code{CTAGSFLAGS} can be used by the user to pass additional flags,
+and @code{AM_CTAGSFLAGS} can be used by the @file{Makefile.am}.
+
+Automake will also generate an @code{ID} rule that will run
+@command{mkid} on the source.  This is only supported on a
+directory-by-directory basis.
+@trindex id
+
+Finally, Automake also emit rules to support the
+@uref{http://www.gnu.org/software/global/, GNU Global Tags program}.
+The @code{GTAGS} rule runs Global Tags and puts the
+result in the top build directory.  The variable @code{GTAGS_ARGS}
+holds arguments that are passed to @command{gtags}.
+@vindex GTAGS_ARGS
+
+
+@node Suffixes
+@section Handling new file extensions
+
+@cindex Adding new @code{SUFFIXES}
+@cindex @code{SUFFIXES}, adding
+@vindex SUFFIXES
+
+It is sometimes useful to introduce a new implicit rule to handle a file
+type that Automake does not know about.
+
+For instance, suppose you had a compiler that could compile @file{.foo}
+files to @file{.o} files.  You would simply define an suffix rule for
+your language:
+
+@example
+.foo.o:
+        foocc -c -o $@@ $<
+@end example
+
+Then you could directly use a @file{.foo} file in a @code{_SOURCES}
+variable and expect the correct results:
+
+@example
+bin_PROGRAMS = doit
+doit_SOURCES = doit.foo
+@end example
+
+This was the simpler and more common case.  In other cases, you will
+have to help Automake to figure which extensions you are defining your
+suffix rule for.  This usually happens when your extensions does not
+start with a dot.  Then, all you have to do is to put a list of new
+suffixes in the @code{SUFFIXES} variable @strong{before} you define your
+implicit rule.
+
+For instance, the following definition prevents Automake to misinterpret
+@samp{.idlC.cpp:} as an attempt to transform @file{.idlC} files into
+@file{.cpp} files.
+
+@example
+SUFFIXES = .idl C.cpp
+.idlC.cpp:
+        # whatever
+@end example
+
+As you may have noted, the @code{SUFFIXES} variable behaves like the
+@code{.SUFFIXES} special target of @command{make}.  You should not touch
+@code{.SUFFIXES} yourself, but use @code{SUFFIXES} instead and let
+Automake generate the suffix list for @code{.SUFFIXES}.  Any given
+@code{SUFFIXES} go at the start of the generated suffixes list, followed
+by Automake generated suffixes not already in the list.
+
+@node Multilibs
+@section Support for Multilibs
+
+Automake has support for an obscure feature called multilibs.  A
+@dfn{multilib} is a library that is built for multiple different ABIs
+at a single time; each time the library is built with a different target
+flag combination.  This is only useful when the library is intended to
+be cross-compiled, and it is almost exclusively used for compiler
+support libraries.
+
+The multilib support is still experimental.  Only use it if you are
+familiar with multilibs and can debug problems you might encounter.
+
+
+@node Include
+@chapter Include
+
+@cmindex include
+@cindex Including @file{Makefile} fragment
+@cindex @file{Makefile} fragment, including
+
+Automake supports an @code{include} directive that  can be used to
+include other @file{Makefile} fragments when @command{automake} is run.
+Note that these fragments are read and interpreted by @command{automake},
+not by @command{make}.  As with conditionals, @command{make} has no idea that
+@code{include} is in use.
+
+There are two forms of @code{include}:
+
+@table @code
+@item include $(srcdir)/file
+Include a fragment that is found relative to the current source
+directory.
+
+@item include $(top_srcdir)/file
+Include a fragment that is found relative to the top source directory.
+@end table
+
+Note that if a fragment is included inside a conditional, then the
+condition applies to the entire contents of that fragment.
+
+Makefile fragments included this way are always distributed because
+they are needed to rebuild @file{Makefile.in}.
+
+@node Conditionals
+@chapter Conditionals
+
+@cindex Conditionals
+
+Automake supports a simple type of conditionals.
+
+@acindex AM_CONDITIONAL
+Before using a conditional, you must define it by using
+@code{AM_CONDITIONAL} in the @file{configure.ac} file (@pxref{Macros}).
+
+@defmac AM_CONDITIONAL (@var{conditional}, @var{condition})
+The conditional name, @var{conditional}, should be a simple string
+starting with a letter and containing only letters, digits, and
+underscores.  It must be different from @samp{TRUE} and @samp{FALSE}
+that are reserved by Automake.
+
+The shell @var{condition} (suitable for use in a shell @code{if}
+statement) is evaluated when @command{configure} is run.  Note that you
+must arrange for @emph{every} @code{AM_CONDITIONAL} to be invoked every
+time @command{configure} is run.  If @code{AM_CONDITIONAL} is run
+conditionally (e.g., in a shell @code{if} statement), then the result
+will confuse automake.
+@end defmac
+
+@cindex @option{--enable-debug}, example
+@cindex Example conditional @option{--enable-debug}
+@cindex Conditional example, @option{--enable-debug}
+
+Conditionals typically depend upon options that the user provides to
+the @command{configure} script.  Here is an example of how to write a
+conditional that is true if the user uses the @option{--enable-debug}
+option.
+
+@example
+AC_ARG_ENABLE(debug,
+[  --enable-debug    Turn on debugging],
+[case "$@{enableval@}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value $@{enableval@} for --enable-debug) ;;
+esac],[debug=false])
+AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+@end example
+
+Here is an example of how to use that conditional in @file{Makefile.am}:
+
+@cmindex if
+@cmindex endif
+@cmindex else
+
+@example
+if DEBUG
+DBG = debug
+else
+DBG =
+endif
+noinst_PROGRAMS = $(DBG)
+@end example
+
+This trivial example could also be handled using @code{EXTRA_PROGRAMS}
+(@pxref{Conditional Programs}).
+
+You may only test a single variable in an @code{if} statement, possibly
+negated using @samp{!}.  The @code{else} statement may be omitted.
+Conditionals may be nested to any depth.  You may specify an argument to
+@code{else} in which case it must be the negation of the condition used
+for the current @code{if}.  Similarly you may specify the condition
+that is closed by an @code{end}:
+
+@example
+if DEBUG
+DBG = debug
+else !DEBUG
+DBG =
+endif !DEBUG
+@end example
+
+@noindent
+Unbalanced conditions are errors.
+
+Note that conditionals in Automake are not the same as conditionals in
+GNU Make.  Automake conditionals are checked at configure time by the
+@file{configure} script, and affect the translation from
+@file{Makefile.in} to @file{Makefile}.  They are based on options passed
+to @file{configure} and on results that @file{configure} has discovered
+about the host system.  GNU Make conditionals are checked at @command{make}
+time, and are based on variables passed to the make program or defined
+in the @file{Makefile}.
+
+Automake conditionals will work with any make program.
+
+
+@node Gnits
+@chapter The effect of @option{--gnu} and @option{--gnits}
+
+@cindex @option{--gnu}, required files
+@cindex @option{--gnu}, complete description
+
+The @option{--gnu} option (or @option{gnu} in the
+@code{AUTOMAKE_OPTIONS} variable) causes @command{automake} to check
+the following:
+
+@itemize @bullet
+@item
+The files @file{INSTALL}, @file{NEWS}, @file{README}, @file{AUTHORS},
+and @file{ChangeLog}, plus one of @file{COPYING.LIB}, @file{COPYING.LESSER}
+or @file{COPYING}, are required at the topmost directory of the package.
+
+@item
+The options @option{no-installman} and @option{no-installinfo} are
+prohibited.
+@end itemize
+
+Note that this option will be extended in the future to do even more
+checking; it is advisable to be familiar with the precise requirements
+of the GNU standards.  Also, @option{--gnu} can require certain
+non-standard GNU programs to exist for use by various maintainer-only
+rules; for instance, in the future @command{pathchk} might be required for
+@samp{make dist}.
+
+@cindex @option{--gnits}, complete description
+
+The @option{--gnits} option does everything that @option{--gnu} does, and
+checks the following as well:
+
+@itemize @bullet
+@item
+@samp{make installcheck} will check to make sure that the @option{--help}
+and @option{--version} really print a usage message and a version string,
+respectively.  This is the @option{std-options} option (@pxref{Options}).
+
+@item
+@samp{make dist} will check to make sure the @file{NEWS} file has been
+updated to the current version.
+
+@item
+@code{VERSION} is checked to make sure its format complies with Gnits
+standards.
+@c FIXME xref when standards are finished
+
+@item
+@cindex @file{README-alpha}
+If @code{VERSION} indicates that this is an alpha release, and the file
+@file{README-alpha} appears in the topmost directory of a package, then
+it is included in the distribution.  This is done in @option{--gnits}
+mode, and no other, because this mode is the only one where version
+number formats are constrained, and hence the only mode where Automake
+can automatically determine whether @file{README-alpha} should be
+included.
+
+@item
+The file @file{THANKS} is required.
+@end itemize
+
+
+@node Cygnus
+@chapter The effect of @option{--cygnus}
+
+@cindex @option{cygnus} strictness
+
+Some packages, notably GNU GCC and GNU gdb, have a build environment
+originally written at Cygnus Support (subsequently renamed Cygnus
+Solutions, and then later purchased by Red Hat).  Packages with this
+ancestry are sometimes referred to as ``Cygnus'' trees.
+
+A Cygnus tree has slightly different rules for how a
+@file{Makefile.in} is to be constructed.  Passing @option{--cygnus} to
+@command{automake} will cause any generated @file{Makefile.in} to
+comply with Cygnus rules.
+
+Here are the precise effects of @option{--cygnus}:
+
+@itemize @bullet
+@item
+Info files are always created in the build directory, and not in the
+source directory.
+
+@item
+@file{texinfo.tex} is not required if a Texinfo source file is
+specified.  The assumption is that the file will be supplied, but in a
+place that Automake cannot find.  This assumption is an artifact of how
+Cygnus packages are typically bundled.
+
+@item
+@samp{make dist} is not supported, and the rules for it are not
+generated.  Cygnus-style trees use their own distribution mechanism.
+
+@item
+Certain tools will be searched for in the build tree as well as in the
+user's @env{PATH}.  These tools are @command{runtest}, @command{expect},
+@command{makeinfo} and @command{texi2dvi}.
+
+@item
+@option{--foreign} is implied.
+
+@item
+The options @option{no-installinfo} and @option{no-dependencies} are
+implied.
+
+@item
+The macros @code{AM_MAINTAINER_MODE} and @code{AM_CYGWIN32} are
+required.
+
+@item
+The @code{check} target doesn't depend on @code{all}.
+@end itemize
+
+GNU maintainers are advised to use @option{gnu} strictness in preference
+to the special Cygnus mode.  Some day, perhaps, the differences between
+Cygnus trees and GNU trees will disappear (for instance, as GCC is made
+more standards compliant).  At that time the special Cygnus mode will be
+removed.
+
+
+@node Not Enough
+@chapter When Automake Isn't Enough
+
+In some situations, where Automake is not up to one task, one has to
+resort to handwritten rules or even handwritten @file{Makefile}s.
+
+@menu
+* Extending::                   Adding new rules or overriding existing ones.
+* Third-Party Makefiles::       Integrating Non-Automake @file{Makefile}s.
+@end menu
+
+@node Extending
+@section Extending Automake Rules
+
+With some minor exceptions (like @code{_PROGRAMS} variables being
+rewritten to append @samp{$(EXEEXT)}), the contents of a
+@file{Makefile.am} is copied to @file{Makefile.in} verbatim.
+
+@cindex copying semantics
+
+These copying semantics means that many problems can be worked around
+by simply adding some @command{make} variables and rules to
+@file{Makefile.am}.  Automake will ignore these additions.
+
+@cindex conflicting definitions
+@cindex rules, conflicting
+@cindex variables, conflicting
+@cindex definitions, conflicts
+
+Since a @file{Makefile.in} is built from data gathered from three
+different places (@file{Makefile.am}, @file{configure.ac}, and
+@command{automake} itself), it is possible to have conflicting
+definitions of rules or variables.  When building @file{Makefile.in}
+the following priorities are respected by @command{automake} to ensure
+the user always have the last word.  User defined variables in
+@file{Makefile.am} have priority over variables @code{AC_SUBST}ed from
+@file{configure.ac}, and @code{AC_SUBST}ed variables have priority
+over @command{automake}-defined variables.  As far rules are
+concerned, a user-defined rule overrides any
+@command{automake}-defined rule for the same target.
+
+@cindex overriding rules
+@cindex overriding semantics
+@cindex rules, overriding
+
+These overriding semantics make it possible to fine tune some default
+settings of Automake, or replace some of its rules.  Overriding
+Automake rules is often inadvisable, particularly in the topmost
+directory of a package with subdirectories.  The @option{-Woverride}
+option (@pxref{Invoking Automake}) comes handy to catch overridden
+definitions.
+
+Note that Automake does not make any difference between rules with
+commands and rules that only specify dependencies.  So it is not
+possible to append new dependencies to an @command{automake}-defined
+target without redefining the entire rule.
+
+@cindex @option{-local} targets
+@cindex local targets
+
+However, various useful targets have a @samp{-local} version you can
+specify in your @file{Makefile.am}.  Automake will supplement the
+standard target with these user-supplied targets.
+
+@trindex  all
+@trindex  all-local
+@trindex  info
+@trindex  info-local
+@trindex  dvi
+@trindex  dvi-local
+@trindex  ps
+@trindex  ps-local
+@trindex  pdf
+@trindex  pdf-local
+@trindex  html
+@trindex  html-local
+@trindex  check
+@trindex  check-local
+@trindex  install
+@trindex  install-data-local
+@trindex  install-exec
+@trindex  install-exec-local
+@trindex  uninstall
+@trindex  uninstall-local
+@trindex  mostlyclean
+@trindex  mostlyclean-local
+@trindex  clean
+@trindex  clean-local
+@trindex  distclean
+@trindex  distclean-local
+@trindex  installdirs
+@trindex  installdirs-local
+@trindex  installcheck
+@trindex  installcheck-local
+
+The targets that support a local version are @code{all}, @code{info},
+@code{dvi}, @code{ps}, @code{pdf}, @code{html}, @code{check},
+@code{install-data}, @code{install-exec}, @code{uninstall},
+@code{installdirs}, @code{installcheck} and the various @code{clean} targets
+(@code{mostlyclean}, @code{clean}, @code{distclean}, and
+@code{maintainer-clean}).
+
+Note that there are no @code{uninstall-exec-local} or
+@code{uninstall-data-local} targets; just use @code{uninstall-local}.
+It doesn't make sense to uninstall just data or just executables.
+
+For instance, here is one way to erase a subdirectory during
+@samp{make clean} (@pxref{Clean}).
+
+@example
+clean-local:
+        -rm -rf testSubDir
+@end example
+
+Older version of this manual used to show how to use
+@code{install-data-local} to install a file to some hard-coded
+location, but you should avoid this.  (@pxref{Hard-Coded Install Paths})
+
+@cindex @option{-hook} targets
+@cindex hook targets
+
+Some rule also have a way to run another rule, called a @dfn{hook},
+after their work is done.  The hook is named after the principal target,
+with @samp{-hook} appended.  The targets allowing hooks are
+@code{install-data}, @code{install-exec}, @code{uninstall}, @code{dist},
+and @code{distcheck}.
+@trindex install-data-hook
+@trindex install-exec-hook
+@trindex uninstall-hook
+@trindex dist-hook
+
+For instance, here is how to create a hard link to an installed program:
+
+@example
+install-exec-hook:
+        ln $(DESTDIR)$(bindir)/program$(EXEEXT) \
+           $(DESTDIR)$(bindir)/proglink$(EXEEXT)
+@end example
+
+Although cheaper and more portable than symbolic links, hard links
+will not work everywhere (for instance, OS/2 does not have
+@command{ln}).  Ideally you should fall back to @samp{cp -p} when
+@command{ln} does not work.  An easy way, if symbolic links are
+acceptable to you, is to add @code{AC_PROG_LN_S} to
+@file{configure.ac} (@pxref{Particular Programs, , Particular Program
+Checks, autoconf, The Autoconf Manual}) and use @samp{$(LN_S)} in
+@file{Makefile.am}.
+
+@cindex versioned binaries, installing
+@cindex installing versioned binaries
+@cindex @code{LN_S} example
+For instance, here is how you could install a versioned copy of a
+program using @samp{$(LN_S)}:
+
+@example
+install-exec-hook:
+        cd $(DESTDIR)$(bindir) && \
+          mv -f prog$(EXEEXT) prog-$(VERSION)$(EXEEXT) && \
+          $(LN_S) prog-$(VERSION)$(EXEEXT) prog$(EXEEXT)
+@end example
+
+Note that we rename the program so that a new version will erase the
+symbolic link, not the real binary.  Also we @command{cd} into the
+destination directory in order to create relative links.
+
+When writing @code{install-exec-hook} or @code{install-data-hook},
+please bear in mind that the exec/data distinction is based on the
+installation directory, not on the primary used (@pxref{Install}).  So
+a @code{foo_SCRIPTS} will be installed by @code{install-data}, and a
+@code{barexec_SCRIPTS} will be installed by @code{install-exec}.  You
+should define your hooks consequently.
+
+@c FIXME should include discussion of variables you can use in these
+@c rules
+
+@node Third-Party Makefiles
+@section Third-Party @file{Makefile}s
+
+@cindex Third-party packages, interfacing with
+@cindex Interfacing with third-party packages
+
+In most projects all @file{Makefile}s are generated by Automake.  In
+some cases, however, projects need to embed subdirectories with
+handwritten @file{Makefile}s.  For instance, one subdirectory could be
+a third-party project with its own build system, not using Automake.
+
+It is possible to list arbitrary directories in @code{SUBDIRS} or
+@code{DIST_SUBDIRS} provided each of these directories has a
+@file{Makefile} that recognizes all the following recursive targets.
+
+@cindex recursive targets and third-party @file{Makefile}s
+When a user runs one of these targets, that target is run recursively
+in all subdirectories.  This is why it is important that even
+third-party @file{Makefile}s support them.
+
+@table @code
+@item all
+Compile the entire package.  This is the default target in
+Automake-generated @file{Makefile}s, but it does not need to be the
+default in third-party @file{Makefile}s.
+
+@item distdir
+@trindex distdir
+@vindex distdir
+@vindex top_distdir
+Copy files to distribute into @samp{$(distdir)}, before a tarball is
+constructed.  Of course this target is not required if the
+@option{no-dist} option (@pxref{Options}) is used.
+
+The variables @samp{$(top_distdir)} and @samp{$(distdir)}
+(@pxref{Dist}) will be passed from the outer package to the subpackage
+when the @code{distdir} target is invoked.  These two variables have
+been adjusted for the directory that is being recursed into, so they
+are ready to use.
+
+@item install
+@itemx install-data
+@itemx install-exec
+@itemx uninstall
+Install or uninstall files (@pxref{Install}).
+
+@item install-info
+Install only the Texinfo documentation (@pxref{Texinfo}).
+
+@item installdirs
+Create install directories, but do not install any files.
+
+@item check
+@itemx installcheck
+Check the package (@pxref{Tests}).
+
+@item mostlyclean
+@itemx clean
+@itemx distclean
+@itemx maintainer-clean
+Cleaning rules (@pxref{Clean}).
+
+@item dvi
+@itemx pdf
+@itemx ps
+@itemx info
+@itemx html
+Build the documentation in various formats (@pxref{Texinfo}).
+
+@item tags
+@itemx ctags
+Build @file{TAGS} and @file{CTAGS} (@pxref{Tags}).
+@end table
+
+If you have ever used Gettext in a project, this is a good example of
+how third-party @file{Makefile}s can be used with Automake.  The
+@file{Makefile}s @command{gettextize} puts in the @file{po/} and
+@file{intl/} directories are handwritten @file{Makefile}s that
+implement all these targets.  That way they can be added to
+@code{SUBDIRS} in Automake packages.
+
+Directories that are only listed in @code{DIST_SUBDIRS} but not in
+@code{SUBDIRS} need only the @code{distclean},
+@code{maintainer-clean}, and @code{distdir} rules (@pxref{Conditional
+Subdirectories}).
+
+Usually, many of these rules are irrelevant to the third-party
+subproject, but they are required for the whole package to work.  It's
+OK to have a rule that does nothing, so if you are integrating a
+third-party project with no documentation or tag support, you could
+simply augment its @file{Makefile} as follows:
+
+@example
+EMPTY_AUTOMAKE_TARGETS = dvi pdf ps info html tags ctags
+.PHONY: $(EMPTY_AUTOMAKE_TARGETS)
+$(EMPTY_AUTOMAKE_TARGETS):
+@end example
+
+Another aspect of integrating third-party build systems is whether
+they support VPATH builds.  Obviously if the subpackage does not
+support VPATH builds the whole package will not support VPATH builds.
+This in turns means that @samp{make distcheck} will not work, because
+it relies on VPATH builds.  Some people can live without this
+(actually, many Automake users have never heard of @samp{make
+distcheck}).  Other people may prefer to revamp the existing
+@file{Makefile}s to support VPATH@.  Doing so does not necessarily
+require Automake, only Autoconf is needed (@pxref{Build Directories, ,
+Build Directories, autoconf, The Autoconf Manual}).  The necessary
+substitutions: @samp{@@scrdir@@}, @samp{@@top_srcdir@@}, and
+@samp{@@top_builddir@@} are defined by @file{configure} when it
+processes a @file{Makefile} (@pxref{Preset Output Variables, , Preset
+Output Variables, autoconf, The Autoconf Manual}), they are not
+computed by the Makefile like the aforementioned @samp{$(distdir)} and
+@samp{$(top_distdir)} variables..
+
+It is sometimes inconvenient to modify a third-party @file{Makefile}
+to introduce the above required targets.  For instance, one may want to
+keep the third-party sources untouched to ease upgrades to new
+versions.
+
+@cindex @file{GNUmakefile} including @file{Makefile}
+Here are two other ideas.  If GNU make is assumed, one possibility is
+to add to that subdirectory a @file{GNUmakefile} that defines the
+required targets and include the third-party @file{Makefile}.  For
+this to work in VPATH builds, @file{GNUmakefile} must lie in the build
+directory; the easiest way to do this is to write a
+@file{GNUmakefile.in} instead, and have it processed with
+@code{AC_CONFIG_FILES} from the outer package.  For example if we
+assume @file{Makefile} defines all targets except the documentation
+targets, and that the @code{check} target is actually called
+@code{test}, we could write @file{GNUmakefile} (or
+@file{GNUmakefile.in}) like this:
+
+@example
+# First, include the real Makefile
+include Makefile
+# Then, define the other targets needed by Automake Makefiles.
+.PHONY: dvi pdf ps info html check
+dvi pdf ps info html:
+check: test
+@end example
+
+@cindex Proxy @file{Makefile} for third-party packages
+A similar idea that does not use @code{include} is to write a proxy
+@file{Makefile} that dispatches rules to the real @file{Makefile},
+either with @samp{$(MAKE) -f Makefile.real $(AM_MAKEFLAGS) target} (if
+it's OK to rename the original @file{Makefile}) or with @samp{cd
+subdir && $(MAKE) $(AM_MAKEFLAGS) target} (if it's OK to store the
+subdirectory project one directory deeper).  The good news is that
+this proxy @file{Makefile} can be generated with Automake.  All we
+need are @option{-local} targets (@pxref{Extending}) that perform the
+dispatch.  Of course the other Automake features are available, so you
+could decide to let Automake perform distribution or installation.
+Here is a possible @file{Makefile.am}:
+
+@example
+all-local:
+        cd subdir && $(MAKE) $(AM_MAKEFLAGS) all
+check-local:
+        cd subdir && $(MAKE) $(AM_MAKEFLAGS) test
+clean-local:
+        cd subdir && $(MAKE) $(AM_MAKEFLAGS) clean
+
+# Assuming the package knows how to install itself
+install-data-local:
+        cd subdir && $(MAKE) $(AM_MAKEFLAGS) install-data
+install-exec-local:
+        cd subdir && $(MAKE) $(AM_MAKEFLAGS) install-exec
+uninstall-local:
+        cd subdir && $(MAKE) $(AM_MAKEFLAGS) uninstall
+
+# Distribute files from here.
+EXTRA_DIST = subdir/Makefile subdir/program.c ...
+@end example
+
+Pushing this idea to the extreme, it is also possible to ignore the
+subproject build system and build everything from this proxy
+@file{Makefile.am}.  This might sounds very sensible if you need VPATH
+builds but the subproject does not support them.
+
+@node Distributing
+@chapter Distributing @file{Makefile.in}s
+
+Automake places no restrictions on the distribution of the resulting
+@file{Makefile.in}s.  We still encourage software authors to
+distribute their work under terms like those of the GPL, but doing so
+is not required to use Automake.
+
+Some of the files that can be automatically installed via the
+@option{--add-missing} switch do fall under the GPL@.  However, these also
+have a special exception allowing you to distribute them with your
+package, regardless of the licensing you choose.
+
+
+@node API versioning
+@chapter Automake API versioning
+
+New Automake releases usually include bug fixes and new features.
+Unfortunately they may also introduce new bugs and incompatibilities.
+This makes four reasons why a package may require a particular Automake
+version.
+
+Things get worse when maintaining a large tree of packages, each one
+requiring a different version of Automake.  In the past, this meant that
+any developer (and sometime users) had to install several versions of
+Automake in different places, and switch @samp{$PATH} appropriately for
+each package.
+
+Starting with version 1.6, Automake installs versioned binaries.  This
+means you can install several versions of Automake in the same
+@samp{$prefix}, and can select an arbitrary Automake version by running
+@command{automake-1.6} or @command{automake-1.7} without juggling with
+@samp{$PATH}.  Furthermore, @file{Makefile}'s generated by Automake 1.6
+will use @command{automake-1.6} explicitly in their rebuild rules.
+
+The number @samp{1.6} in @command{automake-1.6} is Automake's API version,
+not Automake's version.  If a bug fix release is made, for instance
+Automake 1.6.1, the API version will remain 1.6.  This means that a
+package that works with Automake 1.6 should also work with 1.6.1; after
+all, this is what people expect from bug fix releases.
+
+If your package relies on a feature or a bug fix introduced in
+a release, you can pass this version as an option to Automake to ensure
+older releases will not be used.  For instance, use this in your
+@file{configure.ac}:
+
+@example
+  AM_INIT_AUTOMAKE(1.6.1)    dnl Require Automake 1.6.1 or better.
+@end example
+@noindent
+or, in a particular @file{Makefile.am}:
+
+@example
+  AUTOMAKE_OPTIONS = 1.6.1   # Require Automake 1.6.1 or better.
+@end example
+@noindent
+Automake will print an error message if its version is
+older than the requested version.
+
+
+@heading What is in the API
+
+Automake's programming interface is not easy to define.  Basically it
+should include at least all @strong{documented} variables and targets
+that a @file{Makefile.am} author can use, any behavior associated with
+them (e.g., the places where @samp{-hook}'s are run), the command line
+interface of @command{automake} and @command{aclocal}, @dots{}
+
+@heading What is not in the API
+
+Every undocumented variable, target, or command line option, is not part
+of the API@.  You should avoid using them, as they could change from one
+version to the other (even in bug fix releases, if this helps to fix a
+bug).
+
+If it turns out you need to use such a undocumented feature, contact
+@email{automake@@gnu.org} and try to get it documented and exercised by
+the test-suite.
+
+@node Upgrading
+@chapter Upgrading a Package to a Newer Automake Version
+
+Automake maintains three kind of files in a package.
+
+@itemize
+@item @file{aclocal.m4}
+@item @file{Makefile.in}s
+@item auxiliary tools like @file{install-sh} or @file{py-compile}
+@end itemize
+
+@file{aclocal.m4} is generated by @command{aclocal} and contains some
+Automake-supplied M4 macros.  Auxiliary tools are installed by
+@samp{automake --add-missing} when needed.  @file{Makefile.in}s are
+built from @file{Makefile.am} by @command{automake}, and rely on the
+definitions of the M4 macros put in @file{aclocal.m4} as well as the
+behavior of the auxiliary tools installed.
+
+Because all these files are closely related, it is important to
+regenerate all of them when upgrading to a newer Automake release.
+The usual way to do that is
+
+@example
+aclocal # with any option needed (such a -I m4)
+autoconf
+automake --add-missing --force-missing
+@end example
+
+@noindent
+or more conveniently:
+
+@example
+autoreconf -vfi
+@end example
+
+The use of @option{--force-missing} ensures that auxiliary tools will be
+overridden by new versions (@pxref{Invoking Automake}).
+
+It is important to regenerate all these files each time Automake is
+upgraded, even between bug fixes releases.  For instance, it is not
+unusual for a bug fix to involve changes to both the rules generated
+in @file{Makefile.in} and the supporting M4 macros copied to
+@file{aclocal.m4}.
+
+Presently @command{automake} is able to diagnose situations where
+@file{aclocal.m4} has been generated with another version of
+@command{aclocal}.  However it never checks whether auxiliary scripts
+are up-to-date.  In other words, @command{automake} will tell you when
+@command{aclocal} needs to be rerun, but it will never diagnose a
+missing @option{--force-missing}.
+
+Before upgrading to a new major release, it is a good idea to read the
+file @file{NEWS}.  This file lists all changes between releases: new
+features, obsolete constructs, known incompatibilities, and
+workarounds.
+
+@node FAQ
+@chapter Frequently Asked Questions about Automake
+
+This chapter covers some questions that often come up on the mailing
+lists.
+
+@menu
+* CVS::                         CVS and generated files
+* maintainer-mode::             missing and AM_MAINTAINER_MODE
+* wildcards::                   Why doesn't Automake support wildcards?
+* distcleancheck::              Files left in build directory after distclean
+* Flag Variables Ordering::     CFLAGS vs.@: AM_CFLAGS vs.@: mumble_CFLAGS
+* renamed objects::             Why are object files sometimes renamed?
+* Per-Object Flags::            How to simulate per-object flags?
+* Multiple Outputs::            Writing rules for tools with many output files
+* Hard-Coded Install Paths::    Installing to Hard-Coded Locations
+@end menu
+
+@node CVS
+@section CVS and generated files
+
+@subsection Background: distributed generated files
+@cindex generated files, distributed
+@cindex rebuild rules
+
+Packages made with Autoconf and Automake ship with some generated
+files like @file{configure} or @file{Makefile.in}.  These files were
+generated on the developer's host and are distributed so that
+end-users do not have to install the maintainer tools required to
+rebuild them.  Other generated files like Lex scanners, Yacc parsers,
+or Info documentation, are usually distributed on similar grounds.
+
+Automake outputs rules in @file{Makefile}s to rebuild these files.  For
+instance, @command{make} will run @command{autoconf} to rebuild
+@file{configure} whenever @file{configure.ac} is changed.  This makes
+development safer by ensuring a @file{configure} is never out-of-date
+with respect to @file{configure.ac}.
+
+As generated files shipped in packages are up-to-date, and because
+@command{tar} preserves times-tamps, these rebuild rules are not
+triggered when a user unpacks and builds a package.
+
+@subsection Background: CVS and timestamps
+@cindex timestamps and CVS
+@cindex CVS and timestamps
+
+Unless you use CVS keywords (in which case files must be updated at
+commit time), CVS preserves timestamp during @samp{cvs commit} and
+@samp{cvs import -d} operations.
+
+When you check out a file using @samp{cvs checkout} its timestamp is
+set to that of the revision that is being checked out.
+
+However, during @command{cvs update}, files will have the date of the
+update, not the original timestamp of this revision.  This is meant to
+make sure that @command{make} notices sources files have been updated.
+
+This timestamp shift is troublesome when both sources and generated
+files are kept under CVS@.  Because CVS processes files in alphabetical
+order, @file{configure.ac} will appear older than @file{configure}
+after a @command{cvs update} that updates both files, even if
+@file{configure} was newer than @file{configure.ac} when it was
+checked in.  Calling @command{make} will then trigger a spurious rebuild
+of @file{configure}.
+
+@subsection Living with CVS in Autoconfiscated projects
+@cindex CVS and generated files
+@cindex generated files and CVS
+
+There are basically two clans amongst maintainers: those who keep all
+distributed files under CVS, including generated files, and those who
+keep generated files @emph{out} of CVS.
+
+@subsubheading All files in CVS
+
+@itemize @bullet
+@item
+The CVS repository contains all distributed files so you know exactly
+what is distributed, and you can checkout any prior version entirely.
+
+@item
+Maintainers can see how generated files evolve (for instance, you can
+see what happens to your @file{Makefile.in}s when you upgrade Automake
+and make sure they look OK).
+
+@item
+Users do not need the autotools to build a checkout of the project, it
+works just like a released tarball.
+
+@item
+If users use @command{cvs update} to update their copy, instead of
+@command{cvs checkout} to fetch a fresh one, timestamps will be
+inaccurate.  Some rebuild rules will be triggered and attempt to
+run developer tools such as @command{autoconf} or @command{automake}.
+
+Actually, calls to such tools are all wrapped into a call to the
+@command{missing} script discussed later (@pxref{maintainer-mode}).
+@command{missing} will take care of fixing the timestamps when these
+tools are not installed, so that the build can continue.
+
+@item
+In distributed development, developers are likely to have different
+version of the maintainer tools installed.  In this case rebuilds
+triggered by timestamp lossage will lead to spurious changes
+to generated files.  There are several solutions to this:
+
+@itemize
+@item
+All developers should use the same versions, so that the rebuilt files
+are identical to files in CVS@.  (This starts to be difficult when each
+project you work on uses different versions.)
+@item
+Or people use a script to fix the timestamp after a checkout (the GCC
+folks have such a script).
+@item
+Or @file{configure.ac} uses @code{AM_MAINTAINER_MODE}, which will
+disable all these rebuild rules by default.  This is further discussed
+in @ref{maintainer-mode}.
+@end itemize
+
+@item
+Although we focused on spurious rebuilds, the converse can also
+happen.  CVS's timestamp handling can also let you think an
+out-of-date file is up-to-date.
+
+For instance, suppose a developer has modified @file{Makefile.am} and
+has rebuilt @file{Makefile.in}.  He then decide to do a last-minute
+change to @file{Makefile.am} right before checking in both files
+(without rebuilding @file{Makefile.in} to account for the change).
+
+This last change to @file{Makefile.am} make the copy of
+@file{Makefile.in} out-of-date.  Since CVS processes files
+alphabetically, when another developer @samp{cvs update} his or her
+tree, @file{Makefile.in} will happen to be newer than
+@file{Makefile.am}.  This other developer will not see
+@file{Makefile.in} is out-of-date.
+
+@end itemize
+
+@subsubheading Generated files out of CVS
+
+One way to get CVS and @command{make} working peacefully is to never
+store generated files in CVS, i.e., do not CVS-control files that
+are @file{Makefile} targets (also called @emph{derived} files).
+
+This way developers are not annoyed by changes to generated files.  It
+does not matter if they all have different versions (assuming they are
+compatible, of course).  And finally, timestamps are not lost, changes
+to sources files can't be missed as in the
+@file{Makefile.am}/@file{Makefile.in} example discussed earlier.
+
+The drawback is that the CVS repository is not an exact copy of what
+is distributed and that users now need to install various development
+tools (maybe even specific versions) before they can build a checkout.
+But, after all, CVS's job is versioning, not distribution.
+
+Allowing developers to use different versions of their tools can also
+hide bugs during distributed development.  Indeed, developers will be
+using (hence testing) their own generated files, instead of the
+generated files that will be released actually.  The developer who
+prepares the tarball might be using a version of the tool that
+produces bogus output (for instance a non-portable C file), something
+other developers could have noticed if they weren't using their own
+versions of this tool.
+
+@subsection Third-party files
+@cindex CVS and third-party files
+@cindex third-party files and CVS
+
+Another class of files not discussed here (because they do not cause
+timestamp issues) are files that are shipped with a package, but
+maintained elsewhere.  For instance, tools like @command{gettextize}
+and @command{autopoint} (from Gettext) or @command{libtoolize} (from
+Libtool), will install or update files in your package.
+
+These files, whether they are kept under CVS or not, raise similar
+concerns about version mismatch between developers' tools.  The
+Gettext manual has a section about this, see @ref{CVS Issues, CVS
+Issues, Integrating with CVS, gettext, GNU gettext tools}.
+
+@node maintainer-mode
+@section @command{missing} and @code{AM_MAINTAINER_MODE}
+
+@subsection @command{missing}
+@cindex @command{missing}, purpose
+
+The @command{missing} script is a wrapper around several maintainer
+tools, designed to warn users if a maintainer tool is required but
+missing.  Typical maintainer tools are @command{autoconf},
+@command{automake}, @command{bison}, etc.  Because file generated by
+these tools are shipped with the other sources of a package, these
+tools shouldn't be required during a user build and they are not
+checked for in @file{configure}.
+
+However, if for some reason a rebuild rule is triggered and involves a
+missing tool, @command{missing} will notice it and warn the user.
+Besides the warning, when a tool is missing, @command{missing} will
+attempt to fix timestamps in a way that allows the build to continue.
+For instance, @command{missing} will touch @file{configure} if
+@command{autoconf} is not installed.  When all distributed files are
+kept under CVS, this feature of @command{missing} allows user
+@emph{with no maintainer tools} to build a package off CVS, bypassing
+any timestamp inconsistency implied by @samp{cvs update}.
+
+If the required tool is installed, @command{missing} will run it and
+won't attempt to continue after failures.  This is correct during
+development: developers love fixing failures.  However, users with
+wrong versions of maintainer tools may get an error when the rebuild
+rule is spuriously triggered, halting the build.  This failure to let
+the build continue is one of the arguments of the
+@code{AM_MAINTAINER_MODE} advocates.
+
+@subsection @code{AM_MAINTAINER_MODE}
+@cindex @code{AM_MAINTAINER_MODE}, purpose
+@acindex AM_MAINTAINER_MODE
+
+@code{AM_MAINTAINER_MODE} disables the so called "rebuild rules" by
+default.  If you have @code{AM_MAINTAINER_MODE} in
+@file{configure.ac}, and run @samp{./configure && make}, then
+@command{make} will *never* attempt to rebuilt @file{configure},
+@file{Makefile.in}s, Lex or Yacc outputs, etc.  I.e., this disables
+build rules for files that are usually distributed and that users
+should normally not have to update.
+
+If you run @samp{./configure --enable-maintainer-mode}, then these
+rebuild rules will be active.
+
+People use @code{AM_MAINTAINER_MODE} either because they do want their
+users (or themselves) annoyed by timestamps lossage (@pxref{CVS}), or
+because they simply can't stand the rebuild rules and prefer running
+maintainer tools explicitly.
+
+@code{AM_MAINTAINER_MODE} also allows you to disable some custom build
+rules conditionally.  Some developers use this feature to disable
+rules that need exotic tools that users may not have available.
+
+Several years ago Fran@,{c}ois Pinard pointed out several arguments
+against this @code{AM_MAINTAINER_MODE} macro.  Most of them relate to
+insecurity.  By removing dependencies you get non-dependable builds:
+change to sources files can have no effect on generated files and this
+can be very confusing when unnoticed.  He adds that security shouldn't
+be reserved to maintainers (what @option{--enable-maintainer-mode}
+suggests), on the contrary.  If one user has to modify a
+@file{Makefile.am}, then either @file{Makefile.in} should be updated
+or a warning should be output (this is what Automake uses
+@command{missing} for) but the last thing you want is that nothing
+happens and the user doesn't notice it (this is what happens when
+rebuild rules are disabled by @code{AM_MAINTAINER_MODE}).
+
+Jim Meyering, the inventor of the @code{AM_MAINTAINER_MODE} macro was
+swayed by Fran@,{c}ois's arguments, and got rid of
+@code{AM_MAINTAINER_MODE} in all of his packages.
+
+Still many people continue to use @code{AM_MAINTAINER_MODE}, because
+it helps them working on projects where all files are kept under CVS,
+and because @command{missing} isn't enough if you have the wrong
+version of the tools.
+
+
+@node wildcards
+@section Why doesn't Automake support wildcards?
+@cindex wildcards
+
+Developers are lazy.  They often would like to use wildcards in
+@file{Makefile.am}s, so they don't need to remember they have to
+update @file{Makefile.am}s every time they add, delete, or rename a
+file.
+
+There are several objections to this:
+@itemize
+@item
+When using CVS (or similar) developers need to remember they have to
+run @samp{cvs add} or @samp{cvs rm} anyway.  Updating
+@file{Makefile.am} accordingly quickly becomes a reflex.
+
+Conversely, if your application doesn't compile
+because you forgot to add a file in @file{Makefile.am}, it will help
+you remember to @samp{cvs add} it.
+
+@item
+Using wildcards makes easy to distribute files by mistake.  For
+instance, some code a developer is experimenting with (a test case,
+say) but that should not be part of the distribution.
+
+@item
+Using wildcards it's easy to omit some files by mistake.  For
+instance, one developer creates a new file, uses it at many places,
+but forget to commit it.  Another developer then checkout the
+incomplete project and is able to run `make dist' successfully,
+even though a file is missing.
+
+@item
+Listing files, you control *exactly* what you distribute.
+If some file that should be distributed is missing from your
+tree, @samp{make dist} will complain.  Besides, you don't distribute
+more than what you listed.
+
+@item
+Finally it's really hard to @file{forget} adding a file to
+@file{Makefile.am}, because if you don't add it, it doesn't get
+compiled nor installed, so you can't even test it.
+@end itemize
+
+Still, these are philosophical objections, and as such you may disagree,
+or find enough value in wildcards to dismiss all of them.  Before you
+start writing a patch against Automake to teach it about wildcards,
+let's see the main technical issue: portability.
+
+Although @samp{$(wildcard ...)} works with GNU @command{make}, it is
+not portable to other @command{make} implementations.
+
+The only way Automake could support @command{$(wildcard ...)} is by
+expending @command{$(wildcard ...)} when @command{automake} is run.
+Resulting @file{Makefile.in}s would be portable since they would
+list all files and not use @samp{$(wildcard ...)}.  However that
+means developers need to remember they must run @command{automake} each
+time they add, delete, or rename files.
+
+Compared to editing @file{Makefile.am}, this is really little win.  Sure,
+it's easier and faster to type @samp{automake; make} than to type
+@samp{emacs Makefile.am; make}.  But nobody bothered enough to write a
+patch add support for this syntax.  Some people use scripts to
+generated file lists in @file{Makefile.am} or in separate
+@file{Makefile} fragments.
+
+Even if you don't care about portability, and are tempted to use
+@samp{$(wildcard ...)} anyway because you target only GNU Make, you
+should know there are many places where Automake need to know exactly
+which files should be processed.  As Automake doesn't know how to
+expand @samp{$(wildcard ...)}, you cannot use it in these places.
+@samp{$(wildcard ...)} is a black box comparable to @code{AC_SUBST}ed
+variables as far Automake is concerned.
+
+You can get warnings about @samp{$(wildcard ...}) constructs using the
+@option{-Wportability} flag.
+
+@node distcleancheck
+@section Files left in build directory after distclean
+@cindex @code{distclean}, diagnostic
+@cindex @samp{make distclean}, diagnostic
+@cindex dependencies and distributed files
+@trindex distclean
+@trindex distcleancheck
+
+This is a diagnostic you might encounter while running @samp{make
+distcheck}.
+
+As explained in @ref{Dist}, @samp{make distcheck} attempts to build
+and check your package for errors like this one.
+
+@samp{make distcheck} will perform a @code{VPATH} build of your
+package, and then call @samp{make distclean}.  Files left in the build
+directory after @samp{make distclean} has run are listed after this
+error.
+
+This diagnostic really covers two kinds of errors:
+
+@itemize @bullet
+@item
+files that are forgotten by distclean;
+@item
+distributed files that are erroneously rebuilt.
+@end itemize
+
+The former left-over files are not distributed, so the fix is to mark
+them for cleaning (@pxref{Clean}), this is obvious and doesn't deserve
+more explanations.
+
+The latter bug is not always easy to understand and fix, so let's
+proceed with an example.  Suppose our package contains a program for
+which we want to build a man page using @command{help2man}.  GNU
+@command{help2man} produces simple manual pages from the @option{--help}
+and @option{--version} output of other commands (@pxref{Top, , Overview,
+help2man, The Help2man Manual}).  Because we don't to force want our
+users to install @command{help2man}, we decide to distribute the
+generated man page using the following setup.
+
+@example
+# This Makefile.am is bogus.
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+dist_man_MANS = foo.1
+
+foo.1: foo$(EXEEXT)
+        help2man --output=foo.1 ./foo$(EXEEXT)
+@end example
+
+This will effectively distribute the man page.  However,
+@samp{make distcheck} will fail with:
+
+@example
+ERROR: files left in build directory after distclean:
+./foo.1
+@end example
+
+Why was @file{foo.1} rebuilt?  Because although distributed,
+@file{foo.1} depends on a non-distributed built file:
+@file{foo$(EXEEXT)}.  @file{foo$(EXEEXT)} is built by the user, so it
+will always appear to be newer than the distributed @file{foo.1}.
+
+@samp{make distcheck} caught an inconsistency in our package.  Our
+intent was to distribute @file{foo.1} so users do not need installing
+@command{help2man}, however since this our rule causes this file to be
+always rebuilt, users @emph{do} need @command{help2man}.  Either we
+should ensure that @file{foo.1} is not rebuilt by users, or there is
+no point in distributing @file{foo.1}.
+
+More generally, the rule is that distributed files should never depend
+on non-distributed built files.  If you distribute something
+generated, distribute its sources.
+
+One way to fix the above example, while still distributing
+@file{foo.1} is to not depend on @file{foo$(EXEEXT)}.  For instance,
+assuming @command{foo --version} and @command{foo --help} do not
+change unless @file{foo.c} or @file{configure.ac} change, we could
+write the following @file{Makefile.am}:
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+dist_man_MANS = foo.1
+
+foo.1: foo.c $(top_srcdir)/configure.ac
+        $(MAKE) $(AM_MAKEFLAGS) foo$(EXEEXT)
+        help2man --output=foo.1 ./foo$(EXEEXT)
+@end example
+
+This way, @file{foo.1} will not get rebuilt every time
+@file{foo$(EXEEXT)} changes.  The @command{make} call makes sure
+@file{foo$(EXEEXT)} is up-to-date before @command{help2man}.  Another
+way to ensure this would be to use separate directories for binaries
+and man pages, and set @code{SUBDIRS} so that binaries are built
+before man pages.
+
+We could also decide not to distribute @file{foo.1}.  In
+this case it's fine to have @file{foo.1} dependent upon
+@file{foo$(EXEEXT)}, since both will have to be rebuilt.
+However it would be impossible to build the package in a
+cross-compilation, because building @file{foo.1} involves
+an @emph{execution} of @file{foo$(EXEEXT)}.
+
+Another context where such errors are common is when distributed files
+are built by tools that are built by the package.  The pattern is
+similar:
+
+@example
+distributed-file: built-tools distributed-sources
+        build-command
+@end example
+
+@noindent
+should be changed to
+
+@example
+distributed-file: distributed-sources
+        $(MAKE) $(AM_MAKEFLAGS) built-tools
+        build-command
+@end example
+
+@noindent
+or you could choose not to distribute @file{distributed-file}, if
+cross-compilation does not matter.
+
+The points made through these examples are worth a summary:
+
+@cartouche
+@itemize
+@item
+Distributed files should never depend upon non-distributed built
+files.
+@item
+Distributed files should be distributed will all their dependencies.
+@item
+If a file is @emph{intended} be rebuilt by users, there is no point in
+distributing it.
+@end itemize
+@end cartouche
+
+@vrindex distcleancheck_listfiles
+For desperate cases, it's always possible to disable this check by
+setting @code{distcleancheck_listfiles} as documented in @ref{Dist}.
+Make sure you do understand the reason why @samp{make distcheck}
+complains before you do this.  @code{distcleancheck_listfiles} is a
+way to @emph{hide} errors, not to fix them.  You can always do better.
+
+@node Flag Variables Ordering
+@section Flag Variables Ordering
+@cindex Ordering flag variables
+@cindex Flag variables, ordering
+
+@display
+What is the difference between @code{AM_CFLAGS}, @code{CFLAGS}, and
+@code{mumble_CFLAGS}?
+@end display
+
+@display
+Why does @command{automake} output @code{CPPFLAGS} after
+@code{AM_CPPFLAGS} on compile lines?  Shouldn't it be the converse?
+@end display
+
+@display
+My @file{configure} adds some warning flags into @code{CXXFLAGS}.  In
+one @file{Makefile.am} I would like to append a new flag, however if I
+put the flag into @code{AM_CXXFLAGS} it is prepended to the other
+flags, not appended.
+@end display
+
+@subsection Compile Flag Variables
+@cindex Flag Variables, Ordering
+@cindex Compile Flag Variables
+@cindex @code{AM_CCASFLAGS} and @code{CCASFLAGS}
+@cindex @code{AM_CFLAGS} and @code{CFLAGS}
+@cindex @code{AM_CPPFLAGS} and @code{CPPFLAGS}
+@cindex @code{AM_CXXFLAGS} and @code{CXXFLAGS}
+@cindex @code{AM_FCFLAGS} and @code{FCFLAGS}
+@cindex @code{AM_FFLAGS} and @code{FFLAGS}
+@cindex @code{AM_GCJFLAGS} and @code{GCJFLAGS}
+@cindex @code{AM_LDFLAGS} and @code{LDFLAGS}
+@cindex @code{AM_LFLAGS} and @code{LFLAGS}
+@cindex @code{AM_OBJCFLAGS} and @code{OBJCFLAGS}
+@cindex @code{AM_RFLAGS} and @code{RFLAGS}
+@cindex @code{AM_YFLAGS} and @code{YFLAGS}
+@cindex @code{CCASFLAGS} and @code{AM_CCASFLAGS}
+@cindex @code{CFLAGS} and @code{AM_CFLAGS}
+@cindex @code{CPPFLAGS} and @code{AM_CPPFLAGS}
+@cindex @code{CXXFLAGS} and @code{AM_CXXFLAGS}
+@cindex @code{FCFLAGS} and @code{AM_FCFLAGS}
+@cindex @code{FFLAGS} and @code{AM_FFLAGS}
+@cindex @code{GCJFLAGS} and @code{AM_GCJFLAGS}
+@cindex @code{LDFLAGS} and @code{AM_LDFLAGS}
+@cindex @code{LFLAGS} and @code{AM_LFLAGS}
+@cindex @code{OBJCFLAGS} and @code{AM_OBJCFLAGS}
+@cindex @code{RFLAGS} and @code{AM_RFLAGS}
+@cindex @code{YFLAGS} and @code{AM_YFLAGS}
+
+This section attempts to answer all the above questions.  We will
+mostly discuss @code{CPPFLAGS} in our examples, but actually the
+answer holds for all the compile flags used in Automake:
+@code{CCASFLAGS}, @code{CFLAGS}, @code{CPPFLAGS}, @code{CXXFLAGS},
+@code{FCFLAGS}, @code{FFLAGS}, @code{GCJFLAGS}, @code{LDFLAGS},
+@code{LFLAGS}, @code{OBJCFLAGS}, @code{RFLAGS}, and @code{YFLAGS}.
+
+@code{CPPFLAGS}, @code{AM_CPPFLAGS}, and @code{mumble_CPPFLAGS} are
+three variables that can be used to pass flags to the C preprocessor
+(actually these variables are also used for other languages like C++
+or preprocessed Fortran).  @code{CPPFLAGS} is the user variable
+(@pxref{User Variables}), @code{AM_CPPFLAGS} is the Automake variable,
+and @code{mumble_CPPFLAGS} is the variable specific to the
+@code{mumble} target (we call this a per-target variable,
+@pxref{Program and Library Variables}).
+
+Automake always uses two of these variables when compiling C sources
+files.  When compiling an object file for the @code{mumble} target,
+the first variable will be @code{mumble_CPPFLAGS} if it is defined, or
+@code{AM_CPPFLAGS} otherwise.  The second variable is always
+@code{CPPFLAGS}.
+
+In the following example,
+
+@example
+bin_PROGRAMS = foo bar
+foo_SOURCES = xyz.c
+bar_SOURCES = main.c
+foo_CPPFLAGS = -DFOO
+AM_CPPFLAGS = -DBAZ
+@end example
+
+@noindent
+@file{xyz.o} will be compiled with @samp{$(foo_CPPFLAGS) $(CPPFLAGS)},
+(because @file{xyz.o} is part of the @code{foo} target), while
+@file{main.o} will be compiled with @samp{$(AM_CPPFLAGS) $(CPPFLAGS)}
+(because there is no per-target variable for target @code{bar}).
+
+The difference between @code{mumble_CPPFLAGS} and @code{AM_CPPFLAGS}
+being clear enough, let's focus on @code{CPPFLAGS}.  @code{CPPFLAGS}
+is a user variable, i.e., a variable that users are entitled to modify
+in order to compile the package.  This variable, like many others,
+is documented at the end of the output of @samp{configure --help}.
+
+For instance, someone who needs to add @file{/home/my/usr/include} to
+the C compiler's search path would configure a package with
+
+@example
+./configure CPPFLAGS='-I /home/my/usr/include'
+@end example
+
+@noindent
+and this flag would be propagated to the compile rules of all
+@file{Makefile}s.
+
+It is also not uncommon to override a user variable at
+@command{make}-time.  Many installers do this with @code{prefix}, but
+this can be useful with compiler flags too.  For instance, if, while
+debugging a C++ project, you need to disable optimization in one
+specific object file, you can run something like
+
+@example
+rm file.o
+make CXXFLAGS=-O0 file.o
+make
+@end example
+
+The reason @samp{$(CPPFLAGS)} appears after @samp{$(AM_CPPFLAGS)} or
+@samp{$(mumble_CPPFLAGS)} in the compile command is that users
+should always have the last say.  It probably makes more sense if you
+think about it while looking at the @samp{CXXFLAGS=-O0} above, which
+should supersede any other switch from @code{AM_CXXFLAGS} or
+@code{mumble_CXXFLAGS} (and this of course replaces the previous value
+of @code{CXXFLAGS}).
+
+You should never redefine a user variable such as @code{CPPFLAGS} in
+@file{Makefile.am}.  Use @samp{automake -Woverride} to diagnose such
+mistakes.  Even something like
+
+@example
+CPPFLAGS = -DDATADIR=\"$(datadir)\" @@CPPFLAGS@@
+@end example
+
+@noindent
+is erroneous.  Although this preserves @file{configure}'s value of
+@code{CPPFLAGS}, the definition of @code{DATADIR} will disappear if a
+user attempts to override @code{CPPFLAGS} from the @command{make}
+command line.
+
+@example
+AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
+@end example
+
+@noindent
+is all what is needed here if no per-target flags are used.
+
+You should not add options to these user variables within
+@file{configure} either, for the same reason.  Occasionally you need
+to modify these variables to perform a test, but you should reset
+their values afterwards.  In contrast, it is OK to modify the
+@samp{AM_} variables within @file{configure} if you @code{AC_SUBST}
+them, but it is rather rare that you need to do this, unless you
+really want to change the default definitions of the @samp{AM_}
+variables in all @file{Makefile}s.
+
+What we recommend is that you define extra flags in separate
+variables.  For instance, you may write an Autoconf macro that computes
+a set of warning options for the C compiler, and @code{AC_SUBST} them
+in @code{WARNINGCFLAGS}; you may also have an Autoconf macro that
+determines which compiler and which linker flags should be used to
+link with library @file{libfoo}, and @code{AC_SUBST} these in
+@code{LIBFOOCFLAGS} and @code{LIBFOOLDFLAGS}.  Then, a
+@file{Makefile.am} could use these variables as follows:
+
+@example
+AM_CFLAGS = $(WARNINGCFLAGS)
+bin_PROGRAMS = prog1 prog2
+prog1_SOURCES = @dots{}
+prog2_SOURCES = @dots{}
+prog2_CFLAGS = $(LIBFOOCFLAGS) $(AM_CFLAGS)
+prog2_LDFLAGS = $(LIBFOOLDFLAGS)
+@end example
+
+In this example both programs will be compiled with the flags
+substituted into @samp{$(WARNINGCFLAGS)}, and @code{prog2} will
+additionally be compiled with the flags required to link with
+@file{libfoo}.
+
+Note that listing @code{AM_CFLAGS} in a per-target @code{CFLAGS}
+variable is a common idiom to ensure that @code{AM_CFLAGS} applies to
+every target in a @file{Makefile.in}.
+
+Using variables like this gives you full control over the ordering of
+the flags.  For instance, if there is a flag in $(WARNINGCFLAGS) that
+you want to negate for a particular target, you can use something like
+@samp{prog1_CFLAGS = $(AM_CFLAGS) -no-flag}.  If all these flags had
+been forcefully appended to @code{CFLAGS}, there would be no way to
+disable one flag.  Yet another reason to leave user variables to
+users.
+
+Finally, we have avoided naming the variable of the example
+@code{LIBFOO_LDFLAGS} (with an underscore) because that would cause
+Automake to think that this is actually a per-target variable (like
+@code{mumble_LDFLAGS}) for some non-declared @code{LIBFOO} target.
+
+@subsection Other Variables
+
+There are other variables in Automake that follow similar principles
+to allow user options.  For instance, Texinfo rules (@pxref{Texinfo})
+use @code{MAKEINFOFLAGS} and @code{AM_MAKEINFOFLAGS}.  Similarly,
+DejaGnu tests (@pxref{Tests}) use @code{RUNTESTDEFAULTFLAGS} and
+@code{AM_RUNTESTDEFAULTFLAGS}.  The tags and ctags rules
+(@pxref{Tags}) use @code{ETAGSFLAGS}, @code{AM_ETAGSFLAGS},
+@code{CTAGSFLAGS}, and @code{AM_CTAGSFLAGS}.  Java rules
+(@pxref{Java}) use @code{JAVACFLAGS} and @code{AM_JAVACFLAGS}.  None
+of these rules do support per-target flags (yet).
+
+To some extent, even @code{AM_MAKEFLAGS} (@pxref{Subdirectories})
+obeys this naming scheme.  The slight difference is that
+@code{MAKEFLAGS} is passed to sub-@command{make}s implicitly by
+@command{make} itself.
+
+However you should not think that all variables ending with
+@code{FLAGS} follow this convention.  For instance,
+@code{DISTCHECK_CONFIGURE_FLAGS} (@pxref{Dist}),
+@code{ACLOCAL_AMFLAGS} (see @ref{Rebuilding} and @ref{Local Macros}),
+are two variables that are only useful to the maintainer and have no
+user counterpart.
+
+@code{ARFLAGS} (@pxref{A Library}) is usually defined by Automake and
+has neither @code{AM_} nor per-target cousin.
+
+Finally you should not think either that the existence of a per-target
+variable implies that of an @code{AM_} variable or that of a user
+variable.  For instance, the @code{mumble_LDADD} per-target variable
+overrides the global @code{LDADD} variable (which is not a user
+variable), and @code{mumble_LIBADD} exists only as a per-target
+variable.  @xref{Program and Library Variables}.
+
+
+@node renamed objects
+@section Why are object files sometimes renamed?
+
+This happens when per-target compilation flags are used.  Object
+files need to be renamed just in case they would clash with object
+files compiled from the same sources, but with different flags.
+Consider the following example.
+
+@example
+bin_PROGRAMS = true false
+true_SOURCES = generic.c
+true_CPPFLAGS = -DEXIT_CODE=0
+false_SOURCES = generic.c
+false_CPPFLAGS = -DEXIT_CODE=1
+@end example
+@noindent
+Obviously the two programs are built from the same source, but it
+would be bad if they shared the same object, because @file{generic.o}
+cannot be built with both @samp{-DEXIT_CODE=0} @emph{and}
+@samp{-DEXIT_CODE=1}.  Therefore @command{automake} outputs rules to
+build two different objects: @file{true-generic.o} and
+@file{false-generic.o}.
+
+@command{automake} doesn't actually look whether source files are
+shared to decide if it must rename objects.  It will just rename all
+objects of a target as soon as it sees per-target compilation flags
+are used.
+
+It's OK to share object files when per-target compilation flags are not
+used.  For instance, @file{true} and @file{false} will both use
+@file{version.o} in the following example.
+
+@example
+AM_CPPFLAGS = -DVERSION=1.0
+bin_PROGRAMS = true false
+true_SOURCES = true.c version.c
+false_SOURCES = false.c version.c
+@end example
+
+Note that the renaming of objects is also affected by the
+@code{_SHORTNAME} variable (@pxref{Program and Library Variables}).
+
+
+@node Per-Object Flags
+@section Per-Object Flags Emulation
+@cindex Per-object flags, emulated
+
+@display
+One of my source files needs to be compiled with different flags.  How
+do I do?
+@end display
+
+Automake supports per-program and per-library compilation flags (see
+@ref{Program and Library Variables} and @ref{Flag Variables
+Ordering}).  With this you can define compilation flags that apply to
+all files compiled for a target.  For instance, in
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c foo.h bar.c bar.h main.c
+foo_CFLAGS = -some -flags
+@end example
+
+@noindent
+@file{foo-foo.o}, @file{foo-bar.o}, and @file{foo-main.o} will all be
+compiled with @samp{-some -flags}.  (If you wonder about the names of
+these object files, see @ref{renamed objects}.)  Note that
+@code{foo_CFLAGS} gives the flags to use when compiling all the C
+sources of the @emph{program} @code{foo}, it has nothing to do with
+@file{foo.c} or @file{foo-foo.o} specifically.
+
+What if @file{foo.c} needs to be compiled into @file{foo.o} using some
+specific flags, that none of the other files require?  Obviously
+per-program flags are not directly applicable here.  Something like
+per-object flags are expected, i.e., flags that would be used only
+when creating @file{foo-foo.o}.  Automake does not support that,
+however this is easy to simulate using a library that contains only
+that object, and compiling this library with per-library flags.
+
+@example
+bin_PROGRAMS = foo
+foo_SOURCES = bar.c bar.h main.c
+foo_CFLAGS = -some -flags
+foo_LDADD = libfoo.a
+noinst_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c foo.h
+libfoo_a_CFLAGS = -some -other -flags
+@end example
+
+Here @file{foo-bar.o} and @file{foo-main.o} will all be
+compiled with @samp{-some -flags}, while @file{libfoo_a-foo.o} will
+be compiled using @samp{-some -other -flags}.  Eventually, all
+three objects will be linked to form @file{foo}.
+
+This trick can also be achieved using Libtool convenience libraries,
+for instance @samp{noinst_LTLIBRARIES = libfoo.la} (@pxref{Libtool
+Convenience Libraries}).
+
+Another tempting idea to implement per-object flags is to override the
+compile rules @command{automake} would output for these files.
+Automake will not define a rule for a target you have defined, so you
+could think about defining the @samp{foo-foo.o: foo.c} rule yourself.
+We recommend against this, because this is error prone.  For instance,
+if you add such a rule to the first example, it will break the day you
+decide to remove @code{foo_CFLAGS} (because @file{foo.c} will then be
+compiled as @file{foo.o} instead of @file{foo-foo.o}, @pxref{renamed
+objects}).  Also in order to support dependency tracking, the two
+@file{.o}/@file{.obj} extensions, and all the other flags variables
+involved in a compilation, you will end up modifying a copy of the
+rule previously output by @command{automake} for this file.  If a new
+release of Automake generates a different rule, your copy will need to
+be updated by hand.
+
+@node Multiple Outputs
+@section Handling Tools that Produce Many Outputs
+@cindex multiple outputs, rules with
+@cindex many outputs, rules with
+@cindex rules with multiple outputs
+
+This section describes a @command{make} idiom that can be used when a
+tool produces multiple output files.  It is not specific to Automake
+and can be used in ordinary @file{Makefile}s.
+
+Suppose we have a program called @command{foo} that will read one file
+called @file{data.foo} and produce two files named @file{data.c} and
+@file{data.h}.  We want to write a @file{Makefile} rule that captures
+this one-to-two dependency.
+
+The naive rule is incorrect:
+
+@example
+# This is incorrect.
+data.c data.h: data.foo
+        foo data.foo
+@end example
+
+@noindent
+What the above rule really says is that @file{data.c} and
+@file{data.h} each depend on @file{data.foo}, and can each be built by
+running @samp{foo data.foo}.  In other words it is equivalent to:
+
+@example
+# We do not want this.
+data.c: data.foo
+        foo data.foo
+data.h: data.foo
+        foo data.foo
+@end example
+
+@noindent
+which means that @command{foo} can be run twice.  Usually it will not
+be run twice, because @command{make} implementations are smart enough
+to check for the existence of the second file after the first one has
+been built; they will therefore detect that it already exists.
+However there are a few situations where it can run twice anyway:
+
+@itemize
+@item
+The most worrying case is when running a parallel @command{make}.  If
+@file{data.c} and @file{data.h} are built in parallel, two @samp{foo
+data.foo} commands will run concurrently.  This is harmful.
+@item
+Another case is when the dependency (here @file{data.foo}) is
+(or depends upon) a phony target.
+@end itemize
+
+A solution that works with parallel @command{make} but not with
+phony dependencies is the following:
+
+@example
+data.c data.h: data.foo
+        foo data.foo
+data.h: data.c
+@end example
+
+@noindent
+The above rules are equivalent to
+
+@example
+data.c: data.foo
+        foo data.foo
+data.h: data.foo data.c
+        foo data.foo
+@end example
+@noindent
+therefore a parallel @command{make} will have to serialize the builds
+of @file{data.c} and @file{data.h}, and will detect that the second is
+no longer needed once the first is over.
+
+Using this pattern is probably enough for most cases.  However it does
+not scale easily to more output files (in this scheme all output files
+must be totally ordered by the dependency relation), so we will
+explore a more complicated solution.
+
+Another idea is to write the following:
+
+@example
+# There is still a problem with this one.
+data.c: data.foo
+        foo data.foo
+data.h: data.c
+@end example
+
+@noindent
+The idea is that @samp{foo data.foo} is run only when @file{data.c}
+needs to be updated, but we further state that @file{data.h} depends
+upon @file{data.c}.  That way, if @file{data.h} is required and
+@file{data.foo} is out of date, the dependency on @file{data.c} will
+trigger the build.
+
+This is almost perfect, but suppose we have built @file{data.h} and
+@file{data.c}, and then we erase @file{data.h}.  Then, running
+@samp{make data.h} will not rebuild @file{data.h}.  The above rules
+just state that @file{data.c} must be up-to-date with respect to
+@file{data.foo}, and this is already the case.
+
+What we need is a rule that forces a rebuild when @file{data.h} is
+missing.  Here it is:
+
+@example
+data.c: data.foo
+        foo data.foo
+data.h: data.c
+## Recover from the removal of $@@
+        @@if test -f $@@; then :; else \
+          rm -f data.c; \
+          $(MAKE) $(AM_MAKEFLAGS) data.c; \
+        fi
+@end example
+
+The above scheme can be extended to handle more outputs and more
+inputs.  One of the outputs is selected to serve as a witness to the
+successful completion of the command, it depends upon all inputs, and
+all other outputs depend upon it.  For instance, if @command{foo}
+should additionally read @file{data.bar} and also produce
+@file{data.w} and @file{data.x}, we would write:
+
+@example
+data.c: data.foo data.bar
+        foo data.foo data.bar
+data.h data.w data.x: data.c
+## Recover from the removal of $@@
+        @@if test -f $@@; then :; else \
+          rm -f data.c; \
+          $(MAKE) $(AM_MAKEFLAGS) data.c; \
+        fi
+@end example
+
+However there are now two minor problems in this setup.  One is related
+to the timestamp ordering of @file{data.h}, @file{data.w},
+@file{data.x}, and @file{data.c}.  The other one is a race condition
+if a parallel @command{make} attempts to run multiple instances of the
+recover block at once.
+
+Let us deal with the first problem.  @command{foo} outputs four files,
+but we do not know in which order these files are created.  Suppose
+that @file{data.h} is created before @file{data.c}.  Then we have a
+weird situation.  The next time @command{make} is run, @file{data.h}
+will appear older than @file{data.c}, the second rule will be
+triggered, a shell will be started to execute the @samp{if@dots{}fi}
+command, but actually it will just execute the @code{then} branch,
+that is: nothing.  In other words, because the witness we selected is
+not the first file created by @command{foo}, @command{make} will start
+a shell to do nothing each time it is run.
+
+A simple riposte is to fix the timestamps when this happens.
+
+@example
+data.c: data.foo data.bar
+        foo data.foo data.bar
+data.h data.w data.x: data.c
+        @@if test -f $@@; then \
+          touch $@@; \
+        else \
+## Recover from the removal of $@@
+          rm -f data.c; \
+          $(MAKE) $(AM_MAKEFLAGS) data.c; \
+        fi
+@end example
+
+Another solution is to use a different and dedicated file as witness,
+rather than using any of @command{foo}'s outputs.
+
+@example
+data.stamp: data.foo data.bar
+        @@rm -f data.tmp
+        @@touch data.tmp
+        foo data.foo data.bar
+        @@mv -f data.tmp $@@
+data.c data.h data.w data.x: data.stamp
+## Recover from the removal of $@@
+        @@if test -f $@@; then :; else \
+          rm -f data.stamp; \
+          $(MAKE) $(AM_MAKEFLAGS) data.stamp; \
+        fi
+@end example
+
+@file{data.tmp} is created before @command{foo} is run, so it has a
+timestamp older than output files output by @command{foo}.  It is then
+renamed to @file{data.stamp} after @command{foo} has run, because we
+do not want to update @file{data.stamp} if @command{foo} fails.
+
+This solution still suffers from the second problem: the race
+condition in the recover rule.  If, after a successful build, a user
+erases @file{data.c} and @file{data.h}, and runs @samp{make -j}, then
+@command{make} may start both recover rules in parallel.  If the two
+instances of the rule execute @samp{$(MAKE) $(AM_MAKEFLAGS)
+data.stamp} concurrently the build is likely to fail (for instance, the
+two rules will create @file{data.tmp}, but only one can rename it).
+
+Admittedly, such a weird situation does not arise during ordinary
+builds.  It occurs only when the build tree is mutilated.  Here
+@file{data.c} and @file{data.h} have been explicitly removed without
+also removing @file{data.stamp} and the other output files.
+@code{make clean; make} will always recover from these situations even
+with parallel makes, so you may decide that the recover rule is solely
+to help non-parallel make users and leave things as-is.  Fixing this
+requires some locking mechanism to ensure only one instance of the
+recover rule rebuilds @file{data.stamp}.  One could imagine something
+along the following lines.
+
+@example
+data.c data.h data.w data.x: data.stamp
+## Recover from the removal of $@@
+        @@if test -f $@@; then :; else \
+          trap 'rm -rf data.lock data.stamp 1 2 13 15; \
+## mkdir is a portable test-and-set
+          if mkdir data.lock 2>/dev/null; then \
+## This code is being executed by the first process.
+            rm -f data.stamp; \
+            $(MAKE) $(AM_MAKEFLAGS) data.stamp; \
+          else \
+## This code is being executed by the follower processes.
+## Wait until the first process is done.
+            while test -d data.lock; do sleep 1; done; \
+## Succeed if and only if the first process succeeded.
+            test -f data.stamp; exit $$?; \
+          fi; \
+        fi
+@end example
+
+Using a dedicated witness, like @file{data.stamp}, is very handy when
+the list of output files is not known beforehand.  As an illustration,
+consider the following rules to compile many @file{*.el} files into
+@file{*.elc} files in a single command.  It does not matter how
+@code{ELFILES} is defined (as long as it is not empty: empty targets
+are not accepted by POSIX).
+
+@example
+ELFILES = one.el two.el three.el @dots{}
+ELCFILES = $(ELFILES:=c)
+
+elc-stamp: $(ELFILES)
+        @@rm -f elc-temp
+        @@touch elc-temp
+        $(elisp_comp) $(ELFILES)
+        @@mv -f elc-temp $@@
+
+$(ELCFILES): elc-stamp
+## Recover from the removal of $@@
+        @@if test -f $@@; then :; else \
+          trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
+          if mkdir elc-lock 2>/dev/null; then \
+## This code is being executed by the first process.
+            rm -f elc-stamp; \
+            $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
+            rmdir elc-lock; \
+          else \
+## This code is being executed by the follower processes.
+## Wait until the first process is done.
+            while test -d elc-lock; do sleep 1; done; \
+## Succeed if and only if the first process succeeded.
+            test -f elc-stamp; exit $$?; \
+          fi; \
+        fi
+@end example
+
+For completeness it should be noted that GNU @command{make} is able to
+express rules with multiple output files using pattern rules
+(@pxref{Pattern Examples, , Pattern Rule Examples, make, The GNU Make
+Manual}).  We do not discuss pattern rules here because they are not
+portable, but they can be convenient in packages that assume GNU
+@command{make}.
+
+
+@node Hard-Coded Install Paths
+@section Installing to Hard-Coded Locations
+
+@display
+My package needs to install some configuration file.  I tried to use
+the following rule, but @samp{make distcheck} fails.  Why?
+
+@example
+# Do not do this.
+install-data-local:
+        $(INSTALL_DATA) $(srcdir)/afile $(DESTDIR)/etc/afile
+@end example
+@end display
+
+@display
+My package needs to populate the installation directory of another
+package at install-time.  I can easily compute that installation
+directory in @file{configure}, but if I install files therein,
+@samp{make distcheck} fails.  How else should I do?
+@end display
+
+These two setups share their symptoms: @samp{make distcheck} fails
+because they are installing files to hard-coded paths.  In the later
+case the path is not really hard-coded in the package, but we can
+consider it to be hard-coded in the system (or in whichever tool that
+supplies the path).  As long as the path does not use any of the
+standard directory variables (@samp{$(prefix)}, @samp{$(bindir)},
+@samp{$(datadir)}, etc.), the effect will be the same:
+user-installations are impossible.
+
+When a (non-root) user wants to install a package, he usually has no
+right to install anything in @file{/usr} or @file{/usr/local}.  So he
+does something like @samp{./configure --prefix ~/usr} to install
+package in his own @file{~/usr} tree.
+
+If a package attempts to install something to some hard-coded path
+(e.g., @file{/etc/afile}), regardless of this @option{--prefix} setting,
+then the installation will fail.  @samp{make distcheck} performs such
+a @option{--prefix} installation, hence it will fail too.
+
+Now, there are some easy solutions.
+
+The above @code{install-data-local} example for installing
+@file{/etc/afile} would be better replaced by
+
+@example
+sysconf_DATA = afile
+@end example
+
+@noindent
+by default @code{sysconfdir} will be @samp{$(prefix)/etc}, because
+this is what the GNU Standards require.  When such a package is
+installed on a FHS compliant system, the installer will have to set
+@samp{--sysconfdir=/etc}.  As the maintainer of the package you
+should not be concerned by such site policies: use the appropriate
+standard directory variable to install your files so that installer
+can easily redefine these variables to match their site conventions.
+
+Installing files that should be used by another package, is slightly
+more involved.  Let's take an example and assume you want to install
+shared library that is a Python extension module.  If you ask Python
+where to install the library, it will answer something like this:
+
+@example
+% @kbd{python -c 'from distutils import sysconfig;
+             print sysconfig.get_python_lib(1,0)'}
+/usr/lib/python2.3/site-packages
+@end example
+
+If you indeed use this absolute path to install your shared library,
+non-root users will not be able to install the package, hence
+distcheck fails.
+
+Let's do better.  The @samp{sysconfig.get_python_lib()} function
+actually accepts a third argument that will replace Python's
+installation prefix.
+
+@example
+% @kbd{python -c 'from distutils import sysconfig;
+             print sysconfig.get_python_lib(1,0,"$@{exec_prefix@}")'}
+$@{exec_prefix@}/lib/python2.3/site-packages
+@end example
+
+You can also use this new path.  If you do
+@itemize @bullet
+@item
+root users can install your package with the same @option{--prefix}
+as Python (you get the behavior of the previous attempt)
+
+@item
+non-root users can install your package too, they will have the
+extension module in a place that is not searched by Python but they
+can work around this using environment variables (and if you installed
+scripts that use this shared library, it's easy to tell Python were to
+look in the beginning of your script, so the script works in both
+cases).
+@end itemize
+
+The @code{AM_PATH_PYTHON} macro uses similar commands to define
+@samp{$(pythondir)} and @samp{$(pyexecdir)} (@pxref{Python}).
+
+Of course not all tools are as advanced as Python regarding that
+substitution of @var{prefix}.  So another strategy is to figure the
+part of the of the installation directory that must be preserved.  For
+instance, here is how @code{AM_PATH_LISPDIR} (@pxref{Emacs Lisp})
+computes @samp{$(lispdir)}:
+
+@example
+$EMACS -batch -q -eval '(while load-path
+  (princ (concat (car load-path) "\n"))
+  (setq load-path (cdr load-path)))' >conftest.out
+lispdir=`sed -n
+  -e 's,/$,,'
+  -e '/.*\/lib\/x*emacs\/site-lisp$/@{
+        s,.*/lib/\(x*emacs/site-lisp\)$,$@{libdir@}/\1,;p;q;
+      @}'
+  -e '/.*\/share\/x*emacs\/site-lisp$/@{
+        s,.*/share/\(x*emacs/site-lisp\),$@{datadir@}/\1,;p;q;
+      @}'
+  conftest.out`
+@end example
+
+I.e., it just picks the first directory that looks like
+@file{*/lib/*emacs/site-lisp} or @file{*/share/*emacs/site-lisp} in
+the search path of emacs, and then substitutes @samp{$@{libdir@}} or
+@samp{$@{datadir@}} appropriately.
+
+The emacs case looks complicated because it processes a list and
+expect two possible layouts, otherwise it's easy, and the benefit for
+non-root users are really worth the extra @command{sed} invocation.
+
+
+@node History
+@chapter History of Automake
+
+This chapter presents various aspects of the history of Automake.  The
+exhausted reader can safely skip it; this will be more of interest to
+nostalgic people, or to those curious to learn about the evolution of
+Automake.
+
+@menu
+* Timeline::                    The Automake story.
+* Dependency Tracking Evolution::  Evolution of Automatic Dependency Tracking
+* Releases::                    Statistics about Automake Releases
+@end menu
+
+@node Timeline
+@section Timeline
+
+@table @asis
+@item 1994-09-19 First CVS commit.
+
+If we can trust the CVS repository, David J.@tie{}MacKenzie (djm) started
+working on Automake (or AutoMake, as it was spelt then) this Monday.
+
+The first version of the @command{automake} script looks as follows.
+
+@example
+#!/bin/sh
+
+status=0
+
+for makefile
+do
+  if test ! -f $@{makefile@}.am; then
+    echo "automake: $@{makefile@}.am: No such honkin' file"
+    status=1
+    continue
+  fi
+
+  exec 4> $@{makefile@}.in
+
+done
+@end example
+
+From this you can already see that Automake will be about reading
+@file{*.am} file and producing @file{*.in} files.  You cannot see
+anything else, but if you also know that David is the one who created
+Autoconf two years before you can guess the rest.
+
+Several commits follow, and by the end of the day Automake is
+reported to work for GNU fileutils and GNU m4.
+
+The modus operandi is the one that is still used today: variables
+assignments in @file{Makefile.am} files trigger injections of
+precanned @file{Makefile} fragments into the generated
+@file{Makefile.in}.  The use of @file{Makefile} fragments was inspired
+by the 4.4BSD @command{make} and include files, however Automake aims
+to be portable and to conform to the GNU standards for @file{Makefile}
+variables and targets.
+
+At this point, the most recent release of Autoconf is version 1.11,
+and David is preparing to release Autoconf 2.0 in late October.  As a
+matter of fact, he will barely touch Automake after September.
+
+@item 1994-11-05 David MacKenzie's last commit.
+
+At this point Automake is a 200 line portable shell script, plus 332
+lines of @file{Makefile} fragments.  In the @file{README}, David
+states his ambivalence between ``portable shell'' and ``more
+appropriate language'':
+
+@quotation
+I wrote it keeping in mind the possibility of it becoming an Autoconf
+macro, so it would run at configure-time.  That would slow
+configuration down a bit, but allow users to modify the Makefile.am
+without needing to fetch the AutoMake package.  And, the Makefile.in
+files wouldn't need to be distributed.  But all of AutoMake would.  So
+I might reimplement AutoMake in Perl, m4, or some other more
+appropriate language.
+@end quotation
+
+Automake is described as ``an experimental Makefile generator''.
+There is no documentation.  Adventurous users are referred to the
+examples and patches needed to use Automake with GNU m4 1.3, fileutils
+3.9, time 1.6, and development versions of find and indent.
+
+These examples seem to have been lost.  However at the time of writing
+(10 years later in September, 2004) the FSF still distributes a
+package that uses this version of Automake: check out GNU termutils
+2.0.
+
+@item 1995-11-12 Tom Tromey's first commit.
+
+After one year of inactivity, Tom Tromey takes over the package.
+Tom was working on GNU cpio back then, and doing this just for fun,
+having trouble finding a project to contribute to.  So while hacking
+he wanted to bring the @file{Makefile.in} up to GNU standards.  This
+was hard, and one day he saw Automake on @url{ftp://alpha.gnu.org/},
+grabbed it and tried it out.
+
+Tom didn't talk to djm about it until later, just to make sure he
+didn't mind if he made a release.  He did a bunch of early releases to
+the Gnits folks.
+
+Gnits was (and still is) totally informal, just a few GNU friends who
+Fran@,cois Pinard knew, who were all interested in making a common
+infrastructure for GNU projects, and shared a similar outlook on how
+to do it.  So they were able to make some progress.  It came along
+with Autoconf and extensions thereof, and then Automake from David and
+Tom (who were both gnitsians).  One of their ideas was to write a
+document paralleling the GNU standards, that was more strict in some
+ways and more detailed.  They never finished the GNITS standards, but
+the ideas mostly made their way into Automake.
+
+@item 1995-11-23 Automake 0.20
+
+Besides introducing automatic dependency tracking (@pxref{Dependency
+Tracking Evolution}), this version also supplies a 9-page manual.
+
+At this time @command{aclocal} and @code{AM_INIT_AUTOMAKE} did not
+exist, so many things had to be done by hand.  For instance, here is
+what a configure.in (this is the former name of the
+@file{configure.ac} we use today) must contain in order to use
+Automake 0.20:
+
+@example
+PACKAGE=cpio
+VERSION=2.3.911
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+AC_SUBST(PACKAGE)
+AC_SUBST(VERSION)
+AC_ARG_PROGRAM
+AC_PROG_INSTALL
+@end example
+
+(Today all of the above is achieved by @code{AC_INIT} and
+@code{AM_INIT_AUTOMAKE}.)
+
+Here is how programs are specified in @file{Makefile.am}:
+
+@example
+PROGRAMS = hello
+hello_SOURCES = hello.c
+@end example
+
+This looks pretty much like what we do today, except the
+@code{PROGRAMS} variable has no directory prefix specifying where
+@file{hello} should be installed: all programs are installed in
+@samp{$(bindir)}.  @code{LIBPROGRAMS} can be used to specify programs
+that must be built but not installed (it is called
+@code{noinst_PROGRAMS} nowadays).
+
+Programs can be built conditionally using @code{AC_SUBST}itutions:
+
+@example
+PROGRAMS = @@progs@@
+AM_PROGRAMS = foo bar baz
+@end example
+
+(@code{AM_PROGRAMS} has since then been renamed to
+@code{EXTRA_PROGRAMS}.)
+
+Similarly scripts, static libraries, and data can built and installed
+using the @code{LIBRARIES}, @code{SCRIPTS}, and @code{DATA} variables.
+However @code{LIBRARIES} were treated a bit specially in that Automake
+did automatically supply the @file{lib} and @file{.a} prefixes.
+Therefore to build @file{libcpio.a}, one had to write
+
+@example
+LIBRARIES = cpio
+cpio_SOURCES = ...
+@end example
+
+Extra files to distribute must be listed in @code{DIST_OTHER} (the
+ancestor of @code{EXTRA_DIST}).  Also extra directories that are to be
+distributed should appear in @code{DIST_SUBDIRS}, but the manual
+describes this as a temporary ugly hack (today extra directories should
+also be listed in @code{EXTRA_DIST}, and @code{DIST_SUBDIRS} is used
+for another purpose, @pxref{Conditional Subdirectories}).
+
+@item 1995-11-26 Automake 0.21
+
+In less time that it takes to cook a frozen pizza, Tom rewrites
+Automake using Perl.  At this time Perl 5 is only one year old, and
+Perl 4.036 is in use at many sites.  Supporting several Perl versions
+has been a source of problems through the whole history of Automake.
+
+If you never used Perl 4, imagine Perl 5 without objects, without
+@samp{my} variables (only dynamically scoped @samp{local} variables),
+without function prototypes, with function calls that needs to be
+prefixed with @samp{&}, etc.  Traces of this old style can still be
+found in today's @command{automake}.
+
+@item 1995-11-28 Automake 0.22
+@itemx 1995-11-29 Automake 0.23
+
+Bug fixes.
+
+@item 1995-12-08 Automake 0.24
+@itemx 1995-12-10 Automake 0.25
+
+Releases are raining.  0.24 introduces the uniform naming scheme we
+use today, i.e., @code{bin_PROGRAMS} instead of @code{PROGRAMS},
+@code{noinst_LIBRARIES} instead of @code{LIBLIBRARIES}, etc.  (However
+@code{EXTRA_PROGRAMS} does not exist yet, @code{AM_PROGRAMS} is still
+in use; and @code{TEXINFOS} and @code{MANS} still have no directory
+prefixes.)  Adding support for prefixes like that was one of the major
+ideas in automake; it has lasted pretty well.
+
+AutoMake is renamed to Automake (Tom seems to recall it was Fran@,cois
+Pinard's doing).
+
+0.25 fixes a Perl 4 portability bug.
+
+@item 1995-12-18 Jim Meyering starts using Automake in GNU Textutils.
+@item 1995-12-31 Fran@,cois Pinard starts using Automake in GNU tar.
+
+@item 1996-01-03 Automake 0.26
+@itemx 1996-01-03 Automake 0.27
+
+Of the many change and suggestions sent by Fran@,cois Pinard and
+included in 0.26, the most important is perhaps the advise that to
+ease customization a user rule or variable definition should always
+override an Automake rule or definition.
+
+Gordon Matzigkeit and Jim Meyering are two other early contributors
+that have been sending fixes.
+
+0.27 fixes yet another Perl 4 portability bug.
+
+@item 1996-01-13 Automake 0.28
+
+Automake starts scanning @file{configure.in} for @code{LIBOBJS}
+support.  This is an important step because until this version
+Automake did only know about the @file{Makefile.am}s it processed.
+@file{configure.in} was Autoconf's world and the link between Autoconf
+and Automake had to be done by the @file{Makefile.am} author.  For
+instance, if @file{config.h} was generated by @file{configure}, it was the
+package maintainer's responsibility to define the @code{CONFIG_HEADER}
+variable in each @file{Makefile.am}.
+
+Succeeding releases will rely more and more on scanning
+@file{configure.in} to better automate the Autoconf integration.
+
+0.28 also introduces the @code{AUTOMAKE_OPTIONS} variable and the
+@option{--gnu} and @option{--gnits} options, the latter being stricter.
+
+@item 1996-02-07 Automake 0.29
+
+Thanks to @file{configure.in} scanning, @code{CONFIG_HEADER} is gone,
+and rebuild rules for @file{configure}-generated file are
+automatically output.
+
+@code{TEXINFOS} and @code{MANS} converted to the uniform naming
+scheme.
+
+@item 1996-02-24 Automake 0.30
+
+The test suite is born.  It contains 9 tests.  From now on test cases
+will be added pretty regularly (@pxref{Releases}), and this proved to
+be really helpful later on.
+
+@code{EXTRA_PROGRAMS} finally replaces @code{AM_PROGRAMS}.
+
+All the third-party Autoconf macros, written mostly by Fran@,cois
+Pinard (and later Jim Meyering), are distributed in Automake's
+hand-written @file{aclocal.m4} file.  Package maintainers are expected
+to extract the necessary macros from this file.  (In previous version
+you had to copy and paste them from the manual...)
+
+@item 1996-03-11 Automake 0.31
+
+The test suite in 0.30 was run via a long @code{check-local} rule.  Upon
+Ulrich Drepper's suggestion, 0.31 makes it an Automake rule output
+whenever the @code{TESTS} variable is defined.
+
+@code{DIST_OTHER} is renamed to @code{EXTRA_DIST}, and the @code{check_}
+prefix is introduced.  The syntax is now the same as today.
+
+@item 1996-03-15 Gordon Matzigkeit starts writing libtool.
+
+@item 1996-04-27 Automake 0.32
+
+@code{-hook} targets are introduced; an idea from Dieter Baron.
+
+@file{*.info} files, which were output in the build directory are
+now built in the source directory, because they are distributed.  It
+seems these files like to move back and forth as that will happen
+again in future versions.
+
+@item 1996-05-18 Automake 0.33
+
+Gord Matzigkeit's main two contributions:
+
+@itemize
+@item very preliminary libtool support
+@item the distcheck rule
+@end itemize
+
+Although they were very basic at this point, these are probably
+among the top features for Automake today.
+
+Jim Meyering also provides the infamous @code{jm_MAINTAINER_MODE},
+since then renamed to @code{AM_MAINTAINER_MODE} and abandoned by its
+author (@pxref{maintainer-mode}).
+
+@item 1996-05-28 Automake 1.0
+
+After only six months of heavy development, the automake script is
+3134 lines long, plus 973 lines of @file{Makefile} fragments.  The
+package has 30 pages of documentation, and 38 test cases.
+@file{aclocal.m4} contains 4 macros.
+
+From now on and until version 1.4, new releases will occur at a rate
+of about one a year.  1.1 did not exist, actually 1.1b to 1.1p have
+been the name of beta releases for 1.2.  This is the first time
+Automake uses suffix letters to designate beta releases, an habit that
+lasts.
+
+@item 1996-10-10 Kevin Dalley packages Automake 1.0 for Debian GNU/Linux.
+
+@item 1996-11-26 David J.@tie{}MacKenzie releases Autoconf 2.12.
+
+Between June and October, the Autoconf development is almost staled.
+Roland McGrath has been working at the beginning of the year.  David
+comes back in November to release 2.12, but he won't touch Autoconf
+anymore after this year, and Autoconf then really stagnates.  The
+desolate Autoconf @file{ChangeLog} for 1997 lists only 7 commits.
+
+@item 1997-02-28 @email{automake@@gnu.ai.mit.edu} list alive
+
+The mailing list is announced as follows:
+@smallexample
+I've created the "automake" mailing list.  It is
+"automake@@gnu.ai.mit.edu".  Administrivia, as always, to
+automake-request@@gnu.ai.mit.edu.
+
+The charter of this list is discussion of automake, autoconf, and
+other configuration/portability tools (eg libtool).  It is expected
+that discussion will range from pleas for help all the way up to
+patches.
+
+This list is archived on the FSF machines.  Offhand I don't know if
+you can get the archive without an account there.
+
+This list is open to anybody who wants to join.  Tell all your
+friends!
+-- Tom Tromey
+@end smallexample
+
+Before that people were discussing Automake privately, on the Gnits
+mailing list (which is not public either), and less frequently on
+@code{gnu.misc.discuss}.
+
+@code{gnu.ai.mit.edu} is now @code{gnu.org}, in case you never
+noticed.  The archives of the early years of the
+@code{automake@@gnu.org} list have been lost, so today it is almost
+impossible to find traces of discussions that occurred before 1999.
+This has been annoying more than once, as such discussions can be
+useful to understand the rationale behind a piece of uncommented code
+that was introduced back then.
+
+@item 1997-06-22 Automake 1.2
+
+Automake developments continues, and more and more new Autoconf macros
+are required.  Distributing them in @file{aclocal.m4} and requiring
+people to browse this file to extract the relevant macros becomes
+uncomfortable.  Ideally, some of them should be contributed to
+Autoconf so that they can be used directly, however Autoconf is
+currently inactive.  Automake 1.2 consequently introduces
+@command{aclocal} (@command{aclocal} was actually started on
+1996-07-28), a tool that automatically constructs an @file{aclocal.m4}
+file from a repository of third-party macros.  Because Autoconf has
+stalled, Automake also becomes a kind of repository for such
+third-party macros, even macros completely unrelated to Automake (for
+instance macros that fix broken Autoconf macros).
+
+The 1.2 release contains 20 macros, among which the
+@code{AM_INIT_AUTOMAKE} macro that simplifies the creation of
+@file{configure.in}.
+
+Libtool is fully supported using @code{*_LTLIBRARIES}.
+
+The missing script is introduced by Fran@,cois Pinard; it is meant to be
+a better solution than @code{AM_MAINTAINER_MODE}
+(@pxref{maintainer-mode}).
+
+Conditionals support was implemented by Ian Lance Taylor.  At the
+time, Tom and Ian were working on an internal project at Cygnus.  They
+were using ILU, which is pretty similar to CORBA@.  They wanted to
+integrate ILU into their build, which was all @file{configure}-based,
+and Ian thought that adding conditionals to @command{automake} was
+simpler than doing all the work in @file{configure} (which was the
+standard at the time).  So this was actually funded by Cygnus.
+
+This very useful but tricky feature will take a lot of time to
+stabilize.  (At the time this text is written, there are still
+primaries that have not been updated to support conditional
+definitions in Automake 1.9.)
+
+The @command{automake} script has almost doubled: 6089 lines of Perl,
+plus 1294 lines of @file{Makefile} fragments.
+
+@item 1997-07-08 Gordon Matzigkeit releases Libtool 1.0.
+
+@item 1998-04-05 Automake 1.3
+
+This is a small advance compared to 1.2.
+It add support for assembly, and preliminary support for Java.
+
+Perl 5.004_04 is out, but fixes to support Perl 4 are still
+regularly submitted whenever Automake breaks it.
+
+@item 1998-09-06 @code{sourceware.cygnus.com} is on-line.
+
+Sourceware was setup by Jason Molenda to host open source projects.
+
+@item 1998-09-19  Automake CVS repository moved to @code{sourceware.cygnus.com}
+@itemx 1998-10-26  @code{sourceware.cygnus.com} announces it hosts Automake
+Automake is now hosted on @code{sourceware.cygnus.com}.  It has a
+publicly accessible CVS repository.  This CVS repository is a copy of
+the one Tom was using on his machine, which in turn is based on
+a copy of the CVS repository of David MacKenzie.  This is why we still
+have to full source history.  (Automake is still on Sourceware today,
+but the host has been renamed to @code{sources.redhat.com}.)
+
+The oldest file in the administrative directory of the CVS repository
+that was created on Sourceware is dated 1998-09-19, while the
+announcement that @command{automake} and @command{autoconf} had joined
+@command{sourceware} was made on 1998-10-26.  They were among the
+first projects to be hosted there.
+
+The heedful reader will have noticed Automake was exactly 4-year-old
+on 1998-09-19.
+
+@item 1999-01-05 Ben Elliston releases Autoconf 2.13.
+
+@item 1999-01-14 Automake 1.4
+
+This release adds support for Fortran 77 and for the @code{include}
+statement.  Also, @samp{+=} assignments are introduced, but it is
+still quite easy to fool Automake when mixing this with conditionals.
+
+These two releases, Automake 1.4 and Autoconf 2.13 makes a duo that
+will be used together for years.
+
+@command{automake} is 7228 lines, plus 1591 lines of Makefile
+fragment, 20 macros (some 1.3 macros were finally contributed back to
+Autoconf), 197 test cases, and 51 pages of documentation.
+
+@item 1999-03-27 The @code{user-dep-branch} is created on the CVS repository.
+
+This implements a new dependency tracking schemed that should be
+able to handle automatic dependency tracking using any compiler (not
+just gcc) and any make (not just GNU @command{make}).  In addition,
+the new scheme should be more reliable than the old one, as
+dependencies are generated on the end user's machine.  Alexandre Oliva
+creates depcomp for this purpose.
+
+@xref{Dependency Tracking Evolution}, for more details about the
+evolution of automatic dependency tracking in Automake.
+
+@item 1999-11-21 The @code{user-dep-branch} is merged into the main trunk.
+
+This was a huge problem since we also had patches going in on the
+trunk.  The merge took a long time and was very painful.
+
+@item 2000-05-10
+
+Since September 1999 and until 2003, Akim Demaille will be zealously
+revamping Autoconf.
+
+@quotation
+I think the next release should be called "3.0".@*
+Let's face it: you've basically rewritten autoconf.@*
+Every weekend there are 30 new patches.@*
+I don't see how we could call this "2.15" with a straight face.@*
+-- Tom Tromey on @email{autoconf@@gnu.org}
+@end quotation
+
+Actually Akim works like a submarine: he will pile up patches while he
+works off-line during the weekend, and flush them in batch when he
+resurfaces on Monday.
+
+@item 2001-01-24
+
+On this Wednesday, Autoconf 2.49c, the last beta before Autoconf 2.50
+is out, and Akim has to find something to do during his week-end :)
+
+@item 2001-01-28
+
+Akim sends a batch of 14 patches to @email{automake@@gnu.org}.
+
+@quotation
+Aiieeee!  I was dreading the day that the Demaillator turned his
+sights on automake@dots{} and now it has arrived! -- Tom Tromey
+@end quotation
+
+It's only the beginning: in two months he will send 192 patches.  Then
+he would slow down so Tom can catch up and review all this.  Initially
+Tom actually read all these patches, then he probably trustingly
+answered OK to most of them, and finally gave up and let Akim apply
+whatever he wanted.  There was no way to keep up with that patch rate.
+
+@quotation
+Anyway the patch below won't apply since it predates Akim's
+sourcequake; I have yet to figure where the relevant passage has
+been moved :) -- Alexandre Duret-Lutz
+@end quotation
+
+All these patches were sent to and discussed on
+@email{automake@@gnu.org}, so subscribed users were literally drown in
+technical mails.  Eventually, the @email{automake-patches@@gnu.org}
+mailing list was created in May.
+
+Year after year, Automake had drifted away from its initial design:
+construct @file{Makefile.in} by assembling various @file{Makefile}
+fragments.  In 1.4, lots of @file{Makefile} rules are being emitted at
+various places in the @command{automake} script itself; this does not
+help ensuring a consistent treatment of these rules (for instance
+making sure that user-defined rules override Automake's own rules).
+One of Akim's goal was moving all these hard-coded rules to separate
+@file{Makefile} fragments, so the logic could be centralized in a
+@file{Makefile} fragment processor.
+
+Another significant contribution of Akim is the interface with the
+``trace'' feature of Autoconf.  The way to scan @file{configure.in} at
+this time was to read the file and grep the various macro of interest
+to Automake.  Doing so could break in many unexpected ways; automake
+could miss some definition (for instance @samp{AC_SUBST([$1], [$2])}
+where the arguments are known only when M4 is run), or conversely it
+could detect some macro that was not expanded (because it is called
+conditionally).  In the CVS version of Autoconf, Akim had implemented
+the @option{--trace} option, which provides accurate information about
+where macros are actually called and with what arguments.  Akim will
+equip Automake with a second @file{configure.in} scanner that uses
+this @option{--trace} interface.  Since it was not sensible to drop the
+Autoconf 2.13 compatibility yet, this experimental scanner was only
+used when an environment variable was set, the traditional
+grep-scanner being still the default.
+
+@item 2001-04-25 Gary V.@tie{}Vaughan releases Libtool 1.4
+
+It has been more than two years since Automake 1.4, CVS Automake has
+suffered lot's of heavy changes and still is not ready for release.
+Libtool 1.4 had to be distributed with a patch against Automake 1.4.
+
+@item 2001-05-08 Automake 1.4-p1
+@itemx 2001-05-24 Automake 1.4-p2
+
+Gary V.@tie{}Vaughan, the principal Libtool maintainer, makes a ``patch
+release'' of Automake:
+
+@quotation
+The main purpose of this release is to have a stable automake
+which is compatible with the latest stable libtool.
+@end quotation
+
+The release also contains obvious fixes for bugs in Automake 1.4,
+some of which were reported almost monthly.
+
+@item 2001-05-21 Akim Demaille releases Autoconf 2.50
+
+@item 2001-06-07 Automake 1.4-p3
+@itemx 2001-06-10 Automake 1.4-p4
+@itemx 2001-07-15 Automake 1.4-p5
+
+Gary continues his patch-release series.  These also add support for
+some new Autoconf 2.50 idioms.  Essentially, Autoconf now advocates
+@file{configure.ac} over @file{configure.in}, and it introduces a new
+syntax for @code{AC_OUTPUT}ing files.
+
+@item 2001-08-23 Automake 1.5
+
+A major and long-awaited release, that comes more than two years after
+1.4.  It brings many changes, among which:
+@itemize
+@item The new dependency tracking scheme that uses @command{depcomp}.
+Aside from the improvement on the dependency tracking itself
+(@pxref{Dependency Tracking Evolution}), this also streamlines the use
+of automake generated @file{Makefile.in}s as the @file{Makefile.in}s
+used during development are now the same as those used in
+distributions.  Before that the @file{Makefile.in}s generated for
+maintainers required GNU @command{make} and GCC, they were different
+from the portable @file{Makefile} generated for distribution; this was
+causing some confusion.
+
+@item Support for per-target compilation flags.
+
+@item Support for reference to files in subdirectories in most
+@file{Makefile.am} variables.
+
+@item Introduction of the @code{dist_}, @code{nodist_}, and @code{nobase_}
+prefixes.
+@item Perl 4 support is finally dropped.
+@end itemize
+
+1.5 did broke several packages that worked with 1.4.  Enough so that
+Linux distributions could not easily install the new Automake version
+without breaking many of the packages for which they had to run
+@command{automake}.
+
+Some of these breakages were effectively bugs that would eventually be
+fixed in the next release.  However, a lot of damage was caused by
+some changes made deliberately to render Automake stricter on some
+setup we did consider bogus.  For instance, @samp{make distcheck} was
+improved to check that @samp{make uninstall} did remove all the files
+@samp{make install} installed, that @samp{make distclean} did not omit
+some file, and that a VPATH build would work even if the source
+directory was read-only.  Similarly, Automake now rejects multiple
+definitions of the same variable (because that would mix very badly
+with conditionals), and @samp{+=} assignments with no previous
+definition.  Because these changes all occurred suddenly after 1.4 had
+been established for more that two years, it hurt users.
+
+To make matter worse, meanwhile Autoconf (now at version 2.52) was
+facing similar troubles, for similar reasons.
+
+@item 2002-03-05 Automake 1.6
+
+This release introduced versioned installation (@pxref{API
+versioning}).  This was mainly pushed by Havoc Pennington, taking the
+GNOME source tree as motive: due to incompatibilities between the
+autotools it's impossible for the GNOME packages to switch to Autoconf
+2.53 and Automake 1.5 all at once, so they are currently stuck with
+Autoconf 2.13 and Automake 1.4.
+
+The idea was to call this version @file{automake-1.6}, call all its
+bug-fix versions identically, and switch to @file{automake-1.7} for
+the next release that adds new features or changes some rules.  This
+scheme implies maintaining a bug-fix branch in addition to the
+development trunk, which means more work from the maintainer, but
+providing regular bug-fix releases proved to be really worthwhile.
+
+Like 1.5, 1.6 also introduced a bunch of incompatibilities, meant or
+not.  Perhaps the more annoying was the dependence on the newly
+released Autoconf 2.53.  Autoconf seemed to have stabilized enough
+since its explosive 2.50 release, and included changes required to fix
+some bugs in Automake.  In order to upgrade to Automake 1.6, people
+now had to upgrade Autoconf too; for some packages it was no picnic.
+
+While versioned installation helped people to upgrade, it also
+unfortunately allowed people not to upgrade.  At the time of writing,
+some Linux distributions are shipping packages for Automake 1.4, 1.5,
+1.6, 1.7, 1.8, and 1.9.  Most of these still install 1.4 by default.
+Some distribution also call 1.4 the ``stable'' version, and present
+``1.9'' as the development version; this does not really makes sense
+since 1.9 is way more solid than 1.4.  All this does not help the
+newcomer.
+
+@item 2002-04-11 Automake 1.6.1
+
+1.6, and the upcoming 1.4-p6 release were the last release by Tom.
+This one and those following will be handled by Alexandre
+Duret-Lutz.  Tom is still around, and will be there until about 1.7,
+but his interest into Automake is drifting away towards projects like
+@command{gcj}.
+
+Alexandre has been using Automake since 2000, and started to
+contribute mostly on Akim's incitement (Akim and Alexandre have been
+working in the same room from 1999 to 2002).  In 2001 and 2002 he had
+a lot of free time to enjoy hacking Automake.
+
+@item 2002-06-14 Automake 1.6.2
+
+@item 2002-07-28 Automake 1.6.3
+@itemx 2002-07-28 Automake 1.4-p6
+
+Two releases on the same day.  1.6.3 is a bug-fix release.
+
+Tom Tromey backported the versioned installation mechanism on the 1.4
+branch, so that Automake 1.6.x and Automake 1.4-p6 could be installed
+side by side.  Another request from the GNOME folks.
+
+@item 2002-09-25 Automake 1.7
+
+This release switches to the new @file{configure.ac} scanner Akim
+was experimenting in 1.5.
+
+@item 2002-10-16 Automake 1.7.1
+@itemx 2002-12-06 Automake 1.7.2
+@itemx 2003-02-20 Automake 1.7.3
+@itemx 2003-04-23 Automake 1.7.4
+@itemx 2003-05-18 Automake 1.7.5
+@itemx 2003-07-10 Automake 1.7.6
+@itemx 2003-09-07 Automake 1.7.7
+@itemx 2003-10-07 Automake 1.7.8
+
+Many bug-fix releases.  1.7 lasted because the development version
+(upcoming 1.8) was suffering some major internal revamping.
+
+@item 2003-10-26 Automake on screen
+
+Episode 49, `Repercussions', in the third season of the `Alias' TV
+show is first aired.
+
+Marshall, one of the character, is working on a computer virus that he
+has to modify before it gets into the wrong hands or something like
+that.  The screenshots you see do not show any program code, they show
+a @file{Makefile.in} @code{generated by automake}...
+
+@item 2003-11-09 Automake 1.7.9
+
+@item 2003-12-10 Automake 1.8
+
+The most striking update is probably that of @command{aclocal}.
+
+@command{aclocal} now uses @code{m4_include} in the produced
+@code{aclocal.m4} when the included macros are already distributed
+with the package (an idiom used in many packages), which reduces code
+duplication.  Many people liked that, but in fact this change was
+really introduced to fix a bug in rebuild rules: @file{Makefile.in}
+must be rebuilt whenever a dependency of @file{configure} changes, but
+all the @file{m4} files included in @file{aclocal.m4} where unknown
+from @command{automake}.  Now @command{automake} can just trace the
+@code{m4_include}s to discover the dependencies.
+
+@command{aclocal} also starts using the @option{--trace} Autoconf option
+in order to discover used macros more accurately.  This will turn out
+to be very tricky (later releases will improve this) as people had
+devised many ways to cope with the limitation of previous
+@command{aclocal} versions, notably using handwritten
+@code{m4_include}s: @command{aclocal} must make sure not to redefine a
+rule that is already included by such statement.
+
+Automake also has seen its guts rewritten.  Although this rewriting
+took a lot of efforts, it is only apparent to the users in that some
+constructions previously disallowed by the implementation now work
+nicely.  Conditionals, Locations, Variable and Rule definitions,
+Options: these items on which Automake works have been rewritten as
+separate Perl modules, and documented.
+
+@itemx 2004-01-11 Automake 1.8.1
+@itemx 2004-01-12 Automake 1.8.2
+@itemx 2004-03-07 Automake 1.8.3
+@itemx 2004-04-25 Automake 1.8.4
+@itemx 2004-05-16 Automake 1.8.5
+
+@item 2004-07-28 Automake 1.9
+
+This release tries to simplify the compilation rules it outputs to
+reduce the size of the Makefile.  The complaint initially come from
+the libgcj developers.  Their @file{Makefile.in} generated with
+Automake 1.4 and custom build rules (1.4 did not support compiled
+Java) is 250KB@.  The one generated by 1.8 was over 9MB@!  1.9 gets it
+down to 1.2MB@.
+
+Aside from this it contains mainly minor changes and bug-fixes.
+
+@itemx 2004-08-11 Automake 1.9.1
+@itemx 2004-09-19 Automake 1.9.2
+
+Automake has ten years.  This chapter of the manual was initially
+written for this occasion.
+
+@end table
+
+@node Dependency Tracking Evolution
+@section Dependency Tracking in Automake
+
+Over the years Automake has deployed three different dependency
+tracking methods.  Each method, including the current one, has had
+flaws of various sorts.  Here we lay out the different dependency
+tracking methods, their flaws, and their fixes.  We conclude with
+recommendations for tool writers, and by indicating future directions
+for dependency tracking work in Automake.
+
+@subsection First Take
+@unnumberedsubsubsec Description
+
+Our first attempt at automatic dependency tracking was based on the
+method recommended by GNU @command{make}.  (@pxref{Automatic
+Prerequisites, , Generating Prerequisites Automatically, make, The GNU
+make Manual})
+
+This version worked by precomputing dependencies ahead of time.  For
+each source file, it had a special @file{.P} file that held the
+dependencies.  There was a rule to generate a @file{.P} file by
+invoking the compiler appropriately.  All such @file{.P} files were
+included by the @file{Makefile}, thus implicitly becoming dependencies
+of @file{Makefile}.
+
+@unnumberedsubsubsec Bugs
+
+This approach had several critical bugs.
+
+@itemize
+@item
+The code to generate the @file{.P} file relied on @command{gcc}.
+(A limitation, not technically a bug.)
+@item
+The dependency tracking mechanism itself relied on GNU @command{make}.
+(A limitation, not technically a bug.)
+@item
+Because each @file{.P} file was a dependency of @file{Makefile}, this
+meant that dependency tracking was done eagerly by @command{make}.
+For instance, @samp{make clean} would cause all the dependency files
+to be updated, and then immediately removed.  This eagerness also
+caused problems with some configurations; if a certain source file
+could not be compiled on a given architecture for some reason,
+dependency tracking would fail, aborting the entire build.
+@item
+As dependency tracking was done as a pre-pass, compile times were
+doubled--the compiler had to be run twice per source file.
+@item
+@samp{make dist} re-ran @command{automake} to generate a
+@file{Makefile} that did not have automatic dependency tracking (and
+that was thus portable to any version of @command{make}).  In order to
+do this portably, Automake had to scan the dependency files and remove
+any reference that was to a source file not in the distribution.
+This process was error-prone.  Also, if @samp{make dist} was run in an
+environment where some object file had a dependency on a source file
+that was only conditionally created, Automake would generate a
+@file{Makefile} that referred to a file that might not appear in the
+end user's build.  A special, hacky mechanism was required to work
+around this.
+@end itemize
+
+@unnumberedsubsubsec Historical Note
+
+The code generated by Automake is often inspired by the
+@file{Makefile} style of a particular author.  In the case of the first
+implementation of dependency tracking, I believe the impetus and
+inspiration was Jim Meyering.  (I could be mistaken.  If you know
+otherwise feel free to correct me.)
+
+@subsection Dependencies As Side Effects
+@unnumberedsubsubsec Description
+
+The next refinement of Automake's automatic dependency tracking scheme
+was to implement dependencies as side effects of the compilation.
+This was aimed at solving the most commonly reported problems with the
+first approach.  In particular we were most concerned with eliminating
+the weird rebuilding effect associated with make clean.
+
+In this approach, the @file{.P} files were included using the
+@code{-include} command, which let us create these files lazily.  This
+avoided the @samp{make clean} problem.
+
+We only computed dependencies when a file was actually compiled.  This
+avoided the performance penalty associated with scanning each file
+twice.  It also let us avoid the other problems associated with the
+first, eager, implementation.  For instance, dependencies would never
+be generated for a source file that was not compilable on a given
+architecture (because it in fact would never be compiled).
+
+@unnumberedsubsubsec Bugs
+
+@itemize
+@item
+This approach also relied on the existence of @command{gcc} and GNU
+@command{make}.  (A limitation, not technically a bug.)
+@item
+Dependency tracking was still done by the developer, so the problems
+from the first implementation relating to massaging of dependencies by
+@samp{make dist} were still in effect.
+@item
+This implementation suffered from the ``deleted header file'' problem.
+Suppose a lazily-created @file{.P} file includes a dependency on a
+given header file, like this:
+
+@example
+maude.o: maude.c something.h
+@end example
+
+Now suppose that the developer removes @file{something.h} and updates
+@file{maude.c} so that this include is no longer needed.  If he runs
+@command{make}, he will get an error because there is no way to create
+@file{something.h}.
+
+We fixed this problem in a later release by further massaging the
+output of @command{gcc} to include a dummy dependency for each header
+file.
+@end itemize
+
+@subsection Dependencies for the User
+@unnumberedsubsubsec Description
+
+The bugs associated with @samp{make dist}, over time, became a real
+problem.  Packages using Automake were being built on a large number
+of platforms, and were becoming increasingly complex.  Broken
+dependencies were distributed in ``portable'' @file{Makefile.in}s,
+leading to user complaints.  Also, the requirement for @command{gcc}
+and GNU @command{make} was a constant source of bug reports.  The next
+implementation of dependency tracking aimed to remove these problems.
+
+We realized that the only truly reliable way to automatically track
+dependencies was to do it when the package itself was built.  This
+meant discovering a method portable to any version of make and any
+compiler.  Also, we wanted to preserve what we saw as the best point
+of the second implementation: dependency computation as a side effect
+of compilation.
+
+In the end we found that most modern make implementations support some
+form of include directive.  Also, we wrote a wrapper script that let
+us abstract away differences between dependency tracking methods for
+compilers.  For instance, some compilers cannot generate dependencies
+as a side effect of compilation.  In this case we simply have the
+script run the compiler twice.  Currently our wrapper script
+(@command{depcomp}) knows about twelve different compilers (including
+a "compiler" that simply invokes @command{makedepend} and then the
+real compiler, which is assumed to be a standard Unix-like C compiler
+with no way to do dependency tracking).
+
+@unnumberedsubsubsec Bugs
+
+@itemize
+@item
+Running a wrapper script for each compilation slows down the build.
+@item
+Many users don't really care about precise dependencies.
+@item
+This implementation, like every other automatic dependency tracking
+scheme in common use today (indeed, every one we've ever heard of),
+suffers from the ``duplicated new header'' bug.
+
+This bug occurs because dependency tracking tools, such as the
+compiler, only generate dependencies on the successful opening of a
+file, and not on every probe.
+
+Suppose for instance that the compiler searches three directories for
+a given header, and that the header is found in the third directory.
+If the programmer erroneously adds a header file with the same name to
+the first directory, then a clean rebuild from scratch could fail
+(suppose the new header file is buggy), whereas an incremental rebuild
+will succeed.
+
+What has happened here is that people have a misunderstanding of what
+a dependency is.  Tool writers think a dependency encodes information
+about which files were read by the compiler.  However, a dependency
+must actually encode information about what the compiler tried to do.
+
+This problem is not serious in practice.  Programmers typically do not
+use the same name for a header file twice in a given project.  (At
+least, not in C or C++.  This problem may be more troublesome in
+Java.)  This problem is easy to fix, by modifying dependency
+generators to record every probe, instead of every successful open.
+
+@item
+Since automake generates dependencies as a side effect of compilation,
+there is a bootstrapping problem when header files are generated by
+running a program.  The problem is that, the first time the build is
+done, there is no way by default to know that the headers are
+required, so make might try to run a compilation for which the headers
+have not yet been built.
+
+This was also a problem in the previous dependency tracking implementation.
+
+The current fix is to use @code{BUILT_SOURCES} to list built headers
+(@pxref{Sources}).  This causes them to be built before any other
+other build rules are run.  This is unsatisfactory as a general
+solution, however in practice it seems sufficient for most actual
+programs.
+@end itemize
+
+This code is used since Automake 1.5.
+
+In GCC 3.0, we managed to convince the maintainers to add special
+command-line options to help Automake more efficiently do its job.  We
+hoped this would let us avoid the use of a wrapper script when
+Automake's automatic dependency tracking was used with @command{gcc}.
+
+Unfortunately, this code doesn't quite do what we want.  In
+particular, it removes the dependency file if the compilation fails;
+we'd prefer that it instead only touch the file in any way if the
+compilation succeeds.
+
+Nevertheless, since Automake 1.7, when a recent @command{gcc} is
+detected at @command{configure} time, we inline the
+dependency-generation code and do not use the @command{depcomp}
+wrapper script.  This makes compilations faster for those using this
+compiler (probably our primary user base).  The counterpart is that
+because we have to encode two compilation rules in @file{Makefile}
+(with or without @command{depcomp}), the produced @file{Makefile}s are
+larger.
+
+@subsection Techniques for Computing Dependencies
+
+There are actually several ways for a build tool like Automake to
+cause tools to generate dependencies.
+
+@table @asis
+@item @command{makedepend}
+This was a commonly-used method in the past.  The idea is to run a
+special program over the source and have it generate dependency
+information.  Traditional implementations of @command{makedepend} ere
+not completely precise; ordinarily they were conservative and
+discovered too many dependencies.
+@item The tool
+An obvious way to generate dependencies is to simply write the tool so
+that it can generate the information needed by the build tool.  This is
+also the most portable method.  Many compilers have an option to
+generate dependencies.  Unfortunately, not all tools provide such an
+option.
+@item The file system
+It is possible to write a special file system that tracks opens,
+reads, writes, etc, and then feed this information back to the build
+tool.  @command{clearmake} does this.  This is a very powerful
+technique, as it doesn't require cooperation from the
+tool.  Unfortunately it is also very difficult to implement and also
+not practical in the general case.
+@item @code{LD_PRELOAD}
+Rather than use the file system, one could write a special library to
+intercept @code{open} and other syscalls.  This technique is also quite
+powerful, but unfortunately it is not portable enough for use in
+@command{automake}.
+@end table
+
+@subsection Recommendations for Tool Writers
+
+We think that every compilation tool ought to be able to generate
+dependencies as a side effect of compilation.  Furthermore, at least
+while @command{make}-based tools are nearly universally in use (at
+least in the free software community), the tool itself should generate
+dummy dependencies for header files, to avoid the deleted header file
+bug.  Finally, the tool should generate a dependency for each probe,
+instead of each successful file open, in order to avoid the duplicated
+new header bug.
+
+@subsection Future Directions for Automake's Dependency Tracking
+
+Currently, only languages and compilers understood by Automake can
+have dependency tracking enabled.  We would like to see if it is
+practical (and worthwhile) to let this support be extended by the user
+to languages unknown to Automake.
+
+@node Releases
+@section Release Statistics
+
+The following table (inspired by @samp{perlhist(1)}) quantifies the
+evolution of Automake using these metrics:
+
+@table @asis
+@item Date, Rel
+The date and version of the release.
+@item am
+The number of lines of the @command{automake} script.
+@item acl
+The number of lines of the @command{aclocal} script.
+@item pm
+The number of lines of the @command{Perl} supporting modules.
+@item @file{*.am}
+The number of lines of the @file{Makefile} fragments.  The number in parenthesis
+is the number of files.
+@item m4
+The number of lines (and files) of Autoconf macros.
+@item doc
+The number of pages of the documentation (the Postscript version).
+@item t
+The number of test cases in the test suite.
+@end table
+
+@multitable {8888-88-88} {8.8-p8} {8888} {888} {8888} {8888 (88)} {8888 (88)} {888} {888}
+@headitem Date   @tab Rel @tab am @tab acl @tab pm @tab @file{*.am} @tab m4 @tab doc @tab t
+@item 1994-09-19 @tab CVS    @tab  141 @tab     @tab      @tab  299 (24) @tab           @tab     @tab
+@item 1994-11-05 @tab CVS    @tab  208 @tab     @tab      @tab  332 (28) @tab           @tab     @tab
+@item 1995-11-23 @tab 0.20   @tab  533 @tab     @tab      @tab  458 (35) @tab           @tab   9 @tab
+@item 1995-11-26 @tab 0.21   @tab  613 @tab     @tab      @tab  480 (36) @tab           @tab  11 @tab
+@item 1995-11-28 @tab 0.22   @tab 1116 @tab     @tab      @tab  539 (38) @tab           @tab  12 @tab
+@item 1995-11-29 @tab 0.23   @tab 1240 @tab     @tab      @tab  541 (38) @tab           @tab  12 @tab
+@item 1995-12-08 @tab 0.24   @tab 1462 @tab     @tab      @tab  504 (33) @tab           @tab  14 @tab
+@item 1995-12-10 @tab 0.25   @tab 1513 @tab     @tab      @tab  511 (37) @tab           @tab  15 @tab
+@item 1996-01-03 @tab 0.26   @tab 1706 @tab     @tab      @tab  438 (36) @tab           @tab  16 @tab
+@item 1996-01-03 @tab 0.27   @tab 1706 @tab     @tab      @tab  438 (36) @tab           @tab  16 @tab
+@item 1996-01-13 @tab 0.28   @tab 1964 @tab     @tab      @tab  934 (33) @tab           @tab  16 @tab
+@item 1996-02-07 @tab 0.29   @tab 2299 @tab     @tab      @tab  936 (33) @tab           @tab  17 @tab
+@item 1996-02-24 @tab 0.30   @tab 2544 @tab     @tab      @tab  919 (32) @tab   85 (1)  @tab  20 @tab 9
+@item 1996-03-11 @tab 0.31   @tab 2877 @tab     @tab      @tab  919 (32) @tab   85 (1)  @tab  29 @tab 17
+@item 1996-04-27 @tab 0.32   @tab 3058 @tab     @tab      @tab  921 (31) @tab   85 (1)  @tab  30 @tab 26
+@item 1996-05-18 @tab 0.33   @tab 3110 @tab     @tab      @tab  926 (31) @tab  105 (1)  @tab  30 @tab 35
+@item 1996-05-28 @tab 1.0    @tab 3134 @tab     @tab      @tab  973 (32) @tab  105 (1)  @tab  30 @tab 38
+@item 1997-06-22 @tab 1.2    @tab 6089 @tab 385 @tab      @tab 1294 (36) @tab  592 (23) @tab  37 @tab 126
+@item 1998-04-05 @tab 1.3    @tab 6415 @tab 422 @tab      @tab 1470 (39) @tab  741 (26) @tab  39 @tab 156
+@item 1999-01-14 @tab 1.4    @tab 7240 @tab 426 @tab      @tab 1591 (40) @tab  734 (23) @tab  51 @tab 197
+@item 2001-05-08 @tab 1.4-p1 @tab 7251 @tab 426 @tab      @tab 1591 (40) @tab  734 (23) @tab  51 @tab 197
+@item 2001-05-24 @tab 1.4-p2 @tab 7268 @tab 439 @tab      @tab 1591 (40) @tab  734 (23) @tab  49 @tab 197
+@item 2001-06-07 @tab 1.4-p3 @tab 7312 @tab 439 @tab      @tab 1591 (40) @tab  734 (23) @tab  49 @tab 197
+@item 2001-06-10 @tab 1.4-p4 @tab 7321 @tab 439 @tab      @tab 1591 (40) @tab  734 (23) @tab  49 @tab 198
+@item 2001-07-15 @tab 1.4-p5 @tab 7228 @tab 426 @tab      @tab 1596 (40) @tab  734 (23) @tab  51 @tab 198
+@item 2001-08-23 @tab 1.5    @tab 8016 @tab 475 @tab  600 @tab 2654 (39) @tab 1166 (32) @tab  63 @tab 327
+@item 2002-03-05 @tab 1.6    @tab 8465 @tab 475 @tab 1136 @tab 2732 (39) @tab 1603 (31) @tab  66 @tab 365
+@item 2002-04-11 @tab 1.6.1  @tab 8544 @tab 475 @tab 1136 @tab 2741 (39) @tab 1603 (31) @tab  66 @tab 372
+@item 2002-06-14 @tab 1.6.2  @tab 8575 @tab 475 @tab 1136 @tab 2800 (39) @tab 1609 (31) @tab  67 @tab 386
+@item 2002-07-28 @tab 1.6.3  @tab 8600 @tab 475 @tab 1153 @tab 2809 (39) @tab 1609 (31) @tab  67 @tab 391
+@item 2002-07-28 @tab 1.4-p6 @tab 7332 @tab 455 @tab      @tab 1596 (40) @tab  735 (24) @tab  49 @tab 197
+@item 2002-09-25 @tab 1.7    @tab 9189 @tab 471 @tab 1790 @tab 2965 (39) @tab 1606 (33) @tab  73 @tab 430
+@item 2002-10-16 @tab 1.7.1  @tab 9229 @tab 475 @tab 1790 @tab 2977 (39) @tab 1606 (33) @tab  73 @tab 437
+@item 2002-12-06 @tab 1.7.2  @tab 9334 @tab 475 @tab 1790 @tab 2988 (39) @tab 1606 (33) @tab  77 @tab 445
+@item 2003-02-20 @tab 1.7.3  @tab 9389 @tab 475 @tab 1790 @tab 3023 (39) @tab 1651 (34) @tab  84 @tab 448
+@item 2003-04-23 @tab 1.7.4  @tab 9429 @tab 475 @tab 1790 @tab 3031 (39) @tab 1644 (34) @tab  85 @tab 458
+@item 2003-05-18 @tab 1.7.5  @tab 9429 @tab 475 @tab 1790 @tab 3033 (39) @tab 1645 (34) @tab  85 @tab 459
+@item 2003-07-10 @tab 1.7.6  @tab 9442 @tab 475 @tab 1790 @tab 3033 (39) @tab 1660 (34) @tab  85 @tab 461
+@item 2003-09-07 @tab 1.7.7  @tab 9443 @tab 475 @tab 1790 @tab 3041 (39) @tab 1660 (34) @tab  90 @tab 467
+@item 2003-10-07 @tab 1.7.8  @tab 9444 @tab 475 @tab 1790 @tab 3041 (39) @tab 1660 (34) @tab  90 @tab 468
+@item 2003-11-09 @tab 1.7.9  @tab 9444 @tab 475 @tab 1790 @tab 3048 (39) @tab 1660 (34) @tab  90 @tab 468
+@item 2003-12-10 @tab 1.8    @tab 7171 @tab 585 @tab 7730 @tab 3236 (39) @tab 1666 (36) @tab 104 @tab 521
+@item 2004-01-11 @tab 1.8.1  @tab 7217 @tab 663 @tab 7726 @tab 3287 (39) @tab 1686 (36) @tab 104 @tab 525
+@item 2004-01-12 @tab 1.8.2  @tab 7217 @tab 663 @tab 7726 @tab 3288 (39) @tab 1686 (36) @tab 104 @tab 526
+@item 2004-03-07 @tab 1.8.3  @tab 7214 @tab 686 @tab 7735 @tab 3303 (39) @tab 1695 (36) @tab 111 @tab 530
+@item 2004-04-25 @tab 1.8.4  @tab 7214 @tab 686 @tab 7736 @tab 3310 (39) @tab 1701 (36) @tab 112 @tab 531
+@item 2004-05-16 @tab 1.8.5  @tab 7240 @tab 686 @tab 7736 @tab 3299 (39) @tab 1701 (36) @tab 112 @tab 533
+@item 2004-07-28 @tab 1.9    @tab 7508 @tab 715 @tab 7794 @tab 3352 (40) @tab 1812 (37) @tab 115 @tab 551
+@item 2004-08-11 @tab 1.9.1  @tab 7512 @tab 715 @tab 7794 @tab 3354 (40) @tab 1812 (37) @tab 115 @tab 552
+@item 2004-09-19 @tab 1.9.2  @tab 7512 @tab 715 @tab 7794 @tab 3354 (40) @tab 1812 (37) @tab 132 @tab 554
+@end multitable
+
+
+@c ========================================================== Appendices
+
+@page
+@node Copying This Manual
+@appendix Copying This Manual
+
+@menu
+* GNU Free Documentation License::  License for copying this manual
+@end menu
+
+@include fdl.texi
+
+@page
+@node Indices
+@appendix Indices
+
+@menu
+* Macro Index::                 Index of Autoconf macros
+* Variable Index::              Index of Makefile variables
+* General Index::               General index
+@end menu
+
+@node Macro Index
+@appendixsec Macro Index
+
+@printindex fn
+
+@node Variable Index
+@appendixsec Variable Index
+
+@printindex vr
+
+@node General Index
+@appendixsec General Index
+
+@printindex cp
+
+
+@page
+@contents
+@bye
+
+@c  LocalWords:  texinfo setfilename settitle setchapternewpage texi direntry
+@c  LocalWords:  dircategory in's aclocal ifinfo titlepage Tromey vskip pt sp
+@c  LocalWords:  filll defcodeindex ov cv op tr syncodeindex fn cp vr ifnottex
+@c  LocalWords:  dir Automake's ac Dist Gnits gnits cygnus dfn Autoconf's pxref
+@c  LocalWords:  cindex Autoconf autoconf perl samp cvs dist trindex SUBST foo
+@c  LocalWords:  xs emph FIXME ref vindex pkglibdir pkgincludedir pkgdatadir mt
+@c  LocalWords:  pkg libdir cpio bindir sbindir rmt pax sbin zar zardir acindex
+@c  LocalWords:  HTML htmldir html noinst TEXINFOS nodist nobase strudel CFLAGS
+@c  LocalWords:  libmumble CC YFLAGS ansi knr itemx de fication config url comp
+@c  LocalWords:  depcomp elisp sh mdate mkinstalldirs mkdir py tex dvi ps pdf
+@c  LocalWords:  ylwrap zardoz INIT gettext acinclude mv FUNCS LIBOBJS LDADD fr
+@c  LocalWords:  uref featureful dnl src LINGUAS es ko nl pl sl sv PROG ISC doc
+@c  LocalWords:  POSIX STDC fcntl FUNC ALLOCA blksize struct stat intl po chmod
+@c  LocalWords:  ChangeLog SUBDIRS gettextize gpl testdata getopt INTLLIBS cpp
+@c  LocalWords:  localedir datadir DLOCALEDIR DEXIT CPPFLAGS autoreconf opindex
+@c  LocalWords:  AUX var symlink deps Wno Wnone package's aclocal's distclean
+@c  LocalWords:  ltmain xref LIBSOURCE LIBSOURCES LIBOBJ MEMCMP vs RANLIB CXX
+@c  LocalWords:  LDFLAGS LIBTOOL libtool XTRA LIBS gettext's acdir APIVERSION
+@c  LocalWords:  dirlist noindent usr MULTILIB multilib Multilibs TIOCGWINSZ sc
+@c  LocalWords:  GWINSZ termios SRCDIR tarball bzip LISPDIR lispdir XEmacs CCAS
+@c  LocalWords:  emacsen MicroEmacs CCASFLAGS UX GCJ gcj GCJFLAGS posix DMALLOC
+@c  LocalWords:  dmalloc ldmalloc REGEX regex rx DEPDIR DEP DEFUN aclocaldir fi
+@c  LocalWords:  mymacro myothermacro AMFLAGS autopoint autogen libtoolize yum
+@c  LocalWords:  autoheader README MAKEFLAGS subdir Inetutils sync COND endif
+@c  LocalWords:  Miller's installable includedir inc pkgdata EXEEXT libexec bsd
+@c  LocalWords:  pkglib libexecdir prog libcpio cpio's dlopen dlpreopen linux
+@c  LocalWords:  subsubsection OBJEXT esac lib LTLIBRARIES liblob LIBADD AR ar
+@c  LocalWords:  ARFLAGS cru ing maude libgettext lo LTLIBOBJS rpath SGI PRE yy
+@c  LocalWords:  libmaude CCLD CXXFLAGS FFLAGS LFLAGS OBJCFLAGS RFLAGS DEFS cc
+@c  LocalWords:  SHORTNAME vtable srcdir nostdinc basename yxx cxx ll lxx gdb
+@c  LocalWords:  lexers yymaxdepth maxdepth yyparse yylex yyerror yylval lval
+@c  LocalWords:  yychar yydebug yypact yyr yydef def yychk chk yypgo pgo yyact
+@c  LocalWords:  yyexca exca yyerrflag errflag yynerrs nerrs yyps yypv pv yys
+@c  LocalWords:  yystate yytmp tmp yyv yyval val yylloc lloc yyreds yytoks toks
+@c  LocalWords:  yylhs yylen yydefred yydgoto yysindex yyrindex yygindex yyname
+@c  LocalWords:  yytable yycheck yyrule byacc CXXCOMPILE CXXLINK FLINK cfortran
+@c  LocalWords:  Catalogue preprocessable FLIBS libfoo baz JAVACFLAGS java exe
+@c  LocalWords:  SunOS fying basenames exeext uninstalled oldinclude kr FSF's
+@c  LocalWords:  pkginclude oldincludedir sysconf sharedstate localstate gcc rm
+@c  LocalWords:  sysconfdir sharedstatedir localstatedir preexist CLEANFILES gz
+@c  LocalWords:  unnumberedsubsec depfile tmpdepfile depmode const interoperate
+@c  LocalWords:  JAVAC javac JAVAROOT builddir CLASSPATH ENV pyc pyo pkgpython
+@c  LocalWords:  pyexecdir pkgpyexecdir Python's pythondir pkgpythondir txi ois
+@c  LocalWords:  installinfo vers MAKEINFO makeinfo MAKEINFOFLAGS noinstall rf
+@c  LocalWords:  mandir thesame alsothesame installman myexecbin DESTDIR Pinard
+@c  LocalWords:  uninstall installdirs uninstalls MOSTLYCLEANFILES mostlyclean
+@c  LocalWords:  DISTCLEANFILES MAINTAINERCLEANFILES gzip'd GZIP gzip shar exp
+@c  LocalWords:  distdir distcheck distcleancheck listfiles distuninstallcheck
+@c  LocalWords:  VPATH tarfile stdout XFAIL DejaGnu dejagnu DEJATOOL runtest ln
+@c  LocalWords:  RUNTESTDEFAULTFLAGS toolchain RUNTESTFLAGS asis readme DVIPS
+@c  LocalWords:  installcheck gzipped tarZ std utils etags mkid multilibbing cd
+@c  LocalWords:  ARGS taggable ETAGSFLAGS lang ctags CTAGSFLAGS GTAGS gtags idl
+@c  LocalWords:  foocc doit idlC multilibs ABIs cmindex defmac ARG enableval FC
+@c  LocalWords:  MSG xtrue DBG pathchk CYGWIN afile proglink versioned CVS's TE
+@c  LocalWords:  wildcards Autoconfiscated subsubheading autotools Meyering API
+@c  LocalWords:  ois's wildcard Wportability cartouche vrindex printindex Duret
+@c  LocalWords:  DSOMEFLAG DVERSION automake Lutz insertcopying versioning FAQ
+@c  LocalWords:  LTLIBOBJ Libtool's libtool's libltdl dlopening itutions libbar
+@c  LocalWords:  WANTEDLIBS libhello sublibraries libtop libsub dlopened Ratfor
+@c  LocalWords:  mymodule timestamps timestamp underquoted MAKEINFOHTMLFLAGS te
+@c  LocalWords:  GNUmakefile buildir Subpackages subpackage's subpackages aux
+@c  LocalWords:  detailmenu Timeline pwd reldir AUTOM autom PREREQ FOOBAR libc
+@c  LocalWords:  libhand subpackage moduleN libmain libmisc FCFLAGS FCCOMPILE
+@c  LocalWords:  FCLINK subst sed ELCFILES elc MAKEINFOHTML dvips esyscmd ustar
+@c  LocalWords:  tarballs Woverride scrdir vfi ELFILES djm AutoMake honkin FSF
+@c  LocalWords:  fileutils precanned MacKenzie's reimplement termutils Tromey's
+@c  LocalWords:  cois gnitsians LIBPROGRAMS progs LIBLIBRARIES Textutils Ulrich
+@c  LocalWords:  Matzigkeit Drepper's Gord Matzigkeit's jm Dalley Debian eg org
+@c  LocalWords:  Administrivia ILU CORBA Sourceware Molenda sourceware Elliston
+@c  LocalWords:  dep Oliva Akim Demaille Aiieeee Demaillator Akim's sourcequake
+@c  LocalWords:  grep backported screenshots libgcj KB unnumberedsubsubsec pre
+@c  LocalWords:  precomputing hacky makedepend inline clearmake LD PRELOAD Rel
+@c  LocalWords:  syscalls perlhist acl pm multitable headitem fdl appendixsec
+@c  LocalWords:  LTALLOCA MALLOC malloc memcmp strdup alloca libcompat xyz DFOO
+@c  LocalWords:  unprefixed buildable preprocessed DBAZ DDATADIR WARNINGCFLAGS
+@c  LocalWords:  LIBFOOCFLAGS LIBFOOLDFLAGS ftable testSubDir obj
+@c  LocalWords:  barexec Pinard's
Index: /trunk/essentials/sys-devel/automake-1.9/doc/fdl.texi
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/fdl.texi	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/fdl.texi	(revision 3089)
@@ -0,0 +1,452 @@
+
+@node GNU Free Documentation License
+@appendixsec GNU Free Documentation License
+
+@cindex FDL, GNU Free Documentation License
+@center Version 1.2, November 2002
+
+@display
+Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
+51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+@end display
+
+@enumerate 0
+@item
+PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document @dfn{free} in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of ``copyleft'', which means that derivative
+works of the document must themselves be free in the same sense.  It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does.  But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book.  We recommend this License
+principally for works whose purpose is instruction or reference.
+
+@item
+APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License.  Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein.  The ``Document'', below,
+refers to any such manual or work.  Any member of the public is a
+licensee, and is addressed as ``you''.  You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A ``Modified Version'' of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A ``Secondary Section'' is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject.  (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.)  The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The ``Invariant Sections'' are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License.  If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant.  The Document may contain zero
+Invariant Sections.  If the Document does not identify any Invariant
+Sections then there are none.
+
+The ``Cover Texts'' are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License.  A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A ``Transparent'' copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters.  A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text.  A copy that is not ``Transparent'' is called ``Opaque''.
+
+Examples of suitable formats for Transparent copies include plain
+@sc{ascii} without markup, Texinfo input format, La@TeX{} input
+format, @acronym{SGML} or @acronym{XML} using a publicly available
+@acronym{DTD}, and standard-conforming simple @acronym{HTML},
+PostScript or @acronym{PDF} designed for human modification.  Examples
+of transparent image formats include @acronym{PNG}, @acronym{XCF} and
+@acronym{JPG}.  Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, @acronym{SGML} or
+@acronym{XML} for which the @acronym{DTD} and/or processing tools are
+not generally available, and the machine-generated @acronym{HTML},
+PostScript or @acronym{PDF} produced by some word processors for
+output purposes only.
+
+The ``Title Page'' means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page.  For works in
+formats which do not have any title page as such, ``Title Page'' means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+A section ``Entitled XYZ'' means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language.  (Here XYZ stands for a
+specific section name mentioned below, such as ``Acknowledgements'',
+``Dedications'', ``Endorsements'', or ``History''.)  To ``Preserve the Title''
+of such a section when you modify the Document means that it remains a
+section ``Entitled XYZ'' according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document.  These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+@item
+VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no other
+conditions whatsoever to those of this License.  You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute.  However, you may accept
+compensation in exchange for copies.  If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+@item
+COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover.  Both covers must also clearly and legibly identify
+you as the publisher of these copies.  The front cover must present
+the full title with all words of the title equally prominent and
+visible.  You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to give
+them a chance to provide you with an updated version of the Document.
+
+@item
+MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it.  In addition, you must do these things in the Modified Version:
+
+@enumerate A
+@item
+Use in the Title Page (and on the covers, if any) a title distinct
+from that of the Document, and from those of previous versions
+(which should, if there were any, be listed in the History section
+of the Document).  You may use the same title as a previous version
+if the original publisher of that version gives permission.
+
+@item
+List on the Title Page, as authors, one or more persons or entities
+responsible for authorship of the modifications in the Modified
+Version, together with at least five of the principal authors of the
+Document (all of its principal authors, if it has fewer than five),
+unless they release you from this requirement.
+
+@item
+State on the Title page the name of the publisher of the
+Modified Version, as the publisher.
+
+@item
+Preserve all the copyright notices of the Document.
+
+@item
+Add an appropriate copyright notice for your modifications
+adjacent to the other copyright notices.
+
+@item
+Include, immediately after the copyright notices, a license notice
+giving the public permission to use the Modified Version under the
+terms of this License, in the form shown in the Addendum below.
+
+@item
+Preserve in that license notice the full lists of Invariant Sections
+and required Cover Texts given in the Document's license notice.
+
+@item
+Include an unaltered copy of this License.
+
+@item
+Preserve the section Entitled ``History'', Preserve its Title, and add
+to it an item stating at least the title, year, new authors, and
+publisher of the Modified Version as given on the Title Page.  If
+there is no section Entitled ``History'' in the Document, create one
+stating the title, year, authors, and publisher of the Document as
+given on its Title Page, then add an item describing the Modified
+Version as stated in the previous sentence.
+
+@item
+Preserve the network location, if any, given in the Document for
+public access to a Transparent copy of the Document, and likewise
+the network locations given in the Document for previous versions
+it was based on.  These may be placed in the ``History'' section.
+You may omit a network location for a work that was published at
+least four years before the Document itself, or if the original
+publisher of the version it refers to gives permission.
+
+@item
+For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
+the Title of the section, and preserve in the section all the
+substance and tone of each of the contributor acknowledgements and/or
+dedications given therein.
+
+@item
+Preserve all the Invariant Sections of the Document,
+unaltered in their text and in their titles.  Section numbers
+or the equivalent are not considered part of the section titles.
+
+@item
+Delete any section Entitled ``Endorsements''.  Such a section
+may not be included in the Modified Version.
+
+@item
+Do not retitle any existing section to be Entitled ``Endorsements'' or
+to conflict in title with any Invariant Section.
+
+@item
+Preserve any Warranty Disclaimers.
+@end enumerate
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant.  To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled ``Endorsements'', provided it contains
+nothing but endorsements of your Modified Version by various
+parties---for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version.  Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity.  If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+@item
+COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy.  If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled ``History''
+in the various original documents, forming one section Entitled
+``History''; likewise combine any sections Entitled ``Acknowledgements'',
+and any sections Entitled ``Dedications''.  You must delete all
+sections Entitled ``Endorsements.''
+
+@item
+COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other documents
+released under this License, and replace the individual copies of this
+License in the various documents with a single copy that is included in
+the collection, provided that you follow the rules of this License for
+verbatim copying of each of the documents in all other respects.
+
+You may extract a single document from such a collection, and distribute
+it individually under this License, provided you insert a copy of this
+License into the extracted document, and follow this License in all
+other respects regarding verbatim copying of that document.
+
+@item
+AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an ``aggregate'' if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+@item
+TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections.  You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers.  In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled ``Acknowledgements'',
+``Dedications'', or ``History'', the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+@item
+TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document except
+as expressly provided for under this License.  Any other attempt to
+copy, modify, sublicense or distribute the Document is void, and will
+automatically terminate your rights under this License.  However,
+parties who have received copies, or rights, from you under this
+License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+@item
+FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions
+of the GNU Free Documentation License from time to time.  Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.  See
+@uref{http://www.gnu.org/copyleft/}.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License ``or any later version'' applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation.  If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation.
+@end enumerate
+
+@page
+@appendixsubsec ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+@smallexample
+@group
+  Copyright (C)  @var{year}  @var{your name}.
+  Permission is granted to copy, distribute and/or modify this document
+  under the terms of the GNU Free Documentation License, Version 1.2
+  or any later version published by the Free Software Foundation;
+  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+  Texts.  A copy of the license is included in the section entitled ``GNU
+  Free Documentation License''.
+@end group
+@end smallexample
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the ``with...Texts.'' line with this:
+
+@smallexample
+@group
+    with the Invariant Sections being @var{list their titles}, with
+    the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
+    being @var{list}.
+@end group
+@end smallexample
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
+
+@c Local Variables:
+@c ispell-local-pdict: "ispell-dict"
+@c End:
+
Index: /trunk/essentials/sys-devel/automake-1.9/doc/stamp-vti
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/stamp-vti	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/stamp-vti	(revision 3089)
@@ -0,0 +1,4 @@
+@set UPDATED 9 July 2005
+@set UPDATED-MONTH July 2005
+@set EDITION 1.9.6
+@set VERSION 1.9.6
Index: /trunk/essentials/sys-devel/automake-1.9/doc/version.texi
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/doc/version.texi	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/doc/version.texi	(revision 3089)
@@ -0,0 +1,4 @@
+@set UPDATED 9 July 2005
+@set UPDATED-MONTH July 2005
+@set EDITION 1.9.6
+@set VERSION 1.9.6
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/ChannelDefs.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/ChannelDefs.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/ChannelDefs.pm	(revision 3089)
@@ -0,0 +1,401 @@
+# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::ChannelDefs;
+
+use Automake::Channels;
+
+=head1 NAME
+
+Automake::ChannelDefs - channel definitions for Automake and helper functions
+
+=head1 SYNOPSIS
+
+  use Automake::ChannelDefs;
+
+  Automake::ChannelDefs::usage ();
+  prog_error ($MESSAGE, [%OPTIONS]);
+  error ($WHERE, $MESSAGE, [%OPTIONS]);
+  error ($MESSAGE);
+  fatal ($WHERE, $MESSAGE, [%OPTIONS]);
+  fatal ($MESSAGE);
+  verb ($MESSAGE, [%OPTIONS]);
+  switch_warning ($CATEGORY);
+  parse_WARNINGS ();
+  parse_warning ($OPTION, $ARGUMENT);
+  Automake::ChannelDefs::set_strictness ($STRICTNESS_NAME);
+
+=head1 DESCRIPTION
+
+This packages defines channels that can be used in Automake to
+output diagnostics and other messages (via C<msg()>).  It also defines
+some helper function to enable or disable these channels, and some
+shorthand function to output on specific channels.
+
+=cut
+
+use 5.005;
+use strict;
+use Exporter;
+
+use vars qw (@ISA @EXPORT);
+
+@ISA = qw (Exporter);
+@EXPORT = qw (&prog_error &error &fatal &verb
+	      &switch_warning &parse_WARNINGS &parse_warnings);
+
+=head2 CHANNELS
+
+The following channels can be used as the first argument of
+C<Automake::Channel::msg>.  For some of them we list a shorthand
+function that makes the code more readable.
+
+=over 4
+
+=item C<fatal>
+
+Fatal errors.  Use C<&fatal> to send messages over this channel.
+
+=item C<error>
+
+Common errors.   Use C<&error> to send messages over this channel.
+
+=item C<error-gnu>
+
+Errors related to GNU Standards.
+
+=item C<error-gnu/warn>
+
+Errors related to GNU Standards that should be warnings in `foreign' mode.
+
+=item C<error-gnits>
+
+Errors related to GNITS Standards (silent by default).
+
+=item C<automake>
+
+Internal errors.  Use C<&prog_error> to send messages over this channel.
+
+=item C<gnu>
+
+Warnings related to GNU Coding Standards.
+
+=item C<obsolete>
+
+Warnings about obsolete features (silent by default).
+
+=item C<override>
+
+Warnings about user redefinitions of Automake rules or
+variables (silent by default).
+
+=item C<portability>
+
+Warnings about non-portable constructs.
+
+=item C<syntax>
+
+Warnings about weird syntax, unused variables, typos...
+
+=item C<unsupported>
+
+Warnings about unsupported (or mis-supported) features.
+
+=item C<verb>
+
+Messages output in C<--verbose> mode.  Use C<&verb> to send such messages.
+
+=item C<note>
+
+Informative messages.
+
+=back
+
+=cut
+
+# Initialize our list of error/warning channels.
+# Do not forget to update &usage and the manual
+# if you add or change a warning channel.
+
+register_channel 'fatal', type => 'fatal';
+register_channel 'error', type => 'error';
+register_channel 'error-gnu', type => 'error';
+register_channel 'error-gnu/warn', type => 'error';
+register_channel 'error-gnits', type => 'error', silent => 1;
+register_channel 'automake', type => 'fatal', backtrace => 1,
+  header => ("####################\n" .
+	     "## Internal Error ##\n" .
+	     "####################\n"),
+  footer => "\nPlease contact <bug-automake\@gnu.org>.";
+
+register_channel 'gnu', type => 'warning';
+register_channel 'obsolete', type => 'warning', silent => 1;
+register_channel 'override', type => 'warning', silent => 1;
+register_channel 'portability', type => 'warning', silent => 1;
+register_channel 'syntax', type => 'warning';
+register_channel 'unsupported', type => 'warning';
+
+register_channel 'verb', type => 'debug', silent => 1;
+register_channel 'note', type => 'debug', silent => 0;
+
+=head2 FUNCTIONS
+
+=over 4
+
+=item C<usage ()>
+
+Display warning categories.
+
+=cut
+
+sub usage ()
+{
+  print "Warning categories include:
+  `gnu'           GNU coding standards (default in gnu and gnits modes)
+  `obsolete'      obsolete features or constructions
+  `override'      user redefinitions of Automake rules or variables
+  `portability'   portability issues
+  `syntax'        dubious syntactic constructs (default)
+  `unsupported'   unsupported or incomplete features (default)
+  `all'           all the warnings
+  `no-CATEGORY'   turn off warnings in CATEGORY
+  `none'          turn off all the warnings
+  `error'         treat warnings as errors
+";
+}
+
+=item C<prog_error ($MESSAGE, [%OPTIONS])>
+
+Signal a programming error (on channel C<automake>),
+display C<$MESSAGE>, and exit 1.
+
+=cut
+
+sub prog_error ($;%)
+{
+  my ($msg, %opts) = @_;
+  msg 'automake', '', $msg, %opts;
+}
+
+=item C<error ($WHERE, $MESSAGE, [%OPTIONS])>
+
+=item C<error ($MESSAGE)>
+
+Uncategorized errors.
+
+=cut
+
+sub error ($;$%)
+{
+  my ($where, $msg, %opts) = @_;
+  msg ('error', $where, $msg, %opts);
+}
+
+=item C<fatal ($WHERE, $MESSAGE, [%OPTIONS])>
+
+=item C<fatal ($MESSAGE)>
+
+Fatal errors.
+
+=cut
+
+sub fatal ($;$%)
+{
+  my ($where, $msg, %opts) = @_;
+  msg ('fatal', $where, $msg, %opts);
+}
+
+=item C<verb ($MESSAGE, [%OPTIONS])>
+
+C<--verbose> messages.
+
+=cut
+
+sub verb ($;%)
+{
+  my ($msg, %opts) = @_;
+  msg 'verb', '', $msg, %opts;
+}
+
+=item C<switch_warning ($CATEGORY)>
+
+If C<$CATEGORY> is C<mumble>, turn on channel C<mumble>.
+If it's C<no-mumble>, turn C<mumble> off.
+Else handle C<all> and C<none> for completeness.
+
+=cut
+
+sub switch_warning ($)
+{
+  my ($cat) = @_;
+  my $has_no = 0;
+
+  if ($cat =~ /^no-(.*)$/)
+    {
+      $cat = $1;
+      $has_no = 1;
+    }
+
+  if ($cat eq 'all')
+    {
+      setup_channel_type 'warning', silent => $has_no;
+    }
+  elsif ($cat eq 'none')
+    {
+      setup_channel_type 'warning', silent => ! $has_no;
+    }
+  elsif ($cat eq 'error')
+    {
+      $warnings_are_errors = ! $has_no;
+      # Set exit code if Perl warns about something
+      # (like uninitialized variables).
+      $SIG{"__WARN__"} =
+	$has_no ? 'DEFAULT' : sub { print STDERR @_; $exit_code = 1; };
+    }
+  elsif (channel_type ($cat) eq 'warning')
+    {
+      setup_channel $cat, silent => $has_no;
+    }
+  else
+    {
+      return 1;
+    }
+  return 0;
+}
+
+=item C<parse_WARNINGS ()>
+
+Parse the WARNINGS environment variable.
+
+=cut
+
+sub parse_WARNINGS ()
+{
+  if (exists $ENV{'WARNINGS'})
+    {
+      # Ignore unknown categories.  This is required because WARNINGS
+      # should be honored by many tools.
+      switch_warning $_ foreach (split (',', $ENV{'WARNINGS'}));
+    }
+}
+
+=item C<parse_warning ($OPTION, $ARGUMENT)>
+
+Parse the argument of C<--warning=CATEGORY> or C<-WCATEGORY>.
+
+C<$OPTIONS> is C<"--warning"> or C<"-W">, C<$ARGUMENT> is C<CATEGORY>.
+
+This is meant to be used as a argument to C<Getopt>.
+
+=cut
+
+sub parse_warnings ($$)
+{
+  my ($opt, $categories) = @_;
+
+  foreach my $cat (split (',', $categories))
+    {
+      msg 'unsupported', "unknown warning category `$cat'"
+	if switch_warning $cat;
+    }
+}
+
+=item C<set_strictness ($STRICTNESS_NAME)>
+
+Configure channels for strictness C<$STRICTNESS_NAME>.
+
+=cut
+
+sub set_strictness ($)
+{
+  my ($name) = @_;
+
+  # FIXME: 'portability' warnings are currently disabled by default.
+  # Eventually we want to turn them on in GNU and GNITS modes, but
+  # we don't do this yet in Automake 1.7 to help the 1.6/1.7 transition.
+  #
+  # Indeed there would be only two ways to get rid of these new warnings:
+  #  1. adjusting Makefile.am
+  #     This is not always easy (or wanted).  Consider %-rules or
+  #     $(function args) variables.
+  #  2. using -Wno-portability
+  #     This means there is no way to have the same Makefile.am
+  #     working both with Automake 1.6 and 1.7 (since 1.6 does not
+  #     understand -Wno-portability).
+  #
+  # In Automake 1.8 (or whatever it is called) we can turn these
+  # warnings on, since -Wno-portability will not be an issue for
+  # the 1.7/1.8 transition.
+
+  if ($name eq 'gnu')
+    {
+      setup_channel 'error-gnu', silent => 0;
+      setup_channel 'error-gnu/warn', silent => 0, type => 'error';
+      setup_channel 'error-gnits', silent => 1;
+      # setup_channel 'portability', silent => 0;
+      setup_channel 'gnu', silent => 0;
+    }
+  elsif ($name eq 'gnits')
+    {
+      setup_channel 'error-gnu', silent => 0;
+      setup_channel 'error-gnu/warn', silent => 0, type => 'error';
+      setup_channel 'error-gnits', silent => 0;
+      # setup_channel 'portability', silent => 0;
+      setup_channel 'gnu', silent => 0;
+    }
+  elsif ($name eq 'foreign')
+    {
+      setup_channel 'error-gnu', silent => 1;
+      setup_channel 'error-gnu/warn', silent => 0, type => 'warning';
+      setup_channel 'error-gnits', silent => 1;
+      # setup_channel 'portability', silent => 1;
+      setup_channel 'gnu', silent => 1;
+    }
+  else
+    {
+      prog_error "level `$name' not recognized\n";
+    }
+}
+
+=back
+
+=head1 SEE ALSO
+
+L<Automake::Channels>
+
+=head1 HISTORY
+
+Written by Alexandre Duret-Lutz E<lt>F<adl@gnu.org>E<gt>.
+
+=cut
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Channels.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Channels.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Channels.pm	(revision 3089)
@@ -0,0 +1,701 @@
+# Copyright (C) 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Channels;
+
+=head1 NAME
+
+Automake::Channels - support functions for error and warning management
+
+=head1 SYNOPSIS
+
+  use Automake::Channels;
+
+  # Register a channel to output warnings about unused variables.
+  register_channel 'unused', type => 'warning';
+
+  # Register a channel for system errors.
+  register_channel 'system', type => 'error', exit_code => 4;
+
+  # Output a message on channel 'unused'.
+  msg 'unused', "$file:$line", "unused variable `$var'";
+
+  # Make the 'unused' channel silent.
+  setup_channel 'unused', silent => 1;
+
+  # Turn on all channels of type 'warning'.
+  setup_channel_type 'warning', silent => 0;
+
+  # Treat all warnings as errors.
+  $warnings_are_errors = 1;
+
+  # Exit with the greater exist code encountered so far.
+  exit $exit_code;
+
+=head1 DESCRIPTION
+
+This perl module provides support functions for handling diagnostic
+channels in programs.  Channels can be registered to convey fatal,
+error, warning, or debug messages.  Each channel has various options
+(e.g. is the channel silent, should duplicate messages be removed,
+etc.) that can also be overridden on a per-message basis.
+
+=cut
+
+use 5.005;
+use strict;
+use Exporter;
+use Carp;
+use File::Basename;
+
+use vars qw (@ISA @EXPORT %channels $me);
+
+@ISA = qw (Exporter);
+@EXPORT = qw ($exit_code $warnings_are_errors
+	      &reset_local_duplicates &reset_global_duplicates
+	      &register_channel &msg &exists_channel &channel_type
+	      &setup_channel &setup_channel_type
+	      &dup_channel_setup &drop_channel_setup
+	      &buffer_messages &flush_messages
+	      US_GLOBAL US_LOCAL
+	      UP_NONE UP_TEXT UP_LOC_TEXT);
+
+$me = basename $0;
+
+=head2 Global Variables
+
+=over 4
+
+=item C<$exit_code>
+
+The greatest exit code seen so far. C<$exit_code> is updated from
+the C<exit_code> options of C<fatal> and C<error> channels.
+
+=cut
+
+use vars qw ($exit_code);
+$exit_code = 0;
+
+=item C<$warnings_are_errors>
+
+Set this variable to 1 if warning messages should be treated as
+errors (i.e. if they should update C<$exit_code>).
+
+=cut
+
+use vars qw ($warnings_are_errors);
+$warnings_are_errors = 0;
+
+=back
+
+=head2 Constants
+
+=over 4
+
+=item C<UP_NONE>, C<UP_TEXT>, C<UP_LOC_TEXT>
+
+Possible values for the C<uniq_part> options.  This select the part
+of the message that should be considered when filtering out duplicates.
+If C<UP_LOC_TEXT> is used, the location and the explanation message
+are used for filtering.  If C<UP_TEXT> is used, only the explanation
+message is used (so the same message will be filtered out if it appears
+at different locations).  C<UP_NONE> means that duplicate messages
+should be output.
+
+=cut
+
+use constant UP_NONE => 0;
+use constant UP_TEXT => 1;
+use constant UP_LOC_TEXT => 2;
+
+=item C<US_LOCAL>, C<US_GLOBAL>
+
+Possible values for the C<uniq_scope> options.
+Use C<US_GLOBAL> for error messages that should be printed only
+once in the run of the program, C<US_LOCAL> for message that
+should be printed only once per file.  (Actually, C<Channels> does not
+now when files are changed, it relies on you calling C<reset_local_duplicates>
+when this happens.)
+
+=cut
+
+# possible values for uniq_scope
+use constant US_LOCAL => 0;
+use constant US_GLOBAL => 1;
+
+=back
+
+=head2 Options
+
+Channels accept the options described below.  These options can be
+passed as a hash to the C<register_channel>, C<setup_channel>, and C<msg>
+functions.  The possible keys, with there default value are:
+
+=over
+
+=item C<type =E<gt> 'warning'>
+
+The type of the channel.  One of C<'debug'>, C<'warning'>, C<'error'>, or
+C<'fatal'>.  Fatal messages abort the program when they are output.
+Error messages update the exit status.  Debug and warning messages are
+harmless, except that warnings can be treated as errors of
+C<$warnings_are_errors> is set.
+
+=item C<exit_code =E<gt> 1>
+
+The value to update C<$exit_code> with when a fatal or error message
+is emitted.  C<$exit_code> is also updated for warnings output
+when @<$warnings_are_errors> is set.
+
+=item C<file =E<gt> \*STDERR>
+
+The file where the error should be output.
+
+=item C<silent =E<gt> 0>
+
+Whether the channel should be silent.  Use this do disable a
+category of warning, for instance.
+
+=item C<uniq_part =E<gt> UP_LOC_TEXT>
+
+The part of the message subject to duplicate filtering.  See the
+documentation for the C<UP_NONE>, C<UP_TEXT>, and C<UP_LOC_TEXT>
+constants above.
+
+=item C<uniq_scope =E<gt> US_LOCAL>
+
+The scope of duplicate filtering.  See the documentation for the
+C<US_LOCAL>, and C<US_GLOBAL> constants above.
+
+=item C<header =E<gt> ''>
+
+A string to prepend to each message emitted through this channel.
+
+=item C<footer =E<gt> ''>
+
+A string to append to each message emitted through this channel.
+
+=item C<backtrace =E<gt> 0>
+
+Die with a stack backtrace after displaying the message.
+
+=item C<partial =E<gt> 0>
+
+When set, indicates a partial message that should
+be output along with the next message with C<partial> unset.
+Several partial messages can be stacked this way.
+
+Duplicate filtering will apply to the I<global> message resulting from
+all I<partial> messages, using the options from the last (non-partial)
+message.  Linking associated messages is the main reason to use this
+option.
+
+For instance the following messages
+
+  msg 'channel', 'foo:2', 'redefinition of A ...';
+  msg 'channel', 'foo:1', '... A previously defined here';
+  msg 'channel', 'foo:3', 'redefinition of A ...';
+  msg 'channel', 'foo:1', '... A previously defined here';
+
+will result in
+
+ foo:2: redefinition of A ...
+ foo:1: ... A previously defined here
+ foo:3: redefinition of A ...
+
+where the duplicate "I<... A previously defined here>" has been
+filtered out.
+
+Linking these messages using C<partial> as follows will prevent the
+fourth message to disappear.
+
+  msg 'channel', 'foo:2', 'redefinition of A ...', partial => 1;
+  msg 'channel', 'foo:1', '... A previously defined here';
+  msg 'channel', 'foo:3', 'redefinition of A ...', partial => 1;
+  msg 'channel', 'foo:1', '... A previously defined here';
+
+Note that because the stack of C<partial> messages is printed with the
+first non-C<partial> message, most options of C<partial> messages will
+be ignored.
+
+=back
+
+=cut
+
+use vars qw (%_default_options %_global_duplicate_messages
+	     %_local_duplicate_messages);
+
+# Default options for a channel.
+%_default_options =
+  (
+   type => 'warning',
+   exit_code => 1,
+   file => \*STDERR,
+   silent => 0,
+   uniq_scope => US_LOCAL,
+   uniq_part => UP_LOC_TEXT,
+   header => '',
+   footer => '',
+   backtrace => 0,
+   partial => 0,
+   );
+
+# Filled with output messages as keys, to detect duplicates.
+# The value associated with each key is the number of occurrences
+# filtered out.
+%_local_duplicate_messages = ();
+%_global_duplicate_messages = ();
+
+sub _reset_duplicates (\%)
+{
+  my ($ref) = @_;
+  my $dup = 0;
+  foreach my $k (keys %$ref)
+    {
+      $dup += $ref->{$k};
+    }
+  %$ref = ();
+  return $dup;
+}
+
+
+=head2 Functions
+
+=over 4
+
+=item C<reset_local_duplicates ()>
+
+Reset local duplicate messages (see C<US_LOCAL>), and
+return the number of messages that have been filtered out.
+
+=cut
+
+sub reset_local_duplicates ()
+{
+  return _reset_duplicates %_local_duplicate_messages;
+}
+
+=item C<reset_global_duplicates ()>
+
+Reset local duplicate messages (see C<US_GLOBAL>), and
+return the number of messages that have been filtered out.
+
+=cut
+
+sub reset_global_duplicates ()
+{
+  return _reset_duplicates %_global_duplicate_messages;
+}
+
+sub _merge_options (\%%)
+{
+  my ($hash, %options) = @_;
+  local $_;
+
+  foreach (keys %options)
+    {
+      if (exists $hash->{$_})
+	{
+	  $hash->{$_} = $options{$_}
+	}
+      else
+	{
+	  confess "unknown option `$_'";
+	}
+    }
+}
+
+=item C<register_channel ($name, [%options])>
+
+Declare channel C<$name>, and override the default options
+with those listed in C<%options>.
+
+=cut
+
+sub register_channel ($;%)
+{
+  my ($name, %options) = @_;
+  my %channel_opts = %_default_options;
+  _merge_options %channel_opts, %options;
+  $channels{$name} = \%channel_opts;
+}
+
+=item C<exists_channel ($name)>
+
+Returns true iff channel C<$name> has been registered.
+
+=cut
+
+sub exists_channel ($)
+{
+  my ($name) = @_;
+  return exists $channels{$name};
+}
+
+=item C<channel_type ($name)>
+
+Returns the type of channel C<$name> if it has been registered.
+Returns The empty string otherwise.
+
+=cut
+
+sub channel_type ($)
+{
+  my ($name) = @_;
+  return $channels{$name}{'type'} if exists_channel $name;
+  return '';
+}
+
+# _format_sub_message ($LEADER, $MESSAGE)
+# ---------------------------------------
+# Split $MESSAGE at new lines and add $LEADER to each line.
+sub _format_sub_message ($$)
+{
+  my ($leader, $message) = @_;
+  return $leader . join ("\n" . $leader, split ("\n", $message)) . "\n";
+}
+
+# _format_message ($LOCATION, $MESSAGE, %OPTIONS)
+# -----------------------------------------------
+# Format the message.  Return a string ready to print.
+sub _format_message ($$%)
+{
+  my ($location, $message, %opts) = @_;
+  my $msg = '';
+  if (ref $location)
+    {
+      # If $LOCATION is a reference, assume it's an instance of the
+      # Automake::Location class and display contexts.
+      my $loc = $location->get || $me;
+      $msg = _format_sub_message ("$loc: ", $opts{'header'}
+				  . $message . $opts{'footer'});
+      for my $pair ($location->get_contexts)
+	{
+	  $msg .= _format_sub_message ($pair->[0] . ":   ", $pair->[1]);
+	}
+    }
+  else
+    {
+      $location ||= $me;
+      $msg = _format_sub_message ("$location: ", $opts{'header'}
+				  . $message . $opts{'footer'});
+    }
+  return $msg;
+}
+
+# Store partial messages here. (See the 'partial' option.)
+use vars qw ($partial);
+$partial = '';
+
+# _print_message ($LOCATION, $MESSAGE, %OPTIONS)
+# ----------------------------------------------
+# Format the message, check duplicates, and print it.
+sub _print_message ($$%)
+{
+  my ($location, $message, %opts) = @_;
+
+  return 0 if ($opts{'silent'});
+
+  my $msg = _format_message ($location, $message, %opts);
+  if ($opts{'partial'})
+    {
+      # Incomplete message.   Store, don't print.
+      $partial .= $msg;
+      return;
+    }
+  else
+    {
+      # Prefix with any partial message send so far.
+      $msg = $partial . $msg;
+      $partial = '';
+    }
+
+  # Check for duplicate message if requested.
+  if ($opts{'uniq_part'} != UP_NONE)
+    {
+      # Which part of the error should we match?
+      my $to_filter;
+      if ($opts{'uniq_part'} == UP_TEXT)
+	{
+	  $to_filter = $message;
+	}
+      elsif ($opts{'uniq_part'} == UP_LOC_TEXT)
+	{
+	  $to_filter = $msg;
+	}
+      else
+	{
+	  confess "unknown value for uniq_part: " . $opts{'uniq_part'};
+	}
+
+      # Do we want local or global uniqueness?
+      my $dups;
+      if ($opts{'uniq_scope'} == US_LOCAL)
+	{
+	  $dups = \%_local_duplicate_messages;
+	}
+      elsif ($opts{'uniq_scope'} == US_GLOBAL)
+	{
+	  $dups = \%_global_duplicate_messages;
+	}
+      else
+	{
+	  confess "unknown value for uniq_scope: " . $opts{'uniq_scope'};
+	}
+
+      # Update the hash of messages.
+      if (exists $dups->{$to_filter})
+	{
+	  ++$dups->{$to_filter};
+	  return 0;
+	}
+      else
+	{
+	  $dups->{$to_filter} = 0;
+	}
+    }
+  my $file = $opts{'file'};
+  print $file $msg;
+  return 1;
+}
+
+=item C<msg ($channel, $location, $message, [%options])>
+
+Emit a message on C<$channel>, overriding some options of the channel  with
+those specified in C<%options>.  Obviously C<$channel> must have been
+registered with C<register_channel>.
+
+C<$message> is the text of the message, and C<$location> is a location
+associated to the message.
+
+For instance to complain about some unused variable C<mumble>
+declared at line 10 in F<foo.c>, one could do:
+
+  msg 'unused', 'foo.c:10', "unused variable `mumble'";
+
+If channel C<unused> is not silent (and if this message is not a duplicate),
+the following would be output:
+
+  foo.c:10: unused variable `mumble'
+
+C<$location> can also be an instance of C<Automake::Location>.  In this
+case the stack of contexts will be displayed in addition.
+
+If C<$message> contains newline characters, C<$location> is prepended
+to each line.  For instance
+
+  msg 'error', 'somewhere', "1st line\n2nd line";
+
+becomes
+
+  somewhere: 1st line
+  somewhere: 2nd line
+
+If C<$location> is an empty string, it is replaced by the name of the
+program.  Actually, if you don't use C<%options>, you can even
+elide the empty C<$location>.  Thus
+
+  msg 'fatal', '', 'fatal error';
+  msg 'fatal', 'fatal error';
+
+both print
+
+  progname: fatal error
+
+=cut
+
+
+use vars qw (@backlog %buffering @chain);
+
+# See buffer_messages() and flush_messages() below.
+%buffering = ();	# The map of channel types to buffer.
+@backlog = ();		# The buffer of messages.
+
+sub msg ($$;$%)
+{
+  my ($channel, $location, $message, %options) = @_;
+
+  if (! defined $message)
+    {
+      $message = $location;
+      $location = '';
+    }
+
+  confess "unknown channel $channel" unless exists $channels{$channel};
+
+  my %opts = %{$channels{$channel}};
+  _merge_options (%opts, %options);
+
+  if (exists $buffering{$opts{'type'}})
+    {
+      push @backlog, [$channel, $location->clone, $message, %options];
+      return;
+    }
+
+  # Print the message if needed.
+  if (_print_message ($location, $message, %opts))
+    {
+      # Adjust exit status.
+      if ($opts{'type'} eq 'error'
+	  || $opts{'type'} eq 'fatal'
+	  || ($opts{'type'} eq 'warning' && $warnings_are_errors))
+	{
+	  my $es = $opts{'exit_code'};
+	  $exit_code = $es if $es > $exit_code;
+	}
+
+      # Die on fatal messages.
+      confess if $opts{'backtrace'};
+      exit $exit_code if $opts{'type'} eq 'fatal';
+    }
+}
+
+
+=item C<setup_channel ($channel, %options)>
+
+Override the options of C<$channel> with those specified by C<%options>.
+
+=cut
+
+sub setup_channel ($%)
+{
+  my ($name, %opts) = @_;
+  confess "channel $name doesn't exist" unless exists $channels{$name};
+  _merge_options %{$channels{$name}}, %opts;
+}
+
+=item C<setup_channel_type ($type, %options)>
+
+Override the options of any channel of type C<$type>
+with those specified by C<%options>.
+
+=cut
+
+sub setup_channel_type ($%)
+{
+  my ($type, %opts) = @_;
+  foreach my $channel (keys %channels)
+    {
+      setup_channel $channel, %opts
+	if $channels{$channel}{'type'} eq $type;
+    }
+}
+
+=item C<dup_channel_setup ()>, C<drop_channel_setup ()>
+
+Sometimes it is necessary to make temporary modifications to channels.
+For instance one may want to disable a warning while processing a
+particular file, and then restore the initial setup.  These two
+functions make it easy: C<dup_channel_setup ()> saves a copy of the
+current configuration for later restoration by
+C<drop_channel_setup ()>.
+
+You can think of this as a stack of configurations whose first entry
+is the active one.  C<dup_channel_setup ()> duplicates the first
+entry, while C<drop_channel_setup ()> just deletes it.
+
+=cut
+
+use vars qw (@_saved_channels);
+@_saved_channels = ();
+
+sub dup_channel_setup ()
+{
+  my %channels_copy;
+  foreach my $k1 (keys %channels)
+    {
+      $channels_copy{$k1} = {%{$channels{$k1}}};
+    }
+  push @_saved_channels, \%channels_copy;
+}
+
+sub drop_channel_setup ()
+{
+  my $saved = pop @_saved_channels;
+  %channels = %$saved;
+}
+
+=item C<buffer_messages (@types)>, C<flush_messages ()>
+
+By default, when C<msg> is called, messages are processed immediately.
+
+Sometimes it is necessary to delay the output of messages.
+For instance you might want to make diagnostics before
+channels have been completely configured.
+
+After C<buffer_messages(@types)> has been called, messages sent with
+C<msg> to a channel whose type is listed in C<@types> will be stored in a
+list for later processing.
+
+This backlog of messages is processed when C<flush_messages> is
+called, with the current channel options (not the options in effect,
+at the time of C<msg>).  So for instance if some channel was silenced
+in the meantime, messages to this channels will not be print.
+
+C<flush_messages> cancels the effect of C<buffer_messages>.  Following
+calls to C<msg> are processed immediately as usual.
+
+=cut
+
+sub buffer_messages (@)
+{
+  foreach my $type (@_)
+    {
+      $buffering{$type} = 1;
+    }
+}
+
+sub flush_messages ()
+{
+  %buffering = ();
+  foreach my $args (@backlog)
+    {
+      &msg (@$args);
+    }
+  @backlog = ();
+}
+
+=back
+
+=head1 SEE ALSO
+
+L<Automake::Location>
+
+=head1 HISTORY
+
+Written by Alexandre Duret-Lutz E<lt>F<adl@gnu.org>E<gt>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Condition.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Condition.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Condition.pm	(revision 3089)
@@ -0,0 +1,650 @@
+# Copyright (C) 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Condition;
+use strict;
+use Carp;
+
+require Exporter;
+use vars '@ISA', '@EXPORT_OK';
+@ISA = qw/Exporter/;
+@EXPORT_OK = qw/TRUE FALSE reduce_and reduce_or/;
+
+=head1 NAME
+
+Automake::Condition - record a conjunction of conditionals
+
+=head1 SYNOPSIS
+
+  use Automake::Condition;
+
+  # Create a condition to represent "COND1 and not COND2".
+  my $cond = new Automake::Condition "COND1_TRUE", "COND2_FALSE";
+  # Create a condition to represent "not COND3".
+  my $other = new Automake::Condition "COND3_FALSE";
+
+  # Create a condition to represent
+  #   "COND1 and not COND2 and not COND3".
+  my $both = $cond->merge ($other);
+
+  # Likewise, but using a list of conditional strings
+  my $both2 = $cond->merge_conds ("COND3_FALSE");
+
+  # Strip from $both any subconditions which are in $other.
+  # This is the opposite of merge.
+  $cond = $both->strip ($other);
+
+  # Return the list of conditions ("COND1_TRUE", "COND2_FALSE"):
+  my @conds = $cond->conds;
+
+  # Is $cond always true?  (Not in this example)
+  if ($cond->true) { ... }
+
+  # Is $cond always false? (Not in this example)
+  if ($cond->false) { ... }
+
+  # Return the list of conditionals as a string:
+  #  "COND1_TRUE COND2_FALSE"
+  my $str = $cond->string;
+
+  # Return the list of conditionals as a human readable string:
+  #  "COND1 and !COND2"
+  my $str = $cond->human;
+
+  # Return the list of conditionals as a AC_SUBST-style string:
+  #  "@COND1_TRUE@@COND2_FALSE@"
+  my $subst = $cond->subst_string;
+
+  # Is $cond true when $both is true?  (Yes in this example)
+  if ($cond->true_when ($both)) { ... }
+
+  # Is $cond redundant w.r.t. {$other, $both}?
+  # (Yes in this example)
+  if ($cond->redundant_wrt ($other, $both)) { ... }
+
+  # Does $cond imply any of {$other, $both}?
+  # (Not in this example)
+  if ($cond->implies_any ($other, $both)) { ... }
+
+  # Remove superfluous conditionals assuming they will eventually
+  # be multiplied together.
+  # (Returns @conds = ($both) in this example, because
+  # $other and $cond are implied by $both.)
+  @conds = Automake::Condition::reduce_and ($other, $both, $cond);
+
+  # Remove superfluous conditionals assuming they will eventually
+  # be summed together.
+  # (Returns @conds = ($cond, $other) in this example, because
+  # $both is a subset condition of $cond: $cond is true whenever $both
+  # is true.)
+  @conds = Automake::Condition::reduce_or ($other, $both, $cond);
+
+  # Invert a Condition.  This returns a list of Conditions.
+  @conds = $both->not;
+
+=head1 DESCRIPTION
+
+A C<Condition> is a conjunction of conditionals (i.e., atomic conditions
+defined in F<configure.ac> by C<AM_CONDITIONAL>.  In Automake they
+are used to represent the conditions into which F<Makefile> variables and
+F<Makefile> rules are defined.
+
+If the variable C<VAR> is defined as
+
+  if COND1
+    if COND2
+      VAR = value
+    endif
+  endif
+
+then it will be associated a C<Condition> created with
+the following statement.
+
+  new Automake::Condition "COND1_TRUE", "COND2_TRUE";
+
+Remember that a C<Condition> is a I<conjunction> of conditionals, so
+the above C<Condition> means C<VAR> is defined when C<COND1>
+B<and> C<COND2> are true. There is no way to express disjunctions
+(i.e., I<or>s) with this class (but see L<DisjConditions>).
+
+Another point worth to mention is that each C<Condition> object is
+unique with respect to its conditionals.  Two C<Condition> objects
+created for the same set of conditionals will have the same adress.
+This makes it easy to compare C<Condition>s, just compare the
+references.
+
+  my $c1 = new Automake::Condition "COND1_TRUE", "COND2_TRUE";
+  my $c2 = new Automake::Condition "COND1_TRUE", "COND2_TRUE";
+  $c1 == $c2;  # True!
+
+=head2 Methods
+
+=over 4
+
+=item C<$cond = new Automake::Condition [@conds]>
+
+Return a C<Condition> objects for the conjunctions of conditionals
+listed in C<@conds> as strings.
+
+An item in C<@conds> should be either C<"FALSE">, C<"TRUE">, or have
+the form C<"NAME_FALSE"> or C<"NAME_TRUE"> where C<NAME> can be
+anything (in practice C<NAME> should be the name of a conditional
+declared in F<configure.ac> with C<AM_CONDITIONAL>, but it's not
+C<Automake::Condition>'s responsability to ensure this).
+
+An empty C<@conds> means C<"TRUE">.
+
+As explained previously, the reference (object) returned is unique
+with respect to C<@conds>.  For this purpose, duplicate elements are
+ignored, and C<@conds> is rewriten as C<("FALSE")> if it contains
+C<"FALSE"> or two contradictory conditionals (such as C<"NAME_FALSE">
+and C<"NAME_TRUE">.)
+
+Therefore the following two statements create the same object (they
+both create the C<"FALSE"> condition).
+
+  my $c3 = new Automake::Condition "COND1_TRUE", "COND1_FALSE";
+  my $c4 = new Automake::Condition "COND2_TRUE", "FALSE";
+  $c3 == $c4;   # True!
+  $c3 == FALSE; # True!
+
+=cut
+
+# Keys in this hash are conditional strings. Values are the
+# associated object conditions.  This is used by `new' to reuse
+# Condition objects with identical conditionals.
+use vars '%_condition_singletons';
+# Do NOT reset this hash here.  It's already empty by default,
+# and any setting would otherwise occur AFTER the `TRUE' and `FALSE'
+# constants definitions.
+#   %_condition_singletons = ();
+
+sub new ($;@)
+{
+  my ($class, @conds) = @_;
+  my $self = {
+    hash => {},
+  };
+  bless $self, $class;
+
+  # Accept strings like "FOO BAR" as shorthand for ("FOO", "BAR").
+  @conds = map { split (' ', $_) } @conds;
+
+  for my $cond (@conds)
+    {
+      next if $cond eq 'TRUE';
+
+      # Catch some common programming errors:
+      # - A Condition passed to new
+      confess "`$cond' is a reference, expected a string" if ref $cond;
+      # - A Condition passed as a string to new
+      confess "`$cond' does not look like a condition" if $cond =~ /::/;
+
+      # Detect cases when @conds can be simplified to FALSE.
+      if (($cond eq 'FALSE' && $#conds > 0)
+	  || ($cond =~ /^(.*)_TRUE$/ && exists $self->{'hash'}{"${1}_FALSE"})
+	  || ($cond =~ /^(.*)_FALSE$/ && exists $self->{'hash'}{"${1}_TRUE"}))
+	{
+	  return &FALSE;
+	}
+
+      $self->{'hash'}{$cond} = 1;
+    }
+
+  my $key = $self->string;
+  if (exists $_condition_singletons{$key})
+    {
+      return $_condition_singletons{$key};
+    }
+  $_condition_singletons{$key} = $self;
+  return $self;
+}
+
+=item C<$newcond = $cond-E<gt>merge (@otherconds)>
+
+Return a new condition which is the conjunction of
+C<$cond> and C<@otherconds>.
+
+=cut
+
+sub merge ($@)
+{
+  my ($self, @otherconds) = @_;
+  new Automake::Condition (map { $_->conds } ($self, @otherconds));
+}
+
+=item C<$newcond = $cond-E<gt>merge_conds (@conds)>
+
+Return a new condition which is the conjunction of C<$cond> and
+C<@conds>, where C<@conds> is a list of conditional strings, as
+passed to C<new>.
+
+=cut
+
+sub merge_conds ($@)
+{
+  my ($self, @conds) = @_;
+  new Automake::Condition $self->conds, @conds;
+}
+
+=item C<$newcond = $cond-E<gt>strip ($minuscond)>
+
+Return a new condition which has all the conditionals of C<$cond>
+except those of C<$minuscond>.  This is the opposite of C<merge>.
+
+=cut
+
+sub strip ($$)
+{
+  my ($self, $minus) = @_;
+  my @res = grep { not $minus->has ($_) } $self->conds;
+  return new Automake::Condition @res;
+}
+
+=item C<@list = $cond-E<gt>conds>
+
+Return the set of conditionals defining C<$cond>, as strings.  Note that
+this might not be exactly the list passed to C<new> (or a
+concatenation of such lists if C<merge> was used), because of the
+cleanup mentioned in C<new>'s description.
+
+For instance C<$c3-E<gt>conds> will simply return C<("FALSE")>.
+
+=cut
+
+sub conds ($ )
+{
+  my ($self) = @_;
+  my @conds = keys %{$self->{'hash'}};
+  return ("TRUE") unless @conds;
+  return sort @conds;
+}
+
+# Undocumented, shouldn't be needed out of this class.
+sub has ($$)
+{
+  my ($self, $cond) = @_;
+  return exists $self->{'hash'}{$cond};
+}
+
+=item C<$cond-E<gt>false>
+
+Return 1 iff this condition is always false.
+
+=cut
+
+sub false ($ )
+{
+  my ($self) = @_;
+  return $self->has ('FALSE');
+}
+
+=item C<$cond-E<gt>true>
+
+Return 1 iff this condition is always true.
+
+=cut
+
+sub true ($ )
+{
+  my ($self) = @_;
+  return 0 == keys %{$self->{'hash'}};
+}
+
+=item C<$cond-E<gt>string>
+
+Build a string which denotes the condition.
+
+For instance using the C<$cond> definition from L<SYNOPSYS>,
+C<$cond-E<gt>string> will return C<"COND1_TRUE COND2_FALSE">.
+
+=cut
+
+sub string ($ )
+{
+  my ($self) = @_;
+
+  return $self->{'string'} if defined $self->{'string'};
+
+  my $res = '';
+  if ($self->false)
+    {
+      $res = 'FALSE';
+    }
+  else
+    {
+      $res = join (' ', $self->conds);
+    }
+  $self->{'string'} = $res;
+  return $res;
+}
+
+=item C<$cond-E<gt>human>
+
+Build a human readable string which denotes the condition.
+
+For instance using the C<$cond> definition from L<SYNOPSYS>,
+C<$cond-E<gt>string> will return C<"COND1 and !COND2">.
+
+=cut
+
+sub _to_human ($ )
+{
+  my ($s) = @_;
+  if ($s =~ /^(.*)_(TRUE|FALSE)$/)
+    {
+      return (($2 eq 'FALSE') ? '!' : '') . $1;
+    }
+  else
+    {
+      return $s;
+    }
+}
+
+sub human ($ )
+{
+  my ($self) = @_;
+
+  return $self->{'human'} if defined $self->{'human'};
+
+  my $res = '';
+  if ($self->false)
+    {
+      $res = 'FALSE';
+    }
+  else
+    {
+      $res = join (' and ', map { _to_human $_ } $self->conds);
+    }
+  $self->{'human'} = $res;
+  return $res;
+}
+
+=item C<$cond-E<gt>subst_string>
+
+Build a C<AC_SUBST>-style string for output in F<Makefile.in>.
+
+For instance using the C<$cond> definition from L<SYNOPSYS>,
+C<$cond-E<gt>subst_string> will return C<"@COND1_TRUE@@COND2_FALSE@">.
+
+=cut
+
+sub subst_string ($ )
+{
+  my ($self) = @_;
+
+  return $self->{'subst_string'} if defined $self->{'subst_string'};
+
+  my $res = '';
+  if ($self->false)
+    {
+      $res = '#';
+    }
+  elsif (! $self->true)
+    {
+      $res = '@' . join ('@@', sort $self->conds) . '@';
+    }
+  $self->{'subst_string'} = $res;
+  return $res;
+}
+
+=item C<$cond-E<gt>true_when ($when)>
+
+Return 1 iff C<$cond> is true when C<$when> is true.
+Return 0 otherwise.
+
+Using the definitions from L<SYNOPSYS>, C<$cond> is true
+when C<$both> is true, but the converse is wrong.
+
+=cut
+
+sub true_when ($$)
+{
+  my ($self, $when) = @_;
+
+  # Nothing is true when FALSE (not even FALSE itself, but it
+  # shouldn't hurt if you decide to change that).
+  return 0 if $self->false || $when->false;
+
+  # If we are true, we stay true when $when is true :)
+  return 1 if $self->true;
+
+  # $SELF is true under $WHEN if each conditional component of $SELF
+  # exists in $WHEN.
+  foreach my $cond ($self->conds)
+    {
+      return 0 unless $when->has ($cond);
+    }
+  return 1;
+}
+
+=item C<$cond-E<gt>redundant_wrt (@conds)>
+
+Return 1 iff C<$cond> is true for any condition in C<@conds>.
+If @conds is empty, return 1 iff C<$cond> is C<FALSE>.
+Return 0 otherwise.
+
+=cut
+
+sub redundant_wrt ($@)
+{
+  my ($self, @conds) = @_;
+
+  foreach my $cond (@conds)
+    {
+      return 1 if $self->true_when ($cond);
+    }
+  return $self->false;
+}
+
+=item C<$cond-E<gt>implies_any (@conds)>
+
+Return 1 iff C<$cond> implies any of the conditions in C<@conds>.
+Return 0 otherwise.
+
+=cut
+
+sub implies_any ($@)
+{
+  my ($self, @conds) = @_;
+
+  foreach my $cond (@conds)
+    {
+      return 1 if $cond->true_when ($self);
+    }
+  return 0;
+}
+
+=item C<$cond-E<gt>not>
+
+Return a negation of C<$cond> as a list of C<Condition>s.
+This list should be used to construct a C<DisjConditions>
+(we cannot return a C<DisjConditions> from C<Automake::Condition>,
+because that would make these two packages interdependent).
+
+=cut
+
+sub not ($ )
+{
+  my ($self) = @_;
+  return @{$self->{'not'}} if defined $self->{'not'};
+  my @res =
+    map { new Automake::Condition &conditional_negate ($_) } $self->conds;
+  $self->{'not'} = [@res];
+  return @res;
+}
+
+=item C<$cond-E<gt>multiply (@conds)>
+
+Assumption: C<@conds> represent a disjunction of conditions.
+
+Return the result of multiplying C<$cond> with that disjunction.
+The result will be a list of conditions suitable to construct a
+C<DisjConditions>.
+
+=cut
+
+sub multiply ($@)
+{
+  my ($self, @set) = @_;
+  my %res = ();
+  for my $cond (@set)
+    {
+      my $ans = $self->merge ($cond);
+      $res{$ans} = $ans;
+    }
+
+  # FALSE can always be removed from a disjunction.
+  delete $res{FALSE};
+
+  # Now, $self is a common factor of the remaining conditions.
+  # If one of the conditions is $self, we can discard the rest.
+  return ($self, ())
+    if exists $res{$self};
+
+  return (values %res);
+}
+
+=head2 Other helper functions
+
+=over 4
+
+=item C<TRUE>
+
+The C<"TRUE"> conditional.
+
+=item C<FALSE>
+
+The C<"FALSE"> conditional.
+
+=cut
+
+use constant TRUE => new Automake::Condition "TRUE";
+use constant FALSE => new Automake::Condition "FALSE";
+
+=item C<reduce_and (@conds)>
+
+Return a subset of @conds with the property that the conjunction of
+the subset is the same as the conjunction of @conds.  For example, if
+both C<COND1_TRUE COND2_TRUE> and C<COND1_TRUE> are in the list,
+discard the latter.  If the input list is empty, return C<(TRUE)>.
+
+=cut
+
+sub reduce_and (@)
+{
+  my (@conds) = @_;
+  my @ret = ();
+  my $cond;
+  while (@conds > 0)
+    {
+      $cond = shift @conds;
+
+      # FALSE is absorbent.
+      return FALSE
+	if $cond == FALSE;
+
+      if (! $cond->redundant_wrt (@ret, @conds))
+	{
+	  push (@ret, $cond);
+	}
+    }
+
+  return TRUE if @ret == 0;
+  return @ret;
+}
+
+=item C<reduce_or (@conds)>
+
+Return a subset of @conds with the property that the disjunction of
+the subset is equivalent to the disjunction of @conds.  For example,
+if both C<COND1_TRUE COND2_TRUE> and C<COND1_TRUE> are in the list,
+discard the former.  If the input list is empty, return C<(FALSE)>.
+
+=cut
+
+sub reduce_or (@)
+{
+  my (@conds) = @_;
+  my @ret = ();
+  my $cond;
+  while (@conds > 0)
+    {
+      $cond = shift @conds;
+
+      next
+       if $cond == FALSE;
+      return TRUE
+       if $cond == TRUE;
+
+      push (@ret, $cond)
+       unless $cond->implies_any (@ret, @conds);
+    }
+
+  return FALSE if @ret == 0;
+  return @ret;
+}
+
+=item C<conditional_negate ($condstr)>
+
+Negate a conditional string.
+
+=cut
+
+sub conditional_negate ($)
+{
+  my ($cond) = @_;
+
+  $cond =~ s/TRUE$/TRUEO/;
+  $cond =~ s/FALSE$/TRUE/;
+  $cond =~ s/TRUEO$/FALSE/;
+
+  return $cond;
+}
+
+=head1 SEE ALSO
+
+L<Automake::DisjConditions>.
+
+=head1 HISTORY
+
+C<AM_CONDITIONAL>s and supporting code were added to Automake 1.1o by
+Ian Lance Taylor <ian@cygnus.org> in 1997.  Since then it has been
+improved by Tom Tromey <tromey@redhat.com>, Richard Boulton
+<richard@tartarus.org>, Raja R Harinath <harinath@cs.umn.edu>,
+Akim Demaille <akim@epita.fr>, and  Alexandre Duret-Lutz <adl@gnu.org>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Config.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Config.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Config.in	(revision 3089)
@@ -0,0 +1,54 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.      -*- Perl -*-
+# @configure_input@
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Config;
+use strict;
+
+require Exporter;
+use vars qw (@ISA @EXPORT);
+
+@ISA = qw (Exporter);
+@EXPORT = qw ($APIVERSION $PACKAGE $VERSION $libdir);
+
+use vars qw ($APIVERSION $PACKAGE $VERSION $libdir);
+
+# Parameters set by configure.  Not to be changed.  NOTE: assign
+# VERSION as string so that e.g. version 0.30 will print correctly.
+$APIVERSION = '@APIVERSION@';
+$PACKAGE = '@PACKAGE@';
+$VERSION = '@VERSION@';
+$libdir = '@datadir@/@PACKAGE@-@APIVERSION@';
+
+1;;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Configure_ac.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Configure_ac.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Configure_ac.pm	(revision 3089)
@@ -0,0 +1,103 @@
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Configure_ac;
+
+use strict;
+use Exporter;
+use Automake::Channels;
+use Automake::ChannelDefs;
+
+use vars qw (@ISA @EXPORT);
+
+@ISA = qw (Exporter);
+@EXPORT = qw (&find_configure_ac &require_configure_ac);
+
+=head1 NAME
+
+Automake::Configure_ac - Locate configure.ac or configure.in.
+
+=head1 SYNOPSIS
+
+  use Automake::Configure_ac;
+
+  # Try to locate configure.in or configure.ac in the current
+  # directory.  It may be absent.  Complain if both files exist.
+  my $file_name = find_configure_ac;
+
+  # Likewise, but bomb out if the file does not exist.
+  my $file_name = require_configure_ac;
+
+  # Likewise, but in $dir.
+  my $file_name = find_configure_ac ($dir);
+  my $file_name = require_configure_ac ($dir);
+
+=cut
+
+sub find_configure_ac (;@)
+{
+  my ($directory) = @_;
+  $directory ||= '.';
+  my $configure_ac =
+    File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.ac'));
+  my $configure_in =
+    File::Spec->canonpath (File::Spec->catfile ($directory, 'configure.in'));
+
+  if (-f $configure_ac)
+    {
+      if (-f $configure_in)
+	{
+	  msg ('unsupported',
+	       "`$configure_ac' and `$configure_in' both present.\n"
+	       . "proceeding with `$configure_ac'.");
+	}
+      return $configure_ac
+    }
+  elsif (-f 'configure.in')
+    {
+      return $configure_in;
+    }
+  return $configure_ac;
+}
+
+
+sub require_configure_ac (;$)
+{
+  my $res = find_configure_ac (@_);
+  fatal "`configure.ac' or `configure.in' is required"
+    unless -f $res;
+  return $res
+}
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/DisjConditions.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/DisjConditions.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/DisjConditions.pm	(revision 3089)
@@ -0,0 +1,539 @@
+# Copyright (C) 1997, 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::DisjConditions;
+
+use Carp;
+use strict;
+use Automake::Condition qw/TRUE FALSE/;
+
+=head1 NAME
+
+Automake::DisjConditions - record a disjunction of Conditions
+
+=head1 SYNOPSIS
+
+  use Automake::Condition;
+  use Automake::DisjConditions;
+
+  # Create a Condition to represent "COND1 and not COND2".
+  my $cond = new Automake::Condition "COND1_TRUE", "COND2_FALSE";
+  # Create a Condition to represent "not COND3".
+  my $other = new Automake::Condition "COND3_FALSE";
+
+  # Create a DisjConditions to represent
+  #   "(COND1 and not COND2) or (not COND3)"
+  my $set = new Automake::DisjConditions $cond, $other;
+
+  # Return the list of Conditions involved in $set.
+  my @conds = $set->conds;
+
+  # Return one of the Condition involved in $set.
+  my $cond = $set->one_cond;
+
+  # Return true iff $set is always true (i.e. its subconditions
+  # conver all cases).
+  if ($set->true) { ... }
+
+  # Return false iff $set is always false (i.e. is empty, or contains
+  # only false conditions).
+  if ($set->false) { ... }
+
+  # Return a string representing the DisjConditions.
+  #   "COND1_TRUE COND2_FALSE | COND3_FALSE"
+  my $str = $set->string;
+
+  # Return a human readable string representing the DisjConditions.
+  #   "(COND1 and !COND2) or (!COND3)"
+  my $str = $set->human;
+
+  # Merge (OR) several DisjConditions.
+  my $all = $set->merge($set2, $set3, ...)
+
+  # Invert a DisjConditions, i.e., create a new DisjConditions
+  # that complements $set.
+  my $inv = $set->invert;
+
+  # Multiply two DisjConditions.
+  my $prod = $set1->multiply ($set2);
+
+  # Return the subconditions of a DisjConditions with respect to
+  # a Condition.  See the description for a real example.
+  my $subconds = $set->sub_conditions ($cond);
+
+  # Check whether a new definition in condition $cond would be
+  # ambiguous w.r.t. existing definitions in $set.
+  ($msg, $ambig_cond) = $set->ambiguous_p ($what, $cond);
+
+=head1 DESCRIPTION
+
+A C<DisjConditions> is a disjunction of C<Condition>s.  In Automake
+they are used to represent the conditions into which Makefile
+variables and Makefile rules are defined.
+
+If the variable C<VAR> is defined as
+
+  if COND1
+    if COND2
+      VAR = value1
+    endif
+  endif
+  if !COND3
+    if COND4
+      VAR = value2
+    endif
+  endif
+
+then it will be associated a C<DisjConditions> created with
+the following statement.
+
+  new Automake::DisjConditions
+    (new Automake::Condition ("COND1_TRUE", "COND2_TRUE"),
+     new Automake::Condition ("COND3_FALSE", "COND4_TRUE"));
+
+As you can see, a C<DisjConditions> is made from a list of
+C<Condition>s.  Since C<DisjConditions> is a disjunction, and
+C<Condition> is a conjunction, the above can be read as
+follows.
+
+  (COND1 and COND2) or ((not COND3) and COND4)
+
+That's indeed the condition into which C<VAR> has a value.
+
+Like C<Condition> objects, a C<DisjConditions> object is unique
+with respect to its conditions.  Two C<DisjConditions> objects created
+for the same set of conditions will have the same adress.  This makes
+it easy to compare C<DisjConditions>s: just compare the references.
+
+=head2 Methods
+
+=over 4
+
+=item C<$set = new Automake::DisjConditions [@conds]>
+
+Create a C<DisjConditions> object from the list of C<Condition>
+objects passed in arguments.
+
+If the C<@conds> list is empty, the C<DisjConditions> is assumed to be
+false.
+
+As explained previously, the reference (object) returned is unique
+with respect to C<@conds>.  For this purpose, duplicate elements are
+ignored.
+
+=cut
+
+# Keys in this hash are DisjConditions strings. Values are the
+# associated object DisjConditions.  This is used by `new' to reuse
+# DisjConditions objects with identical conditions.
+use vars '%_disjcondition_singletons';
+
+sub new ($;@)
+{
+  my ($class, @conds) = @_;
+  my $self = {
+    hash => {},
+  };
+  bless $self, $class;
+
+  for my $cond (@conds)
+    {
+      confess "`$cond' isn't a reference" unless ref $cond;
+      confess "`$cond' isn't an Automake::Condition"
+	unless $cond->isa ("Automake::Condition");
+
+      # This is a disjunction of conditions, so we drop
+      # false conditions.  We'll always treat an "empty"
+      # DisjConditions as false for this reason.
+      next if $cond->false;
+
+      # Store conditions as keys AND as values, because blessed
+      # objects are converted to string when used as keys (so
+      # at least we still have the value when we need to call
+      # a method).
+      $self->{'hash'}{$cond} = $cond;
+    }
+
+  my $key = $self->string;
+  if (exists $_disjcondition_singletons{$key})
+    {
+      return $_disjcondition_singletons{$key};
+    }
+  $_disjcondition_singletons{$key} = $self;
+  return $self;
+}
+
+=item C<@conds = $set-E<gt>conds>
+
+Return the list of C<Condition> objects involved in C<$set>.
+
+=cut
+
+sub conds ($ )
+{
+  my ($self) = @_;
+  return @{$self->{'conds'}} if exists $self->{'conds'};
+  my @conds = values %{$self->{'hash'}};
+  @conds = sort { $a->string cmp $b->string } @conds;
+  $self->{'conds'} = [@conds];
+  return @conds;
+}
+
+=item C<$cond = $set-E<gt>one_cond>
+
+Return one C<Condition> object involved in C<$set>.
+
+=cut
+
+sub one_cond ($)
+{
+  my ($self) = @_;
+  return (%{$self->{'hash'}},)[1];
+}
+
+=item C<$et = $set-E<gt>false>
+
+Return 1 iff the C<DisjConditions> object is always false (i.e., if it
+is empty, or if it contains only false C<Condition>s). Return 0
+otherwise.
+
+=cut
+
+sub false ($ )
+{
+  my ($self) = @_;
+  return 0 == keys %{$self->{'hash'}};
+}
+
+=item C<$et = $set-E<gt>true>
+
+Return 1 iff the C<DisjConditions> object is always true (i.e. covers all
+conditions). Return 0 otherwise.
+
+=cut
+
+sub true ($ )
+{
+  my ($self) = @_;
+  return $self->invert->false;
+}
+
+=item C<$str = $set-E<gt>string>
+
+Build a string which denotes the C<DisjConditions>.
+
+=cut
+
+sub string ($ )
+{
+  my ($self) = @_;
+
+  return $self->{'string'} if defined $self->{'string'};
+
+  my $res = '';
+  if ($self->false)
+    {
+      $res = 'FALSE';
+    }
+  else
+    {
+      $res = join (' | ', map { $_->string } $self->conds);
+    }
+
+  $self->{'string'} = $res;
+  return $res;
+}
+
+=item C<$cond-E<gt>human>
+
+Build a human readable string which denotes the C<DisjConditions>.
+
+=cut
+
+sub human ($ )
+{
+  my ($self) = @_;
+
+  return $self->{'human'} if defined $self->{'human'};
+
+  my $res = '';
+  if ($self->false)
+    {
+      $res = 'FALSE';
+    }
+  else
+    {
+      my @c = $self->conds;
+      if (1 == @c)
+	{
+	  $res = $c[0]->human;
+	}
+      else
+	{
+	  $res = '(' . join (') or (', map { $_->human } $self->conds) . ')';
+	}
+    }
+  $self->{'human'} = $res;
+  return $res;
+}
+
+
+=item C<$newcond = $cond-E<gt>merge (@otherconds)>
+
+Return a new C<DisjConditions> which is the disjunction of
+C<$cond> and C<@otherconds>.  Items in C<@otherconds> can be
+@C<Condition>s or C<DisjConditions>.
+
+=cut
+
+sub merge ($@)
+{
+  my ($self, @otherconds) = @_;
+  new Automake::DisjConditions (
+    map { $_->isa ("Automake::DisjConditions") ? $_->conds : $_ }
+        ($self, @otherconds));
+}
+
+
+=item C<$prod = $set1-E<gt>multiply ($set2)>
+
+Multiply two conditional sets.
+
+  my $set1 = new Automake::DisjConditions
+    (new Automake::Condition ("A_TRUE"),
+     new Automake::Condition ("B_TRUE"));
+  my $set2 = new Automake::DisjConditions
+    (new Automake::Condition ("C_FALSE"),
+     new Automake::Condition ("D_FALSE"));
+
+C<$set1-E<gt>multiply ($set2)> will return
+
+  new Automake::DisjConditions
+    (new Automake::Condition ("A_TRUE", "C_FALSE"),
+     new Automake::Condition ("B_TRUE", "C_FALSE"),;
+     new Automake::Condition ("A_TRUE", "D_FALSE"),
+     new Automake::Condition ("B_TRUE", "D_FALSE"));
+
+The argument can also be a C<Condition>.
+
+=cut
+
+# Same as multiply() but take a list of Conditonals as second argument.
+# We use this in invert().
+sub _multiply ($@)
+{
+  my ($self, @set) = @_;
+  my @res = map { $_->multiply (@set) } $self->conds;
+  return new Automake::DisjConditions (Automake::Condition::reduce_or @res);
+}
+
+sub multiply ($$)
+{
+  my ($self, $set) = @_;
+  return $self->_multiply ($set) if $set->isa('Automake::Condition');
+  return $self->_multiply ($set->conds);
+}
+
+=item C<$inv = $set-E<gt>invert>
+
+Invert a C<DisjConditions>.  Return a C<DisjConditions> which is true
+when C<$set> is false, and vice-versa.
+
+  my $set = new Automake::DisjConditions
+    (new Automake::Condition ("A_TRUE", "B_TRUE"),
+     new Automake::Condition ("A_FALSE", "B_FALSE"));
+
+Calling C<$set-E<gt>invert> will return the following C<DisjConditions>.
+
+  new Automake::DisjConditions
+    (new Automake::Condition ("A_TRUE", "B_FALSE"),
+     new Automake::Condition ("A_FALSE", "B_TRUE"));
+
+We implement the inversion by a product-of-sums to sum-of-products
+conversion using repeated multiplications.  Because of the way we
+implement multiplication, the result of inversion is in canonical
+prime implicant form.
+
+=cut
+
+sub invert($ )
+{
+  my ($self) = @_;
+
+  return $self->{'invert'} if defined $self->{'invert'};
+
+  # The invert of an empty DisjConditions is TRUE.
+  my $res = new Automake::DisjConditions TRUE;
+
+  #   !((a.b)+(c.d)+(e.f))
+  # = (!a+!b).(!c+!d).(!e+!f)
+  # We develop this into a sum of product iteratively, starting from TRUE:
+  # 1) TRUE
+  # 2) TRUE.!a + TRUE.!b
+  # 3) TRUE.!a.!c + TRUE.!b.!c + TRUE.!a.!d + TRUE.!b.!d
+  # 4) TRUE.!a.!c.!e + TRUE.!b.!c.!e + TRUE.!a.!d.!e + TRUE.!b.!d.!e
+  #    + TRUE.!a.!c.!f + TRUE.!b.!c.!f + TRUE.!a.!d.!f + TRUE.!b.!d.!f
+  foreach my $cond ($self->conds)
+    {
+      $res = $res->_multiply ($cond->not);
+    }
+
+  # Cache result.
+  $self->{'invert'} = $res;
+  # It's tempting to also set $res->{'invert'} to $self, but that
+  # is a bad idea as $self hasn't been normalized in any way.
+  # (Different inputs can produce the same inverted set.)
+  return $res;
+}
+
+=item C<$self-E<gt>simplify>
+
+Return a C<Disjunction> which is a simplified canonical form of C<$self>.
+This canonical form contains only prime implicants, but it can contain
+non-essential prime implicants.
+
+=cut
+
+sub simplify ($)
+{
+  my ($self) = @_;
+  return $self->invert->invert;
+}
+
+=item C<$self-E<gt>sub_conditions ($cond)>
+
+Return the subconditions of C<$self> that contains C<$cond>, with
+C<$cond> stripped.  More formally, return C<$res> such that
+C<$res-E<gt>multiply ($cond) == $self-E<gt>multiply ($cond)> and
+C<$res> does not mention any of the variables in C<$cond>.
+
+For instance, consider:
+
+  my $a = new Automake::DisjConditions
+    (new Automake::Condition ("A_TRUE", "B_TRUE"),
+     new Automake::Condition ("A_TRUE", "C_FALSE"),
+     new Automake::Condition ("A_TRUE", "B_FALSE", "C_TRUE"),
+     new Automake::Condition ("A_FALSE"));
+  my $b = new Automake::DisjConditions
+    (new Automake::Condition ("A_TRUE", "B_FALSE"));
+
+Calling C<$a-E<gt>sub_conditions ($b)> will return the following
+C<DisjConditions>.
+
+  new Automake::DisjConditions
+    (new Automake::Condition ("C_FALSE"), # From A_TRUE C_FALSE
+     new Automake::Condition ("C_TRUE")); # From A_TRUE B_FALSE C_TRUE"
+
+=cut
+
+sub sub_conditions ($$)
+{
+  my ($self, $subcond) = @_;
+
+  # Make $subcond blindingly apparent in the DisjConditions.
+  # For instance `$b->multiply($a->conds)' (from the POD example) is:
+  # 	(new Automake::Condition ("FALSE"),
+  # 	 new Automake::Condition ("A_TRUE", "B_FALSE", "C_FALSE"),
+  # 	 new Automake::Condition ("A_TRUE", "B_FALSE", "C_TRUE"),
+  # 	 new Automake::Condition ("FALSE"))
+  my @prodconds = $subcond->multiply ($self->conds);
+
+  # Now, strip $subcond from the remaining (i.e., non-false) Conditions.
+  my @res = map { $_->false ? () : $_->strip ($subcond) } @prodconds;
+
+  return new Automake::DisjConditions @res;
+}
+
+=item C<($string, $ambig_cond) = $condset-E<gt>ambiguous_p ($what, $cond)>
+
+Check for an ambiguous condition.  Return an error message and the
+other condition involved if we have an ambiguity.  Return an empty
+string and FALSE otherwise.
+
+C<$what> is the name of the thing being defined, to use in the error
+message.  C<$cond> is the C<Condition> under which it is being
+defined.  C<$condset> is the C<DisjConditions> under which it had
+already been defined.
+
+=cut
+
+sub ambiguous_p ($$$)
+{
+  my ($self, $var, $cond) = @_;
+
+  # Note that these rules don't consider the following
+  # example as ambiguous.
+  #
+  #   if COND1
+  #     FOO = foo
+  #   endif
+  #   if COND2
+  #     FOO = bar
+  #   endif
+  #
+  # It's up to the user to not define COND1 and COND2
+  # simultaneously.
+
+  return ("$var multiply defined in condition " . $cond->human, $cond)
+    if exists $self->{'hash'}{$cond};
+
+  foreach my $vcond ($self->conds)
+    {
+      return ("$var was already defined in condition " . $vcond->human
+	      . ", which includes condition ". $cond->human, $vcond)
+	if $vcond->true_when ($cond);
+
+      return ("$var was already defined in condition " . $vcond->human
+	      . ", which is included in condition " . $cond->human, $vcond)
+	if $cond->true_when ($vcond);
+    }
+  return ('', FALSE);
+}
+
+=head1 SEE ALSO
+
+L<Automake::Condition>.
+
+=head1 HISTORY
+
+C<AM_CONDITIONAL>s and supporting code were added to Automake 1.1o by
+Ian Lance Taylor <ian@cygnus.org> in 1997.  Since then it has been
+improved by Tom Tromey <tromey@redhat.com>, Richard Boulton
+<richard@tartarus.org>, Raja R Harinath <harinath@cs.umn.edu>, Akim
+Demaille <akim@epita.fr>, Pavel Roskin <proski@gnu.org>, and
+Alexandre Duret-Lutz <adl@gnu.org>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/FileUtils.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/FileUtils.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/FileUtils.pm	(revision 3089)
@@ -0,0 +1,385 @@
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::FileUtils;
+
+=head1 NAME
+
+Automake::FileUtils - handling files
+
+=head1 SYNOPSIS
+
+  use Automake::FileUtils
+
+=head1 DESCRIPTION
+
+This perl module provides various general purpose file handling functions.
+
+=cut
+
+use strict;
+use Exporter;
+use File::stat;
+use IO::File;
+use Automake::Channels;
+use Automake::ChannelDefs;
+
+use vars qw (@ISA @EXPORT);
+
+@ISA = qw (Exporter);
+@EXPORT = qw (&contents
+	      &find_file &mtime
+	      &update_file &up_to_date_p
+	      &xsystem &xqx &dir_has_case_matching_file &reset_dir_cache);
+
+
+=item C<find_file ($file_name, @include)>
+
+Return the first path for a C<$file_name> in the C<include>s.
+
+We match exactly the behavior of GNU M4: first look in the current
+directory (which includes the case of absolute file names), and, if
+the file is not absolute, just fail.  Otherwise, look in C<@include>.
+
+If the file is flagged as optional (ends with C<?>), then return undef
+if absent, otherwise exit with error.
+
+=cut
+
+# $FILE_NAME
+# find_file ($FILE_NAME, @INCLUDE)
+# -------------------------------
+sub find_file ($@)
+{
+  use File::Spec;
+
+  my ($file_name, @include) = @_;
+  my $optional = 0;
+
+  $optional = 1
+    if $file_name =~ s/\?$//;
+
+  return File::Spec->canonpath ($file_name)
+    if -e $file_name;
+
+  if (File::Spec->file_name_is_absolute ($file_name))
+    {
+      fatal "$file_name: no such file or directory"
+	unless $optional;
+      return undef;
+    }
+
+  foreach my $path (@include)
+    {
+      return File::Spec->canonpath (File::Spec->catfile ($path, $file_name))
+	if -e File::Spec->catfile ($path, $file_name)
+    }
+
+  fatal "$file_name: no such file or directory"
+    unless $optional;
+
+  return undef;
+}
+
+=item C<mtime ($file)>
+
+Return the mtime of C<$file>.  Missing files, or C<-> standing for
+C<STDIN> or C<STDOUT> are ``obsolete'', i.e., as old as possible.
+
+=cut
+
+# $MTIME
+# MTIME ($FILE)
+# -------------
+sub mtime ($)
+{
+  my ($file) = @_;
+
+  return 0
+    if $file eq '-' || ! -f $file;
+
+  my $stat = stat ($file)
+    or fatal "cannot stat $file: $!";
+
+  return $stat->mtime;
+}
+
+
+=item C<update_file ($from, $to, [$force])>
+
+Rename C<$from> as C<$to>, preserving C<$to> timestamp if it has not
+changed, unless C<$force> is true (defaults to false).  Recognize
+C<$to> = C<-> standing for C<STDIN>.  C<$from> is always
+removed/renamed.
+
+=cut
+
+# &update_file ($FROM, $TO; $FORCE)
+# ---------------------------------
+sub update_file ($$;$)
+{
+  my ($from, $to, $force) = @_;
+  $force = 0
+    unless defined $force;
+  my $SIMPLE_BACKUP_SUFFIX = $ENV{'SIMPLE_BACKUP_SUFFIX'} || '~';
+  use File::Compare;
+  use File::Copy;
+
+  if ($to eq '-')
+    {
+      my $in = new IO::File ("$from");
+      my $out = new IO::File (">-");
+      while ($_ = $in->getline)
+	{
+	  print $out $_;
+	}
+      $in->close;
+      unlink ($from) || fatal "cannot remove $from: $!";
+      return;
+    }
+
+  if (!$force && -f "$to" && compare ("$from", "$to") == 0)
+    {
+      # File didn't change, so don't update its mod time.
+      msg 'note', "`$to' is unchanged";
+      unlink ($from)
+        or fatal "cannot remove $from: $!";
+      return
+    }
+
+  if (-f "$to")
+    {
+      # Back up and install the new one.
+      move ("$to",  "$to$SIMPLE_BACKUP_SUFFIX")
+	or fatal "cannot backup $to: $!";
+      move ("$from", "$to")
+	or fatal "cannot rename $from as $to: $!";
+      msg 'note', "`$to' is updated";
+    }
+  else
+    {
+      move ("$from", "$to")
+	or fatal "cannot rename $from as $to: $!";
+      msg 'note', "`$to' is created";
+    }
+}
+
+
+=item C<up_to_date_p ($file, @dep)>
+
+Is C<$file> more recent than C<@dep>?
+
+=cut
+
+# $BOOLEAN
+# &up_to_date_p ($FILE, @DEP)
+# ---------------------------
+sub up_to_date_p ($@)
+{
+  my ($file, @dep) = @_;
+  my $mtime = mtime ($file);
+
+  foreach my $dep (@dep)
+    {
+      if ($mtime < mtime ($dep))
+	{
+	  verb "up_to_date ($file): outdated: $dep";
+	  return 0;
+	}
+    }
+
+  verb "up_to_date ($file): up to date";
+  return 1;
+}
+
+
+=item C<handle_exec_errors ($command)>
+
+Display an error message for C<$command>, based on the content of
+C<$?> and C<$!>.
+
+=cut
+
+# handle_exec_errors ($COMMAND)
+# -----------------------------
+sub handle_exec_errors ($)
+{
+  my ($command) = @_;
+
+  $command = (split (' ', $command))[0];
+  if ($!)
+    {
+      fatal "failed to run $command: $!";
+    }
+  else
+    {
+      use POSIX qw (WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG);
+
+      if (WIFEXITED ($?))
+	{
+	  my $status = WEXITSTATUS ($?);
+	  # Propagate exit codes.
+	  fatal ('',
+		 "$command failed with exit status: $status",
+		 exit_code => $status);
+	}
+      elsif (WIFSIGNALED ($?))
+	{
+	  my $signal = WTERMSIG ($?);
+	  fatal "$command terminated by signal: $signal";
+	}
+      else
+	{
+	  fatal "$command exited abnormally";
+	}
+    }
+}
+
+=item C<xqx ($command)>
+
+Same as C<qx> (but in scalar context), but fails on errors.
+
+=cut
+
+# xqx ($COMMAND)
+# --------------
+sub xqx ($)
+{
+  my ($command) = @_;
+
+  verb "running: $command";
+
+  $! = 0;
+  my $res = `$command`;
+  handle_exec_errors $command
+    if $?;
+
+  return $res;
+}
+
+
+=item C<xsystem ($command)>
+
+Same as C<system>, but fails on errors, and reports the C<$command>
+in verbose mode.
+
+=cut
+
+# xsystem ($COMMAND)
+# ------------------
+sub xsystem ($)
+{
+  my ($command) = @_;
+
+  verb "running: $command";
+
+  $! = 0;
+  handle_exec_errors $command
+    if system $command;
+}
+
+
+=item C<contents ($file_name)>
+
+Return the contents of C<$file_name>.
+
+=cut
+
+# contents ($FILE_NAME)
+# ---------------------
+sub contents ($)
+{
+  my ($file) = @_;
+  verb "reading $file";
+  local $/;			# Turn on slurp-mode.
+  my $f = new Automake::XFile "< $file";
+  my $contents = $f->getline;
+  $f->close;
+  return $contents;
+}
+
+
+=item C<dir_has_case_matching_file ($DIRNAME, $FILE_NAME)>
+
+Return true iff $DIR contains a file name that matches $FILE_NAME case
+insensitively.
+
+We need to be cautious on case-insensitive case-preserving file
+systems (e.g. Mac OS X's HFS+).  On such systems C<-f 'Foo'> and C<-f
+'foO'> answer the same thing.  Hence if a package distributes its own
+F<CHANGELOG> file, but has no F<ChangeLog> file, automake would still
+try to distribute F<ChangeLog> (because it thinks it exists) in
+addition to F<CHANGELOG>, although it is impossible for these two
+files to be in the same directory (the two file names designate the
+same file).
+
+=cut
+
+use vars '%_directory_cache';
+sub dir_has_case_matching_file ($$)
+{
+  # Note that print File::Spec->case_tolerant returns 0 even on MacOS
+  # X (with Perl v5.8.1-RC3 at least), so do not try to shortcut this
+  # function using that.
+
+  my ($dirname, $file_name) = @_;
+  return 0 unless -f "$dirname/$file_name";
+
+  # The file appears to exist, however it might be a mirage if the
+  # system is case insensitive.  Let's browse the directory and check
+  # whether the file is really in.  We maintain a cache of directories
+  # so Automake doesn't spend all its time reading the same directory
+  # again and again.
+  if (!exists $_directory_cache{$dirname})
+    {
+      error "failed to open directory `$dirname'"
+	unless opendir (DIR, $dirname);
+      $_directory_cache{$dirname} = { map { $_ => 1 } readdir (DIR) };
+      closedir (DIR);
+    }
+  return exists $_directory_cache{$dirname}{$file_name};
+}
+
+=item C<reset_dir_cache ($dirname)>
+
+Clear C<dir_has_case_matching_file>'s cache for C<$dirname>.
+
+=cut
+
+sub reset_dir_cache ($)
+{
+  delete $_directory_cache{$_[0]};
+}
+
+1; # for require
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/General.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/General.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/General.pm	(revision 3089)
@@ -0,0 +1,89 @@
+# Copyright (C) 2001, 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::General;
+
+use 5.005;
+use strict;
+use Exporter;
+use File::Basename;
+
+use vars qw (@ISA @EXPORT);
+
+@ISA = qw (Exporter);
+@EXPORT = qw (&uniq $me);
+
+# Variable we share with the main package.  Be sure to have a single
+# copy of them: using `my' together with multiple inclusion of this
+# package would introduce several copies.
+use vars qw ($me);
+$me = basename ($0);
+
+# END
+# ---
+# Exit nonzero whenever closing STDOUT fails.
+sub END
+{
+  # This is required if the code might send any output to stdout
+  # E.g., even --version or --help.  So it's best to do it unconditionally.
+  if (! close STDOUT)
+    {
+      print STDERR "$me: closing standard output: $!\n";
+      $? = 74; # EX_IOERR
+      return;
+    }
+}
+
+
+# @RES
+# uniq (@LIST)
+# ------------
+# Return LIST with no duplicates.
+sub uniq (@)
+{
+   my @res = ();
+   my %seen = ();
+   foreach my $item (@_)
+     {
+       if (! exists $seen{$item})
+	 {
+	   $seen{$item} = 1;
+	   push (@res, $item);
+	 }
+     }
+   return wantarray ? @res : "@res";
+}
+
+
+1; # for require
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Item.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Item.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Item.pm	(revision 3089)
@@ -0,0 +1,204 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Item;
+use strict;
+use Carp;
+
+use Automake::ChannelDefs;
+use Automake::DisjConditions;
+
+=head1 NAME
+
+Automake::Item - base class for Automake::Variable and Automake::Rule
+
+=head1 DESCRIPTION
+
+=head2 Methods
+
+=over 4
+
+=item C<new Automake::Item $name>
+
+Create and return an empty Item called C<$name>.
+
+=cut
+
+sub new ($$)
+{
+  my ($class, $name) = @_;
+  my $self = {
+    name => $name,
+    defs => {},
+    conds => {},
+  };
+  bless $self, $class;
+  return $self;
+}
+
+=item C<$item-E<gt>name>
+
+Return the name of C<$item>.
+
+=cut
+
+sub name ($)
+{
+  my ($self) = @_;
+  return $self->{'name'};
+}
+
+=item C<$item-E<gt>def ($cond)>
+
+Return the definition for this item in condition C<$cond>, if it
+exists.  Return 0 otherwise.
+
+=cut
+
+sub def ($$)
+{
+  my ($self, $cond) = @_;
+  return $self->{'defs'}{$cond} if exists $self->{'defs'}{$cond};
+  return 0;
+}
+
+=item C<$item-E<gt>rdef ($cond)>
+
+Return the definition for this item in condition C<$cond>.  Abort with
+an internal error if the item was not defined under this condition.
+
+The I<r> in front of C<def> stands for I<required>.  One
+should call C<rdef> to assert the conditional definition's existence.
+
+=cut
+
+sub rdef ($$)
+{
+  my ($self, $cond) = @_;
+  my $d = $self->def ($cond);
+  prog_error ("undefined condition `" . $cond->human . "' for `"
+	      . $self->name . "'\n" . $self->dump)
+    unless $d;
+  return $d;
+}
+
+=item C<$item-E<gt>set ($cond, $def)>
+
+Add a new definition to an existing item.
+
+=cut
+
+sub set ($$$)
+{
+  my ($self, $cond, $def) = @_;
+  $self->{'defs'}{$cond} = $def;
+  $self->{'conds'}{$cond} = $cond;
+}
+
+=item C<$var-E<gt>conditions>
+
+Return an L<Automake::DisjConditions> describing the conditions that
+that an item is defined in.
+
+These are all the conditions for which is would be safe to call
+C<rdef>.
+
+=cut
+
+sub conditions ($)
+{
+  my ($self) = @_;
+  prog_error ("self is not a reference")
+    unless ref $self;
+  return new Automake::DisjConditions (values %{$self->{'conds'}});
+}
+
+=item C<@missing_conds = $var-E<gt>not_always_defined_in_cond ($cond)>
+
+Check whether C<$var> is always defined for condition C<$cond>.
+Return a list of conditions where the definition is missing.
+
+For instance, given
+
+  if COND1
+    if COND2
+      A = foo
+      D = d1
+    else
+      A = bar
+      D = d2
+    endif
+  else
+    D = d3
+  endif
+  if COND3
+    A = baz
+    B = mumble
+  endif
+  C = mumble
+
+we should have (we display result as conditional strings in this
+illustration, but we really return DisjConditions objects):
+
+  var ('A')->not_always_defined_in_cond ('COND1_TRUE COND2_TRUE')
+    => ()
+  var ('A')->not_always_defined_in_cond ('COND1_TRUE')
+    => ()
+  var ('A')->not_always_defined_in_cond ('TRUE')
+    => ("COND1_FALSE COND3_FALSE")
+  var ('B')->not_always_defined_in_cond ('COND1_TRUE')
+    => ("COND1_TRUE COND3_FALSE")
+  var ('C')->not_always_defined_in_cond ('COND1_TRUE')
+    => ()
+  var ('D')->not_always_defined_in_cond ('TRUE')
+    => ()
+  var ('Z')->not_always_defined_in_cond ('TRUE')
+    => ("TRUE")
+
+=cut
+
+sub not_always_defined_in_cond ($$)
+{
+  my ($self, $cond) = @_;
+
+  # Compute the subconditions where $var isn't defined.
+  return
+    $self->conditions
+      ->sub_conditions ($cond)
+	->invert
+	  ->multiply ($cond);
+}
+
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/ItemDef.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/ItemDef.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/ItemDef.pm	(revision 3089)
@@ -0,0 +1,113 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::ItemDef;
+use strict;
+use Carp;
+
+=head1 NAME
+
+Automake::ItemDef - base class for Automake::VarDef and Automake::RuleDef
+
+=head1 DESCRIPTION
+
+=head2 Methods
+
+=over 4
+
+=item C<my $def = Automake::new ($comment, $location, $owner)>
+
+Create a new Makefile-item definition.
+
+C<$comment> is any comment preceding the definition.  (Because
+Automake reorders items in the output, it also tries to carry comments
+around.)
+
+C<$location> is the place where the definition occured, it should be
+an instance of L<Automake::Location>.
+
+C<$owner> specifies who owns the rule.
+
+=cut
+
+sub new ($$$$)
+{
+  my ($class, $comment, $location, $owner) = @_;
+
+  my $self = {
+    comment => $comment,
+    location => $location,
+    owner => $owner,
+  };
+  bless $self, $class;
+
+  return $self;
+}
+
+=item C<$def-E<gt>comment>
+
+=item C<$def-E<gt>location>
+
+=item C<$def-E<gt>owner>
+
+Accessors to the various constituents of an C<ItemDef>.  See the
+documentation of C<new>'s arguments for a description of these.
+
+=cut
+
+sub comment ($)
+{
+  my ($self) = @_;
+  return $self->{'comment'};
+}
+
+sub location ($)
+{
+  my ($self) = @_;
+  return $self->{'location'};
+}
+
+sub owner ($)
+{
+  my ($self) = @_;
+  return $self->{'owner'};
+}
+
+=head1 SEE ALSO
+
+L<Automake::VarDef>, and L<Automake::RuleDef>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Location.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Location.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Location.pm	(revision 3089)
@@ -0,0 +1,177 @@
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Location;
+
+=head1 NAME
+
+Automake::Location - a class for location tracking, with a stack of contexts
+
+=head1 SYNOPSIS
+
+  use Automake::Location;
+
+  # Create a new Location object
+  my $where = new Automake::Location "foo.c:13";
+
+  # Change the location
+  $where->set ("foo.c:14");
+
+  # Get the location (without context).
+  # Here this should print "foo.c:14"
+  print $where->get, "\n";
+
+  # Push a context, and change the location
+  $where->push_context ("included from here");
+  $where->set ("bar.h:1");
+
+  # Print the location and the stack of context (for debugging)
+  print $where->dump;
+  # This should display
+  #   bar.h:1:
+  #   foo.c:14:   included from here
+
+  # Get the contexts (list of [$location_string, $description])
+  for my $pair (reverse $where->contexts)
+    {
+      my ($loc, $descr) = @{$pair};
+      ...
+    }
+
+  # Pop a context, and reset the location from the previous context.
+  $where->pop_context;
+
+  # Clone a Location.  Use this when storing the state of a location
+  # that would otherwise be modified.
+  my $where_copy = $where->clone;
+
+=head1 DESCRIPTION
+
+C<Location> objects are used to keep track of locations in Automake,
+and used to produce diagnostics.
+
+A C<Location> object is made of two parts: a location string, and
+a stack of contexts.
+
+For instance if C<VAR> is defined at line 1 in F<bar.h> which was
+included at line 14 in F<foo.c>, then the location string should be
+C<"bar.h:10"> and the context should be the pair (C<"foo.c:14">,
+C<"included from here">).
+
+Section I<SYNOPSIS> shows how to setup such a C<Location>, and access
+the location string or the stack of contexts.
+
+You can pass a C<Location> to C<Automake::Channels::msg>.
+
+=cut
+
+sub new ($;$)
+{
+  my ($class, $position) = @_;
+  my $self = {
+    position => $position,
+    contexts => [],
+  };
+  bless $self, $class;
+  return $self;
+}
+
+sub set ($$)
+{
+  my ($self, $position) = @_;
+  $self->{'position'} = $position;
+}
+
+sub get ($)
+{
+  my ($self) = @_;
+  return $self->{'position'};
+}
+
+sub push_context ($$)
+{
+  my ($self, $context) = @_;
+  push @{$self->{'contexts'}}, [$self->get, $context];
+  $self->set (undef);
+}
+
+sub pop_context ($)
+{
+  my ($self) = @_;
+  my $pair = pop @{$self->{'contexts'}};
+  $self->set ($pair->[0]);
+  return @{$pair};
+}
+
+sub get_contexts ($)
+{
+  my ($self) = @_;
+  return @{$self->{'contexts'}};
+}
+
+sub clone ($)
+{
+  my ($self) = @_;
+  my $other = new Automake::Location ($self->get);
+  my @contexts = $self->get_contexts;
+  for my $pair (@contexts)
+    {
+      push @{$other->{'contexts'}}, [@{$pair}];
+    }
+  return $other;
+}
+
+sub dump ($)
+{
+  my ($self) = @_;
+  my $res = ($self->get || 'INTERNAL') . ":\n";
+  for my $pair (reverse $self->get_contexts)
+    {
+      $res .= $pair->[0] || 'INTERNAL';
+      $res .= ": $pair->[1]\n";
+    }
+  return $res;
+}
+
+=head1 SEE ALSO
+
+L<Automake::Channels>
+
+=head1 HISTORY
+
+Written by Alexandre Duret-Lutz E<lt>F<adl@gnu.org>E<gt>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Makefile.am	(revision 3089)
@@ -0,0 +1,71 @@
+## Process this file with automake to create Makefile.in
+
+## Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+SUBDIRS = tests
+
+perllibdir = $(pkgvdatadir)/Automake
+dist_perllib_DATA = \
+  ChannelDefs.pm \
+  Channels.pm \
+  Condition.pm \
+  Configure_ac.pm \
+  DisjConditions.pm \
+  FileUtils.pm \
+  General.pm \
+  Item.pm \
+  ItemDef.pm \
+  Location.pm \
+  Options.pm \
+  Rule.pm \
+  RuleDef.pm \
+  Struct.pm \
+  Variable.pm \
+  VarDef.pm \
+  Version.pm \
+  XFile.pm \
+  Wrap.pm
+
+nodist_perllib_DATA = \
+  Config.pm
+
+CLEANFILES = $(nodist_perllib_DATA)
+
+## We can't use configure to do the substitution here; we must do it
+## by hand.  We use a funny notation here to avoid configure
+## substitutions in our text.
+do_subst = in=`echo $@ | sed 's/\.[^.]*$$//'`; sed \
+  -e 's,[@]APIVERSION[@],$(APIVERSION),g' \
+  -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+  -e 's,[@]PERL[@],$(PERL),g' \
+  -e 's,[@]SHELL[@],$(SHELL),g' \
+  -e 's,[@]VERSION[@],$(VERSION),g' \
+  -e "s,[@]configure_input[@],Generated from $$in.in; do not edit by hand.,g" \
+  -e 's,[@]datadir[@],$(datadir),g'
+
+## This file depend on Makefile so it is rebuilt if $(VERSION),
+## $(datadir) or other do_subst'ituted variables change.
+## Use chmod a-w to prevent people from editing the wrong file by accident.
+Config.pm: Config.in Makefile
+	rm -f Config.tmp Config.pm
+	$(do_subst) $(srcdir)/Config.in >Config.tmp
+	chmod +x Config.tmp
+	chmod a-w Config.tmp
+	mv -f Config.tmp Config.pm
+
+EXTRA_DIST = Config.in
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Makefile.in	(revision 3089)
@@ -0,0 +1,535 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = lib/Automake
+DIST_COMMON = $(dist_perllib_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(perllibdir)" "$(DESTDIR)$(perllibdir)"
+dist_perllibDATA_INSTALL = $(INSTALL_DATA)
+nodist_perllibDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_perllib_DATA) $(nodist_perllib_DATA)
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = tests
+perllibdir = $(pkgvdatadir)/Automake
+dist_perllib_DATA = \
+  ChannelDefs.pm \
+  Channels.pm \
+  Condition.pm \
+  Configure_ac.pm \
+  DisjConditions.pm \
+  FileUtils.pm \
+  General.pm \
+  Item.pm \
+  ItemDef.pm \
+  Location.pm \
+  Options.pm \
+  Rule.pm \
+  RuleDef.pm \
+  Struct.pm \
+  Variable.pm \
+  VarDef.pm \
+  Version.pm \
+  XFile.pm \
+  Wrap.pm
+
+nodist_perllib_DATA = \
+  Config.pm
+
+CLEANFILES = $(nodist_perllib_DATA)
+do_subst = in=`echo $@ | sed 's/\.[^.]*$$//'`; sed \
+  -e 's,[@]APIVERSION[@],$(APIVERSION),g' \
+  -e 's,[@]PACKAGE[@],$(PACKAGE),g' \
+  -e 's,[@]PERL[@],$(PERL),g' \
+  -e 's,[@]SHELL[@],$(SHELL),g' \
+  -e 's,[@]VERSION[@],$(VERSION),g' \
+  -e "s,[@]configure_input[@],Generated from $$in.in; do not edit by hand.,g" \
+  -e 's,[@]datadir[@],$(datadir),g'
+
+EXTRA_DIST = Config.in
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib/Automake/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  lib/Automake/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-dist_perllibDATA: $(dist_perllib_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(perllibdir)" || $(mkdir_p) "$(DESTDIR)$(perllibdir)"
+	@list='$(dist_perllib_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_perllibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(perllibdir)/$$f'"; \
+	  $(dist_perllibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(perllibdir)/$$f"; \
+	done
+
+uninstall-dist_perllibDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_perllib_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(perllibdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(perllibdir)/$$f"; \
+	done
+install-nodist_perllibDATA: $(nodist_perllib_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(perllibdir)" || $(mkdir_p) "$(DESTDIR)$(perllibdir)"
+	@list='$(nodist_perllib_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(nodist_perllibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(perllibdir)/$$f'"; \
+	  $(nodist_perllibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(perllibdir)/$$f"; \
+	done
+
+uninstall-nodist_perllibDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(nodist_perllib_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(perllibdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(perllibdir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(perllibdir)" "$(DESTDIR)$(perllibdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_perllibDATA install-nodist_perllibDATA
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_perllibDATA uninstall-info-am \
+	uninstall-nodist_perllibDATA
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+	clean clean-generic clean-recursive ctags ctags-recursive \
+	distclean distclean-generic distclean-recursive distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am \
+	install-dist_perllibDATA install-exec install-exec-am \
+	install-info install-info-am install-man \
+	install-nodist_perllibDATA install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
+	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-dist_perllibDATA uninstall-info-am \
+	uninstall-nodist_perllibDATA
+
+
+Config.pm: Config.in Makefile
+	rm -f Config.tmp Config.pm
+	$(do_subst) $(srcdir)/Config.in >Config.tmp
+	chmod +x Config.tmp
+	chmod a-w Config.tmp
+	mv -f Config.tmp Config.pm
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Options.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Options.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Options.pm	(revision 3089)
@@ -0,0 +1,384 @@
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Options;
+
+use strict;
+use Exporter;
+use Automake::Config;
+use Automake::ChannelDefs;
+use Automake::Channels;
+use Automake::Version;
+
+use vars qw (@ISA @EXPORT);
+
+@ISA = qw (Exporter);
+@EXPORT = qw (option global_option
+	      set_option set_global_option
+	      unset_option unset_global_option
+	      process_option_list process_global_option_list
+	      set_strictness $strictness $strictness_name
+	      &FOREIGN &GNU &GNITS);
+
+=head1 NAME
+
+Automake::Options - keep track of Automake options
+
+=head1 SYNOPSIS
+
+  use Automake::Options;
+
+  # Option lookup and setting.
+  $opt = option 'name';
+  $opt = global_option 'name';
+  set_option 'name', 'value';
+  set_global_option 'name', 'value';
+  unset_option 'name';
+  unset_global_option 'name';
+
+  # Batch option setting.
+  process_option_list $location, @names;
+  process_global_option_list $location, @names;
+
+  # Strictness lookup and setting.
+  set_strictness 'foreign';
+  set_strictness 'gnu';
+  set_strictness 'gnits';
+  if ($strictness >= GNU) { ... }
+  print "$strictness_name\n";
+
+=head1 DESCRIPTION
+
+This packages manages Automake's options and strictness settings.
+Options can be either local or global.  Local options are set using an
+C<AUTOMAKE_OPTIONS> variable in a F<Makefile.am> and apply only to
+this F<Makefile.am>.  Global options are set from the command line or
+passed as an argument to C<AM_INIT_AUTOMAKE>, they apply to all
+F<Makefile.am>s.
+
+=cut
+
+# Values are the Automake::Location of the definition, except
+# for 'ansi2knr' whose value is a pair [filename, Location].
+use vars '%_options';		# From AUTOMAKE_OPTIONS
+use vars '%_global_options';	# from AM_INIT_AUTOMAKE or the command line.
+
+=head2 Constants
+
+=over 4
+
+=item FOREIGN
+
+=item GNU
+
+=item GNITS
+
+Strictness constants used as values for C<$strictness>.
+
+=back
+
+=cut
+
+# Constants to define the "strictness" level.
+use constant FOREIGN => 0;
+use constant GNU     => 1;
+use constant GNITS   => 2;
+
+=head2 Variables
+
+=over 4
+
+=item C<$strictness>
+
+The current stricness.  One of C<FOREIGN>, C<GNU>, or C<GNITS>.
+
+=item C<$strictness_name>
+
+The current stricness name.  One of C<'foreign'>, C<'gnu'>, or C<'gnits'>.
+
+=back
+
+=cut
+
+# Strictness levels.
+use vars qw ($strictness $strictness_name);
+
+# Strictness level as set on command line.
+use vars qw ($_default_strictness $_default_strictness_name);
+
+
+=head2 Functions
+
+=over 4
+
+=item C<Automake::Options::reset>
+
+Reset the options variables for the next F<Makefile.am>.
+
+In other words, this gets rid of all local options in use by the
+previous F<Makefile.am>.
+
+=cut
+
+sub reset ()
+{
+  %_options = %_global_options;
+  # The first time we are run,
+  # remember the current setting as the default.
+  if (defined $_default_strictness)
+    {
+      $strictness = $_default_strictness;
+      $strictness_name = $_default_strictness_name;
+    }
+  else
+    {
+      $_default_strictness = $strictness;
+      $_default_strictness_name = $strictness_name;
+    }
+}
+
+=item C<$value = option ($name)>
+
+=item C<$value = global_option ($name)>
+
+Query the state of an option.  If the option is unset, this
+returns the empty list.  Otherwise it returns the option's value,
+as set by C<set_option> or C<set_global_option>.
+
+Not that C<global_option> should be used only when it is
+important to make sure an option hasn't been set locally.
+Otherwise C<option> should be the standard function to
+check for options (be they global or local).
+
+=cut
+
+sub option ($)
+{
+  my ($name) = @_;
+  return () unless defined $_options{$name};
+  return $_options{$name};
+}
+
+sub global_option ($)
+{
+  my ($name) = @_;
+  return () unless defined $_global_options{$name};
+  return $_global_options{$name};
+}
+
+=item C<set_option ($name, $value)>
+
+=item C<set_global_option ($name, $value)>
+
+Set an option.  By convention, C<$value> is usually the location
+of the option definition.
+
+=cut
+
+sub set_option ($$)
+{
+  my ($name, $value) = @_;
+  $_options{$name} = $value;
+}
+
+sub set_global_option ($$)
+{
+  my ($name, $value) = @_;
+  $_global_options{$name} = $value;
+}
+
+
+=item C<unset_option ($name)>
+
+=item C<unset_global_option ($name)>
+
+Unset an option.
+
+=cut
+
+sub unset_option ($)
+{
+  my ($name) = @_;
+  delete $_options{$name};
+}
+
+sub unset_global_option ($)
+{
+  my ($name) = @_;
+  delete $_global_options{$name};
+}
+
+
+=item C<process_option_list ($where, @options)>
+
+=item C<process_global_option_list ($where, @options)>
+
+Process Automake's option lists.  C<@options> should be a list of
+words, as they occur in C<AUTOMAKE_OPTIONS> or C<AM_INIT_AUTOMAKE>.
+
+Return 1 on error, 0 otherwise.
+
+=cut
+
+# $BOOL
+# _process_option_list (\%OPTIONS, $WHERE, @OPTIONS)
+# -------------------------------------------------
+# Process a list of options.  Return 1 on error, 0 otherwise.
+# \%OPTIONS is the hash to fill with options data, $WHERE is
+# the location where @OPTIONS occured.
+sub _process_option_list (\%$@)
+{
+  my ($options, $where, @list) = @_;
+
+  foreach (@list)
+    {
+      $options->{$_} = $where;
+      if ($_ eq 'gnits' || $_ eq 'gnu' || $_ eq 'foreign')
+	{
+	  set_strictness ($_);
+	}
+      elsif (/^(.*\/)?ansi2knr$/)
+	{
+	  # An option like "../lib/ansi2knr" is allowed.  With no
+	  # path prefix, we assume the required programs are in this
+	  # directory.  We save the actual option for later.
+	  $options->{'ansi2knr'} = [$_, $where];
+	}
+      elsif ($_ eq 'no-installman' || $_ eq 'no-installinfo'
+	     || $_ eq 'dist-shar' || $_ eq 'dist-zip'
+	     || $_ eq 'dist-tarZ' || $_ eq 'dist-bzip2'
+	     || $_ eq 'no-dist-gzip' || $_ eq 'no-dist'
+	     || $_ eq 'dejagnu' || $_ eq 'no-texinfo.tex'
+	     || $_ eq 'readme-alpha' || $_ eq 'check-news'
+	     || $_ eq 'subdir-objects' || $_ eq 'nostdinc'
+	     || $_ eq 'no-exeext' || $_ eq 'no-define'
+	     || $_ eq 'std-options'
+	     || $_ eq 'cygnus' || $_ eq 'no-dependencies')
+	{
+	  # Explicitly recognize these.
+	}
+      elsif ($_ =~ /^filename-length-max=(\d+)$/)
+	{
+	  delete $options->{$_};
+	  $options->{'filename-length-max'} = [$_, $1];
+	}
+      elsif ($_ eq 'tar-v7' || $_ eq 'tar-ustar' || $_ eq 'tar-pax')
+	{
+	  error ($where,
+		 "option `$_' must be an argument of AM_INIT_AUTOMAKE")
+	    if $where->get !~ /^configure\./;
+	  for my $opt ('tar-v7', 'tar-ustar', 'tar-pax')
+	    {
+	      next if $opt eq $_;
+	      if (exists $options->{$opt})
+		{
+		  error ($where,
+			 "options `$_' and `$opt' are mutually exclusive");
+		  last;
+		}
+	    }
+	}
+      elsif (/^\d+\.\d+(?:\.\d+)?[a-z]?(?:-[A-Za-z0-9]+)?$/)
+	{
+	  # Got a version number.
+	  if (Automake::Version::check ($VERSION, $&))
+	    {
+	      error ($where, "require Automake $_, but have $VERSION",
+		     uniq_scope => US_GLOBAL);
+	      return 1;
+	    }
+	}
+      elsif (/^(?:--warnings=|-W)(.*)$/)
+	{
+	  foreach my $cat (split (',', $1))
+	    {
+	      msg 'unsupported', $where, "unknown warning category `$cat'"
+		if switch_warning $cat;
+	    }
+	}
+      else
+	{
+	  error ($where, "option `$_' not recognized",
+		 uniq_scope => US_GLOBAL);
+	  return 1;
+	}
+    }
+  return 0;
+}
+
+sub process_option_list ($@)
+{
+  my ($where, @list) = @_;
+  return _process_option_list (%_options, $where, @list);
+}
+
+sub process_global_option_list ($@)
+{
+  my ($where, @list) = @_;
+  return _process_option_list (%_global_options, $where, @list);
+}
+
+=item C<set_strictness ($name)>
+
+Set the current strictness level.
+C<$name> should be one of C<'foreign'>, C<'gnu'>, or C<'gnits'>.
+
+=cut
+
+# Set strictness.
+sub set_strictness ($)
+{
+  $strictness_name = $_[0];
+
+  Automake::ChannelDefs::set_strictness ($strictness_name);
+
+  if ($strictness_name eq 'gnu')
+    {
+      $strictness = GNU;
+    }
+  elsif ($strictness_name eq 'gnits')
+    {
+      $strictness = GNITS;
+    }
+  elsif ($strictness_name eq 'foreign')
+    {
+      $strictness = FOREIGN;
+    }
+  else
+    {
+      prog_error "level `$strictness_name' not recognized\n";
+    }
+}
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Rule.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Rule.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Rule.pm	(revision 3089)
@@ -0,0 +1,838 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Rule;
+use strict;
+use Carp;
+
+use Automake::Item;
+use Automake::RuleDef;
+use Automake::ChannelDefs;
+use Automake::Channels;
+use Automake::Options;
+use Automake::Condition qw (TRUE FALSE);
+use Automake::DisjConditions;
+require Exporter;
+use vars '@ISA', '@EXPORT', '@EXPORT_OK';
+@ISA = qw/Automake::Item Exporter/;
+@EXPORT = qw (reset register_suffix_rule suffix_rules_count
+	      suffixes rules $suffix_rules $KNOWN_EXTENSIONS_PATTERN
+	      depend %dependencies %actions accept_extensions
+	      reject_rule msg_rule msg_cond_rule err_rule err_cond_rule
+	      rule rrule ruledef rruledef);
+
+=head1 NAME
+
+Automake::Rule - support for rules definitions
+
+=head1 SYNOPSIS
+
+  use Automake::Rule;
+  use Automake::RuleDef;
+
+
+=head1 DESCRIPTION
+
+This package provides support for Makefile rule definitions.
+
+An C<Automake::Rule> is a rule name associated to possibly
+many conditional definitions.  These definitions are instances
+of C<Automake::RuleDef>.
+
+Therefore obtaining the value of a rule under a given
+condition involves two lookups.  One to look up the rule,
+and one to look up the conditional definition:
+
+  my $rule = rule $name;
+  if ($rule)
+    {
+      my $def = $rule->def ($cond);
+      if ($def)
+        {
+          return $def->location;
+        }
+      ...
+    }
+  ...
+
+when it is known that the rule and the definition
+being looked up exist, the above can be simplified to
+
+  return rule ($name)->def ($cond)->location; # do not write this.
+
+but is better written
+
+  return rrule ($name)->rrule ($cond)->location;
+
+or even
+
+  return rruledef ($name, $cond)->location;
+
+The I<r> variants of the C<rule>, C<def>, and C<ruledef> methods add
+an extra test to ensure that the lookup succeeded, and will diagnose
+failures as internal errors (with a message which is much more
+informative than Perl's warning about calling a method on a
+non-object).
+
+=head2 Global variables
+
+=over 4
+
+=cut
+
+my $_SUFFIX_RULE_PATTERN =
+  '^(\.[a-zA-Z0-9_(){}$+@\-]+)(\.[a-zA-Z0-9_(){}$+@\-]+)' . "\$";
+
+# Suffixes found during a run.
+use vars '@_suffixes';
+
+# Same as $suffix_rules (declared below), but records only the
+# default rules supplied by the languages Automake supports.
+use vars '$_suffix_rules_default';
+
+=item C<%dependencies>
+
+Holds the dependencies of targets which dependencies are factored.
+Typically, C<.PHONY> will appear in plenty of F<*.am> files, but must
+be output once.  Arguably all pure dependencies could be subject to
+this factorization, but it is not unpleasant to have paragraphs in
+Makefile: keeping related stuff altogether.
+
+=cut
+
+use vars '%dependencies';
+
+=item <%actions>
+
+Holds the factored actions.  Tied to C<%dependencies>, i.e., filled
+only when keys exists in C<%dependencies>.
+
+=cut
+
+use vars '%actions';
+
+=item <$suffix_rules>
+
+This maps the source extension for all suffix rule seen to
+a C<hash> whose keys are the possible output extensions.
+
+Note that this is transitively closed by construction:
+if we have
+      exists $suffix_rules{$ext1}{$ext2}
+   && exists $suffix_rules{$ext2}{$ext3}
+then we also have
+      exists $suffix_rules{$ext1}{$ext3}
+
+So it's easy to check whether C<.foo> can be transformed to
+C<.$(OBJEXT)> by checking whether
+C<$suffix_rules{'.foo'}{'.$(OBJEXT)'}> exists.  This will work even if
+transforming C<.foo> to C<.$(OBJEXT)> involves a chain of several
+suffix rules.
+
+The value of C<$suffix_rules{$ext1}{$ext2}> is the a pair
+C<[ $next_sfx, $dist ]> where C<$next_sfx> is target suffix
+for the next rule to use to reach C<$ext2>, and C<$dist> the
+distance to C<$ext2'>.
+
+The content of this variable should be updated via the
+C<register_suffix_rule> function.
+
+=cut
+
+use vars '$suffix_rules';
+
+=item C<$KNOWN_EXTENSIONS_PATTERN>
+
+Pattern that matches all know input extensions (i.e. extensions used
+by the languages supported by Automake).  Using this pattern (instead
+of `\..*$') to match extensions allows Automake to support dot-less
+extensions.
+
+New extensions should be registered with C<accept_extensions>.
+
+=cut
+
+use vars qw ($KNOWN_EXTENSIONS_PATTERN @_known_extensions_list);
+$KNOWN_EXTENSIONS_PATTERN = "";
+@_known_extensions_list = ();
+
+=back
+
+=head2 Error reporting functions
+
+In these functions, C<$rule> can be either a rule name, or
+an instance of C<Automake::Rule>.
+
+=over 4
+
+=item C<err_rule ($rule, $message, [%options])>
+
+Uncategorized errors about rules.
+
+=cut
+
+sub err_rule ($$;%)
+{
+  msg_rule ('error', @_);
+}
+
+=item C<err_cond_rule ($cond, $rule, $message, [%options])>
+
+Uncategorized errors about conditional rules.
+
+=cut
+
+sub err_cond_rule ($$$;%)
+{
+  msg_cond_rule ('error', @_);
+}
+
+=item C<msg_cond_rule ($channel, $cond, $rule, $message, [%options])>
+
+Messages about conditional rules.
+
+=cut
+
+sub msg_cond_rule ($$$$;%)
+{
+  my ($channel, $cond, $rule, $msg, %opts) = @_;
+  my $r = ref ($rule) ? $rule : rrule ($rule);
+  msg $channel, $r->rdef ($cond)->location, $msg, %opts;
+}
+
+=item C<msg_rule ($channel, $targetname, $message, [%options])>
+
+Messages about rules.
+
+=cut
+
+sub msg_rule ($$$;%)
+{
+  my ($channel, $rule, $msg, %opts) = @_;
+  my $r = ref ($rule) ? $rule : rrule ($rule);
+  # Don't know which condition is concerned.  Pick any.
+  my $cond = $r->conditions->one_cond;
+  msg_cond_rule ($channel, $cond, $r, $msg, %opts);
+}
+
+
+=item C<$bool = reject_rule ($rule, $error_msg)>
+
+Bail out with C<$error_msg> if a rule with name C<$rule> has been
+defined.
+
+Return true iff C<$rule> is defined.
+
+=cut
+
+sub reject_rule ($$)
+{
+  my ($rule, $msg) = @_;
+  if (rule ($rule))
+    {
+      err_rule $rule, $msg;
+      return 1;
+    }
+  return 0;
+}
+
+=back
+
+=head2 Administrative functions
+
+=over 4
+
+=item C<accept_extensions (@exts)>
+
+Update C<$KNOWN_EXTENSIONS_PATTERN> to recognize the extensions
+listed C<@exts>.  Extensions should contain a dot if needed.
+
+=cut
+
+sub accept_extensions (@)
+{
+    push @_known_extensions_list, @_;
+    $KNOWN_EXTENSIONS_PATTERN =
+	'(?:' . join ('|', map (quotemeta, @_known_extensions_list)) . ')';
+}
+
+=item C<rules>
+
+Returns the list of all L<Automake::Rule> instances.  (I.e., all
+rules defined so far.)
+
+=cut
+
+use vars '%_rule_dict';
+sub rules ()
+{
+  return values %_rule_dict;
+}
+
+
+=item C<Automake::Rule::reset>
+
+The I<forget all> function.  Clears all know rules and reset some
+other internal data.
+
+=cut
+
+sub reset()
+{
+  %_rule_dict = ();
+  @_suffixes = ();
+  # The first time we initialize the variables,
+  # we save the value of $suffix_rules.
+  if (defined $_suffix_rules_default)
+    {
+      $suffix_rules = $_suffix_rules_default;
+    }
+  else
+    {
+      $_suffix_rules_default = $suffix_rules;
+    }
+
+  %dependencies =
+    (
+     # Texinfoing.
+     'dvi'      => [],
+     'dvi-am'   => [],
+     'pdf'      => [],
+     'pdf-am'   => [],
+     'ps'       => [],
+     'ps-am'    => [],
+     'info'     => [],
+     'info-am'  => [],
+     'html'     => [],
+     'html-am'  => [],
+
+     # Installing/uninstalling.
+     'install-data-am'      => [],
+     'install-exec-am'      => [],
+     'uninstall-am'         => [],
+
+     'install-man'	    => [],
+     'uninstall-man'	    => [],
+
+     'install-info'         => [],
+     'install-info-am'      => [],
+     'uninstall-info'       => [],
+
+     'installcheck-am'      => [],
+
+     # Cleaning.
+     'clean-am'             => [],
+     'mostlyclean-am'       => [],
+     'maintainer-clean-am'  => [],
+     'distclean-am'         => [],
+     'clean'                => [],
+     'mostlyclean'          => [],
+     'maintainer-clean'     => [],
+     'distclean'            => [],
+
+     # Tarballing.
+     'dist-all'             => [],
+
+     # Phoning.
+     '.PHONY'               => [],
+     );
+  %actions = ();
+}
+
+=item C<register_suffix_rule ($where, $src, $dest)>
+
+Register a suffix rules defined on C<$where> that transform
+files ending in C<$src> into files ending in C<$dest>.
+
+This upgrades the C<$suffix_rules> variables.
+
+=cut
+
+sub register_suffix_rule ($$$)
+{
+  my ($where, $src, $dest) = @_;
+
+  verb "Sources ending in $src become $dest";
+  push @_suffixes, $src, $dest;
+
+  # When transforming sources to objects, Automake uses the
+  # %suffix_rules to move from each source extension to
+  # `.$(OBJEXT)', not to `.o' or `.obj'.  However some people
+  # define suffix rules for `.o' or `.obj', so internally we will
+  # consider these extensions equivalent to `.$(OBJEXT)'.  We
+  # CANNOT rewrite the target (i.e., automagically replace `.o'
+  # and `.obj' by `.$(OBJEXT)' in the output), or warn the user
+  # that (s)he'd better use `.$(OBJEXT)', because Automake itself
+  # output suffix rules for `.o' or `.obj'...
+  $dest = '.$(OBJEXT)' if ($dest eq '.o' || $dest eq '.obj');
+
+  # Reading the comments near the declaration of $suffix_rules might
+  # help to understand the update of $suffix_rules that follows...
+
+  # Register $dest as a possible destination from $src.
+  # We might have the create the \hash.
+  if (exists $suffix_rules->{$src})
+    {
+      $suffix_rules->{$src}{$dest} = [ $dest, 1 ];
+    }
+  else
+    {
+      $suffix_rules->{$src} = { $dest => [ $dest, 1 ] };
+    }
+
+  # If we know how to transform $dest in something else, then
+  # we know how to transform $src in that "something else".
+  if (exists $suffix_rules->{$dest})
+    {
+      for my $dest2 (keys %{$suffix_rules->{$dest}})
+	{
+	  my $dist = $suffix_rules->{$dest}{$dest2}[1] + 1;
+	  # Overwrite an existing $src->$dest2 path only if
+	  # the path via $dest which is shorter.
+	  if (! exists $suffix_rules->{$src}{$dest2}
+	      || $suffix_rules->{$src}{$dest2}[1] > $dist)
+	    {
+	      $suffix_rules->{$src}{$dest2} = [ $dest, $dist ];
+	    }
+	}
+    }
+
+  # Similarly, any extension that can be derived into $src
+  # can be derived into the same extensions as $src can.
+  my @dest2 = keys %{$suffix_rules->{$src}};
+  for my $src2 (keys %$suffix_rules)
+    {
+      if (exists $suffix_rules->{$src2}{$src})
+	{
+	  for my $dest2 (@dest2)
+	    {
+	      my $dist = $suffix_rules->{$src}{$dest2} + 1;
+	      # Overwrite an existing $src2->$dest2 path only if
+	      # the path via $src is shorter.
+	      if (! exists $suffix_rules->{$src2}{$dest2}
+		  || $suffix_rules->{$src2}{$dest2}[1] > $dist)
+		{
+		  $suffix_rules->{$src2}{$dest2} = [ $src, $dist ];
+		}
+	    }
+	}
+    }
+}
+
+=item C<$count = suffix_rules_count>
+
+Return the number of suffix rules added while processing the current
+F<Makefile> (excluding predefined suffix rules).
+
+=cut
+
+sub suffix_rules_count ()
+{
+  return (scalar keys %$suffix_rules) - (scalar keys %$_suffix_rules_default);
+}
+
+=item C<@list = suffixes>
+
+Return the list of known suffixes.
+
+=cut
+
+sub suffixes ()
+{
+  return @_suffixes;
+}
+
+=item C<rule ($rulename)>
+
+Return the C<Automake::Rule> object for the rule
+named C<$rulename> if defined.   Return 0 otherwise.
+
+=cut
+
+sub rule ($)
+{
+  my ($name) = @_;
+  # Strip $(EXEEXT) from $name, so we can diagnose
+  # a clash if `ctags$(EXEEXT):' is redefined after `ctags:'.
+  $name =~ s,\$\(EXEEXT\)$,,;
+  return $_rule_dict{$name} if exists $_rule_dict{$name};
+  return 0;
+}
+
+=item C<rule ($rulename, $cond>
+
+Return the C<Automake::RuleDef> object for the rule named
+C<$rulename> if defined in condition C<$cond>.  Return false
+if the condition or the rule does not exist.
+
+=cut
+
+sub ruledef ($$)
+{
+  my ($name, $cond) = @_;
+  my $rule = rule $name;
+  return $rule && $rule->def ($cond);
+}
+
+=item C<rrule ($rulename)
+
+Return the C<Automake::Rule> object for the variable named
+C<$rulename>.  Abort with an internal error if the variable was not
+defined.
+
+The I<r> in front of C<var> stands for I<required>.  One
+should call C<rvar> to assert the rule's existence.
+
+=cut
+
+sub rrule ($)
+{
+  my ($name) = @_;
+  my $r = rule $name;
+  prog_error ("undefined rule $name\n" . &rules_dump)
+    unless $r;
+  return $r;
+}
+
+=item C<rruledef ($varname, $cond)>
+
+Return the C<Automake::RuleDef> object for the rule named
+C<$rulename> if defined in condition C<$cond>.  Abort with an internal
+error if the condition or the rule does not exist.
+
+=cut
+
+sub rruledef ($$)
+{
+  my ($name, $cond) = @_;
+  return rrule ($name)->rdef ($cond);
+}
+
+# Create the variable if it does not exist.
+# This is used only by other functions in this package.
+sub _crule ($)
+{
+  my ($name) = @_;
+  my $r = rule $name;
+  return $r if $r;
+  return _new Automake::Rule $name;
+}
+
+sub _new ($$)
+{
+  my ($class, $name) = @_;
+
+  # Strip $(EXEEXT) from $name, so we can diagnose
+  # a clash if `ctags$(EXEEXT):' is redefined after `ctags:'.
+  (my $keyname = $name) =~ s,\$\(EXEEXT\)$,,;
+
+  my $self = Automake::Item::new ($class, $name);
+  $_rule_dict{$keyname} = $self;
+  return $self;
+}
+
+
+=itcem C<@conds = define ($rulename, $source, $owner, $cond, $where)>
+
+Define a new rule.  C<$rulename> is the list of targets.  C<$source>
+is the filename the rule comes from.  C<$owner> is the owner of the
+rule (C<RULE_AUTOMAKE> or C<RULE_USER>).  C<$cond> is the
+C<Automake::Condition> under which the rule is defined.  C<$where> is
+the C<Automake::Location> where the rule is defined.
+
+Returns a (possibly empty) list of C<Automake::Condition>s where the
+rule's definition should be output.
+
+=cut
+
+sub define ($$$$$)
+{
+  my ($target, $source, $owner, $cond, $where) = @_;
+
+  prog_error "$where is not a reference"
+    unless ref $where;
+  prog_error "$cond is not a reference"
+    unless ref $cond;
+
+  # Don't even think about defining a rule in condition FALSE.
+  return () if $cond == FALSE;
+
+  # For now `foo:' will override `foo$(EXEEXT):'.  This is temporary,
+  # though, so we emit a warning.
+  (my $noexe = $target) =~ s,\$\(EXEEXT\)$,,;
+  my $noexerule = rule $noexe;
+  my $tdef = $noexerule ? $noexerule->def ($cond) : undef;
+
+  if ($noexe ne $target
+      && $tdef
+      && $noexerule->name ne $target)
+    {
+      # The no-exeext option enables this feature.
+      if (! option 'no-exeext')
+	{
+	  msg ('obsolete', $tdef->location,
+	       "deprecated feature: target `$noexe' overrides "
+	       . "`$noexe\$(EXEEXT)'\n"
+	       . "change your target to read `$noexe\$(EXEEXT)'");
+	  msg ('obsolete', $where, "target `$target' was defined here");
+	}
+      # Don't `return ()' now, as this might hide target clashes
+      # detected below.
+    }
+
+
+  # A GNU make-style pattern rule has a single "%" in the target name.
+  msg ('portability', $where,
+       "`%'-style pattern rules are a GNU make extension")
+    if $target =~ /^[^%]*%[^%]*$/;
+
+  # Diagnose target redefinitions.
+  if ($tdef)
+    {
+      my $oldowner  = $tdef->owner;
+      # Ok, it's the name target, but the name maybe different because
+      # `foo$(EXEEXT)' and `foo' have the same key in our table.
+      my $oldname = $tdef->name;
+
+      # Don't mention true conditions in diagnostics.
+      my $condmsg =
+	$cond == TRUE ? '' : " in condition `" . $cond->human . "'";
+
+      if ($owner == RULE_USER)
+	{
+	  if ($oldowner == RULE_USER)
+	    {
+	      # Ignore `%'-style pattern rules.  We'd need the
+	      # dependencies to detect duplicates, and they are
+	      # already diagnosed as unportable by -Wportability.
+	      if ($target !~ /^[^%]*%[^%]*$/)
+		{
+		  ## FIXME: Presently we can't diagnose duplicate user rules
+		  ## because we doesn't distinguish rules with commands
+		  ## from rules that only add dependencies.  E.g.,
+		  ##   .PHONY: foo
+		  ##   .PHONY: bar
+		  ## is legitimate. (This is phony.test.)
+
+		  # msg ('syntax', $where,
+		  #      "redefinition of `$target'$condmsg...", partial => 1);
+		  # msg_cond_rule ('syntax', $cond, $target,
+		  # 		   "... `$target' previously defined here");
+		}
+	      # Return so we don't redefine the rule in our tables,
+	      # don't check for ambiguous condition, etc.  The rule
+	      # will be output anyway beauce &read_am_file ignore the
+	      # return code.
+	      return ();
+	    }
+	  else
+	    {
+	      # Since we parse the user Makefile.am before reading
+	      # the Automake fragments, this condition should never happen.
+	      prog_error ("user target `$target'$condmsg seen after Automake's"
+			  . " definition\nfrom " . $tdef->source);
+	    }
+	}
+      else # $owner == RULE_AUTOMAKE
+	{
+	  if ($oldowner == RULE_USER)
+	    {
+	      # -am targets listed in %dependencies support a -local
+	      # variant.  If the user tries to override TARGET or
+	      # TARGET-am for which there exists a -local variant,
+	      # just tell the user to use it.
+	      my $hint = 0;
+	      my $noam = $target;
+	      $noam =~ s/-am$//;
+	      if (exists $dependencies{"$noam-am"})
+		{
+		  $hint = "consider using $noam-local instead of $target";
+		}
+
+	      msg_cond_rule ('override', $cond, $target,
+			     "user target `$target' defined here"
+			     . "$condmsg...", partial => 1);
+	      msg ('override', $where,
+		   "... overrides Automake target `$oldname' defined here",
+		   partial => $hint);
+	      msg_cond_rule ('override', $cond, $target, $hint)
+		if $hint;
+
+	      # Don't overwrite the user definition of TARGET.
+	      return ();
+	    }
+	  else # $oldowner == RULE_AUTOMAKE
+	    {
+	      # Automake should ignore redefinitions of its own
+	      # rules if they came from the same file.  This makes
+	      # it easier to process a Makefile fragment several times.
+	      # Hower it's an error if the target is defined in many
+	      # files.  E.g., the user might be using bin_PROGRAMS = ctags
+	      # which clashes with our `ctags' rule.
+	      # (It would be more accurate if we had a way to compare
+	      # the *content* of both rules.  Then $targets_source would
+	      # be useless.)
+	      my $oldsource = $tdef->source;
+	      return () if $source eq $oldsource && $target eq $oldname;
+
+	      msg ('syntax', $where, "redefinition of `$target'$condmsg...",
+		   partial => 1);
+	      msg_cond_rule ('syntax', $cond, $target,
+			     "... `$oldname' previously defined here");
+	      return ();
+	    }
+	}
+      # Never reached.
+      prog_error ("Unreachable place reached.");
+    }
+
+  # Conditions for which the rule should be defined.
+  my @conds = $cond;
+
+  # Check ambiguous conditional definitions.
+  my $rule = _crule $target;
+  my ($message, $ambig_cond) = $rule->conditions->ambiguous_p ($target, $cond);
+  if ($message)			# We have an ambiguity.
+    {
+      if ($owner == RULE_USER)
+	{
+	  # For user rules, just diagnose the ambiguity.
+	  msg 'syntax', $where, "$message ...", partial => 1;
+	  msg_cond_rule ('syntax', $ambig_cond, $target,
+			 "... `$target' previously defined here");
+	  return ();
+	}
+      else
+	{
+	  # FIXME: for Automake rules, we can't diagnose ambiguities yet.
+	  # The point is that Automake doesn't propagate conditions
+	  # everywhere.  For instance &handle_PROGRAMS doesn't care if
+	  # bin_PROGRAMS was defined conditionally or not.
+	  # On the following input
+	  #   if COND1
+	  #   foo:
+	  #           ...
+	  #   else
+	  #   bin_PROGRAMS = foo
+	  #   endif
+	  # &handle_PROGRAMS will attempt to define a `foo:' rule
+	  # in condition TRUE (which conflicts with COND1).  Fixing
+	  # this in &handle_PROGRAMS and siblings seems hard: you'd
+	  # have to explain &file_contents what to do with a
+	  # condition.  So for now we do our best *here*.  If `foo:'
+	  # was already defined in condition COND1 and we want to define
+	  # it in condition TRUE, then define it only in condition !COND1.
+	  # (See cond14.test and cond15.test for some test cases.)
+	  @conds = $rule->not_always_defined_in_cond ($cond)->conds;
+
+	  # No conditions left to define the rule.
+	  # Warn, because our workaround is meaningless in this case.
+	  if (scalar @conds == 0)
+	    {
+	      msg 'syntax', $where, "$message ...", partial => 1;
+	      msg_cond_rule ('syntax', $ambig_cond, $target,
+			     "... `$target' previously defined here");
+	      return ();
+	    }
+	}
+    }
+
+  # Finally define this rule.
+  for my $c (@conds)
+    {
+      my $def = new Automake::RuleDef ($target, '', $where->clone,
+				       $owner, $source);
+      $rule->set ($c, $def);
+    }
+
+  # We honor inference rules with multiple targets because many
+  # make support this and people use it.  However this is disallowed
+  # by POSIX.  We'll print a warning later.
+  my $target_count = 0;
+  my $inference_rule_count = 0;
+
+  for my $t (split (' ', $target))
+    {
+      ++$target_count;
+      # Check if the rule is a suffix rule: either it's a rule for
+      # two known extensions...
+      if ($t =~ /^($KNOWN_EXTENSIONS_PATTERN)($KNOWN_EXTENSIONS_PATTERN)$/
+	  # ...or it's a rule with unknown extensions (.i.e, the rule
+	  # looks like `.foo.bar:' but `.foo' or `.bar' are not
+	  # declared in SUFFIXES and are not known language
+	  # extensions).  Automake will complete SUFFIXES from
+	  # @suffixes automatically (see handle_footer).
+
+
+	  || ($t =~ /$_SUFFIX_RULE_PATTERN/o && accept_extensions($1)))
+	{
+	  ++$inference_rule_count;
+	  register_suffix_rule ($where, $1, $2);
+	}
+    }
+
+  # POSIX allows multiple targets before the colon, but disallows
+  # definitions of multiple inference rules.  It's also
+  # disallowed to mix plain targets with inference rules.
+  msg ('portability', $where,
+       "Inference rules can have only one target before the colon (POSIX).")
+    if $inference_rule_count > 0 && $target_count > 1;
+
+  return @conds;
+}
+
+=item C<depend ($target, @deps)>
+
+Adds C<@deps> to the dependencies of target C<$target>.  This should
+be used only with factored targets (those appearing in
+C<%dependees>).
+
+=cut
+
+sub depend ($@)
+{
+  my ($category, @dependees) = @_;
+  push (@{$dependencies{$category}}, @dependees);
+}
+
+=back
+
+=head1 SEE ALSO
+
+L<Automake::RuleDef>, L<Automake::Condition>,
+L<Automake::DisjConditions>, L<Automake::Location>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/RuleDef.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/RuleDef.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/RuleDef.pm	(revision 3089)
@@ -0,0 +1,102 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::RuleDef;
+use strict;
+use Carp;
+use Automake::ChannelDefs;
+use Automake::ItemDef;
+
+require Exporter;
+use vars '@ISA', '@EXPORT';
+@ISA = qw/Automake::ItemDef Exporter/;
+@EXPORT = qw (&RULE_AUTOMAKE &RULE_USER);
+
+=head1 NAME
+
+Automake::RuleDef - a class for rule definitions
+
+=head1 SYNOPSIS
+
+  use Automake::RuleDef;
+  use Automake::Location;
+
+=head1 DESCRIPTION
+
+This class gather data related to one Makefile-rule definition.
+
+=head2 Constants
+
+=over 4
+
+=item C<RULE_AUTOMAKE>, C<RULE_USER>
+
+Possible owners for rules.
+
+=cut
+
+use constant RULE_AUTOMAKE => 0; # Rule defined by Automake.
+use constant RULE_USER => 1;     # Rule defined in the user's Makefile.am.
+
+sub new ($$$$$)
+{
+  my ($class, $name, $comment, $location, $owner, $source) = @_;
+
+  my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
+  $self->{'source'} = $source;
+  $self->{'name'} = $name;
+  return $self;
+}
+
+sub source ($)
+{
+  my ($self) = @_;
+  return $self->{'source'};
+}
+
+sub name ($)
+{
+  my ($self) = @_;
+  return $self->{'name'};
+}
+
+=back
+
+=head1 SEE ALSO
+
+L<Automake::Rule>, L<Automake::ItemDef>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Struct.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Struct.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Struct.pm	(revision 3089)
@@ -0,0 +1,625 @@
+# autoconf -- create `configure' using m4 macros
+# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# This file is basically Perl 5.6's Class::Struct, but made compatible
+# with Perl 5.5.  If someday this has to be updated, be sure to rename
+# all the occurrences of Class::Struct into Automake::Struct, otherwise
+# if we `use' a Perl module (e.g., File::stat) that uses Class::Struct,
+# we would have two packages defining the same symbols.  Boom.
+
+package Automake::Struct;
+
+## See POD after __END__
+
+use 5.005_03;
+
+use strict;
+use vars qw(@ISA @EXPORT $VERSION);
+
+use Carp;
+
+require Exporter;
+@ISA = qw(Exporter);
+@EXPORT = qw(struct);
+
+$VERSION = '0.58';
+
+## Tested on 5.002 and 5.003 without class membership tests:
+my $CHECK_CLASS_MEMBERSHIP = ($] >= 5.003_95);
+
+my $print = 0;
+sub printem {
+    if (@_) { $print = shift }
+    else    { $print++ }
+}
+
+{
+    package Automake::Struct::Tie_ISA;
+
+    sub TIEARRAY {
+        my $class = shift;
+        return bless [], $class;
+    }
+
+    sub STORE {
+        my ($self, $index, $value) = @_;
+        Automake::Struct::_subclass_error();
+    }
+
+    sub FETCH {
+        my ($self, $index) = @_;
+        $self->[$index];
+    }
+
+    sub FETCHSIZE {
+        my $self = shift;
+        return scalar(@$self);
+    }
+
+    sub DESTROY { }
+}
+
+sub struct {
+
+    # Determine parameter list structure, one of:
+    #   struct( class => [ element-list ])
+    #   struct( class => { element-list })
+    #   struct( element-list )
+    # Latter form assumes current package name as struct name.
+
+    my ($class, @decls);
+    my $base_type = ref $_[1];
+    if ( $base_type eq 'HASH' ) {
+        $class = shift;
+        @decls = %{shift()};
+        _usage_error() if @_;
+    }
+    elsif ( $base_type eq 'ARRAY' ) {
+        $class = shift;
+        @decls = @{shift()};
+        _usage_error() if @_;
+    }
+    else {
+        $base_type = 'ARRAY';
+        $class = (caller())[0];
+        @decls = @_;
+    }
+    _usage_error() if @decls % 2 == 1;
+
+    # Ensure we are not, and will not be, a subclass.
+
+    my $isa = do {
+        no strict 'refs';
+        \@{$class . '::ISA'};
+    };
+    _subclass_error() if @$isa;
+    tie @$isa, 'Automake::Struct::Tie_ISA';
+
+    # Create constructor.
+
+    croak "function 'new' already defined in package $class"
+        if do { no strict 'refs'; defined &{$class . "::new"} };
+
+    my @methods = ();
+    my %refs = ();
+    my %arrays = ();
+    my %hashes = ();
+    my %classes = ();
+    my $got_class = 0;
+    my $out = '';
+
+    $out = "{\n  package $class;\n  use Carp;\n  sub new {\n";
+    $out .= "    my (\$class, \%init) = \@_;\n";
+    $out .= "    \$class = __PACKAGE__ unless \@_;\n";
+
+    my $cnt = 0;
+    my $idx = 0;
+    my( $cmt, $name, $type, $elem );
+
+    if( $base_type eq 'HASH' ){
+        $out .= "    my(\$r) = {};\n";
+        $cmt = '';
+    }
+    elsif( $base_type eq 'ARRAY' ){
+        $out .= "    my(\$r) = [];\n";
+    }
+    while( $idx < @decls ){
+        $name = $decls[$idx];
+        $type = $decls[$idx+1];
+        push( @methods, $name );
+        if( $base_type eq 'HASH' ){
+            $elem = "{'${class}::$name'}";
+        }
+        elsif( $base_type eq 'ARRAY' ){
+            $elem = "[$cnt]";
+            ++$cnt;
+            $cmt = " # $name";
+        }
+        if( $type =~ /^\*(.)/ ){
+            $refs{$name}++;
+            $type = $1;
+        }
+        my $init = "defined(\$init{'$name'}) ? \$init{'$name'} :";
+        if( $type eq '@' ){
+            $out .= "    croak 'Initializer for $name must be array reference'\n";
+            $out .= "        if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'ARRAY';\n";
+            $out .= "    \$r->$elem = $init [];$cmt\n";
+            $arrays{$name}++;
+        }
+        elsif( $type eq '%' ){
+            $out .= "    croak 'Initializer for $name must be hash reference'\n";
+            $out .= "        if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'HASH';\n";
+            $out .= "    \$r->$elem = $init {};$cmt\n";
+            $hashes{$name}++;
+        }
+        elsif ( $type eq '$') {
+            $out .= "    \$r->$elem = $init undef;$cmt\n";
+        }
+        elsif( $type =~ /^\w+(?:::\w+)*$/ ){
+            $init = "defined(\$init{'$name'}) ? \%{\$init{'$name'}} : ()";
+            $out .= "    croak 'Initializer for $name must be hash reference'\n";
+            $out .= "        if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'HASH';\n";
+            $out .= "    \$r->$elem = '${type}'->new($init);$cmt\n";
+            $classes{$name} = $type;
+            $got_class = 1;
+        }
+        else{
+            croak "'$type' is not a valid struct element type";
+        }
+        $idx += 2;
+    }
+    $out .= "    bless \$r, \$class;\n  }\n";
+
+    # Create accessor methods.
+
+    my( $pre, $pst, $sel );
+    $cnt = 0;
+    foreach $name (@methods){
+        if ( do { no strict 'refs'; defined &{$class . "::$name"} } ) {
+            carp "function '$name' already defined, overrides struct accessor method";
+        }
+        else {
+            $pre = $pst = $cmt = $sel = '';
+            if( defined $refs{$name} ){
+                $pre = "\\(";
+                $pst = ")";
+                $cmt = " # returns ref";
+            }
+            $out .= "  sub $name {$cmt\n    my \$r = shift;\n";
+            if( $base_type eq 'ARRAY' ){
+                $elem = "[$cnt]";
+                ++$cnt;
+            }
+            elsif( $base_type eq 'HASH' ){
+                $elem = "{'${class}::$name'}";
+            }
+            if( defined $arrays{$name} ){
+                $out .= "    my \$i;\n";
+                $out .= "    \@_ ? (\$i = shift) : return \$r->$elem;\n";
+                $sel = "->[\$i]";
+            }
+            elsif( defined $hashes{$name} ){
+                $out .= "    my \$i;\n";
+                $out .= "    \@_ ? (\$i = shift) : return \$r->$elem;\n";
+                $sel = "->{\$i}";
+            }
+            elsif( defined $classes{$name} ){
+                if ( $CHECK_CLASS_MEMBERSHIP ) {
+                    $out .= "    croak '$name argument is wrong class' if \@_ && ! UNIVERSAL::isa(\$_[0], '$classes{$name}');\n";
+                }
+            }
+            $out .= "    croak 'Too many args to $name' if \@_ > 1;\n";
+            $out .= "    \@_ ? ($pre\$r->$elem$sel = shift$pst) : $pre\$r->$elem$sel$pst;\n";
+            $out .= "  }\n";
+        }
+    }
+    $out .= "}\n1;\n";
+
+    print $out if $print;
+    my $result = eval $out;
+    carp $@ if $@;
+}
+
+sub _usage_error {
+    confess "struct usage error";
+}
+
+sub _subclass_error {
+    croak 'struct class cannot be a subclass (@ISA not allowed)';
+}
+
+1; # for require
+
+
+__END__
+
+=head1 NAME
+
+Automake::Struct - declare struct-like datatypes as Perl classes
+
+=head1 SYNOPSIS
+
+    use Automake::Struct;
+            # declare struct, based on array:
+    struct( CLASS_NAME => [ ELEMENT_NAME => ELEMENT_TYPE, ... ]);
+            # declare struct, based on hash:
+    struct( CLASS_NAME => { ELEMENT_NAME => ELEMENT_TYPE, ... });
+
+    package CLASS_NAME;
+    use Automake::Struct;
+            # declare struct, based on array, implicit class name:
+    struct( ELEMENT_NAME => ELEMENT_TYPE, ... );
+
+
+    package Myobj;
+    use Automake::Struct;
+            # declare struct with four types of elements:
+    struct( s => '$', a => '@', h => '%', c => 'My_Other_Class' );
+
+    $obj = new Myobj;               # constructor
+
+                                    # scalar type accessor:
+    $element_value = $obj->s;           # element value
+    $obj->s('new value');               # assign to element
+
+                                    # array type accessor:
+    $ary_ref = $obj->a;                 # reference to whole array
+    $ary_element_value = $obj->a(2);    # array element value
+    $obj->a(2, 'new value');            # assign to array element
+
+                                    # hash type accessor:
+    $hash_ref = $obj->h;                # reference to whole hash
+    $hash_element_value = $obj->h('x'); # hash element value
+    $obj->h('x', 'new value');        # assign to hash element
+
+                                    # class type accessor:
+    $element_value = $obj->c;           # object reference
+    $obj->c->method(...);               # call method of object
+    $obj->c(new My_Other_Class);        # assign a new object
+
+
+=head1 DESCRIPTION
+
+C<Automake::Struct> exports a single function, C<struct>.
+Given a list of element names and types, and optionally
+a class name, C<struct> creates a Perl 5 class that implements
+a "struct-like" data structure.
+
+The new class is given a constructor method, C<new>, for creating
+struct objects.
+
+Each element in the struct data has an accessor method, which is
+used to assign to the element and to fetch its value.  The
+default accessor can be overridden by declaring a C<sub> of the
+same name in the package.  (See Example 2.)
+
+Each element's type can be scalar, array, hash, or class.
+
+
+=head2 The C<struct()> function
+
+The C<struct> function has three forms of parameter-list.
+
+    struct( CLASS_NAME => [ ELEMENT_LIST ]);
+    struct( CLASS_NAME => { ELEMENT_LIST });
+    struct( ELEMENT_LIST );
+
+The first and second forms explicitly identify the name of the
+class being created.  The third form assumes the current package
+name as the class name.
+
+An object of a class created by the first and third forms is
+based on an array, whereas an object of a class created by the
+second form is based on a hash. The array-based forms will be
+somewhat faster and smaller; the hash-based forms are more
+flexible.
+
+The class created by C<struct> must not be a subclass of another
+class other than C<UNIVERSAL>.
+
+It can, however, be used as a superclass for other classes. To facilitate
+this, the generated constructor method uses a two-argument blessing.
+Furthermore, if the class is hash-based, the key of each element is
+prefixed with the class name (see I<Perl Cookbook>, Recipe 13.12).
+
+A function named C<new> must not be explicitly defined in a class
+created by C<struct>.
+
+The I<ELEMENT_LIST> has the form
+
+    NAME => TYPE, ...
+
+Each name-type pair declares one element of the struct. Each
+element name will be defined as an accessor method unless a
+method by that name is explicitly defined; in the latter case, a
+warning is issued if the warning flag (B<-w>) is set.
+
+
+=head2 Element Types and Accessor Methods
+
+The four element types -- scalar, array, hash, and class -- are
+represented by strings -- C<'$'>, C<'@'>, C<'%'>, and a class name --
+optionally preceded by a C<'*'>.
+
+The accessor method provided by C<struct> for an element depends
+on the declared type of the element.
+
+=over
+
+=item Scalar (C<'$'> or C<'*$'>)
+
+The element is a scalar, and by default is initialized to C<undef>
+(but see L<Initializing with new>).
+
+The accessor's argument, if any, is assigned to the element.
+
+If the element type is C<'$'>, the value of the element (after
+assignment) is returned. If the element type is C<'*$'>, a reference
+to the element is returned.
+
+=item Array (C<'@'> or C<'*@'>)
+
+The element is an array, initialized by default to C<()>.
+
+With no argument, the accessor returns a reference to the
+element's whole array (whether or not the element was
+specified as C<'@'> or C<'*@'>).
+
+With one or two arguments, the first argument is an index
+specifying one element of the array; the second argument, if
+present, is assigned to the array element.  If the element type
+is C<'@'>, the accessor returns the array element value.  If the
+element type is C<'*@'>, a reference to the array element is
+returned.
+
+=item Hash (C<'%'> or C<'*%'>)
+
+The element is a hash, initialized by default to C<()>.
+
+With no argument, the accessor returns a reference to the
+element's whole hash (whether or not the element was
+specified as C<'%'> or C<'*%'>).
+
+With one or two arguments, the first argument is a key specifying
+one element of the hash; the second argument, if present, is
+assigned to the hash element.  If the element type is C<'%'>, the
+accessor returns the hash element value.  If the element type is
+C<'*%'>, a reference to the hash element is returned.
+
+=item Class (C<'Class_Name'> or C<'*Class_Name'>)
+
+The element's value must be a reference blessed to the named
+class or to one of its subclasses. The element is initialized to
+the result of calling the C<new> constructor of the named class.
+
+The accessor's argument, if any, is assigned to the element. The
+accessor will C<croak> if this is not an appropriate object
+reference.
+
+If the element type does not start with a C<'*'>, the accessor
+returns the element value (after assignment). If the element type
+starts with a C<'*'>, a reference to the element itself is returned.
+
+=back
+
+=head2 Initializing with C<new>
+
+C<struct> always creates a constructor called C<new>. That constructor
+may take a list of initializers for the various elements of the new
+struct.
+
+Each initializer is a pair of values: I<element name>C< =E<gt> >I<value>.
+The initializer value for a scalar element is just a scalar value. The
+initializer for an array element is an array reference. The initializer
+for a hash is a hash reference.
+
+The initializer for a class element is also a hash reference, and the
+contents of that hash are passed to the element's own constructor.
+
+See Example 3 below for an example of initialization.
+
+
+=head1 EXAMPLES
+
+=over
+
+=item Example 1
+
+Giving a struct element a class type that is also a struct is how
+structs are nested.  Here, C<timeval> represents a time (seconds and
+microseconds), and C<rusage> has two elements, each of which is of
+type C<timeval>.
+
+    use Automake::Struct;
+
+    struct( rusage => {
+        ru_utime => timeval,  # seconds
+        ru_stime => timeval,  # microseconds
+    });
+
+    struct( timeval => [
+        tv_secs  => '$',
+        tv_usecs => '$',
+    ]);
+
+        # create an object:
+    my $t = new rusage;
+
+        # $t->ru_utime and $t->ru_stime are objects of type timeval.
+        # set $t->ru_utime to 100.0 sec and $t->ru_stime to 5.0 sec.
+    $t->ru_utime->tv_secs(100);
+    $t->ru_utime->tv_usecs(0);
+    $t->ru_stime->tv_secs(5);
+    $t->ru_stime->tv_usecs(0);
+
+
+=item Example 2
+
+An accessor function can be redefined in order to provide
+additional checking of values, etc.  Here, we want the C<count>
+element always to be nonnegative, so we redefine the C<count>
+accessor accordingly.
+
+    package MyObj;
+    use Automake::Struct;
+
+    # declare the struct
+    struct ( 'MyObj', { count => '$', stuff => '%' } );
+
+    # override the default accessor method for 'count'
+    sub count {
+        my $self = shift;
+        if ( @_ ) {
+            die 'count must be nonnegative' if $_[0] < 0;
+            $self->{'count'} = shift;
+            warn "Too many args to count" if @_;
+        }
+        return $self->{'count'};
+    }
+
+    package main;
+    $x = new MyObj;
+    print "\$x->count(5) = ", $x->count(5), "\n";
+                            # prints '$x->count(5) = 5'
+
+    print "\$x->count = ", $x->count, "\n";
+                            # prints '$x->count = 5'
+
+    print "\$x->count(-5) = ", $x->count(-5), "\n";
+                            # dies due to negative argument!
+
+=item Example 3
+
+The constructor of a generated class can be passed a list
+of I<element>=>I<value> pairs, with which to initialize the struct.
+If no initializer is specified for a particular element, its default
+initialization is performed instead. Initializers for non-existent
+elements are silently ignored.
+
+Note that the initializer for a nested struct is specified
+as an anonymous hash of initializers, which is passed on to the nested
+struct's constructor.
+
+
+    use Automake::Struct;
+
+    struct Breed =>
+    {
+        name  => '$',
+        cross => '$',
+    };
+
+    struct Cat =>
+    [
+        name     => '$',
+        kittens  => '@',
+        markings => '%',
+        breed    => 'Breed',
+    ];
+
+
+    my $cat = Cat->new( name     => 'Socks',
+                        kittens  => ['Monica', 'Kenneth'],
+                        markings => { socks=>1, blaze=>"white" },
+                        breed    => { name=>'short-hair', cross=>1 },
+                      );
+
+    print "Once a cat called ", $cat->name, "\n";
+    print "(which was a ", $cat->breed->name, ")\n";
+    print "had two kittens: ", join(' and ', @{$cat->kittens}), "\n";
+
+=back
+
+=head1 Author and Modification History
+
+Modified by Akim Demaille, 2001-08-03
+
+    Rename as Automake::Struct to avoid name clashes with
+    Class::Struct.
+
+    Make it compatible with Perl 5.5.
+
+Modified by Damian Conway, 1999-03-05, v0.58.
+
+    Added handling of hash-like arg list to class ctor.
+
+    Changed to two-argument blessing in ctor to support
+    derivation from created classes.
+
+    Added classname prefixes to keys in hash-based classes
+    (refer to "Perl Cookbook", Recipe 13.12 for rationale).
+
+    Corrected behavior of accessors for '*@' and '*%' struct
+    elements.  Package now implements documented behavior when
+    returning a reference to an entire hash or array element.
+    Previously these were returned as a reference to a reference
+    to the element.
+
+
+Renamed to C<Class::Struct> and modified by Jim Miner, 1997-04-02.
+
+    members() function removed.
+    Documentation corrected and extended.
+    Use of struct() in a subclass prohibited.
+    User definition of accessor allowed.
+    Treatment of '*' in element types corrected.
+    Treatment of classes as element types corrected.
+    Class name to struct() made optional.
+    Diagnostic checks added.
+
+
+Originally C<Class::Template> by Dean Roehrich.
+
+    # Template.pm   --- struct/member template builder
+    #   12mar95
+    #   Dean Roehrich
+    #
+    # changes/bugs fixed since 28nov94 version:
+    #  - podified
+    # changes/bugs fixed since 21nov94 version:
+    #  - Fixed examples.
+    # changes/bugs fixed since 02sep94 version:
+    #  - Moved to Class::Template.
+    # changes/bugs fixed since 20feb94 version:
+    #  - Updated to be a more proper module.
+    #  - Added "use strict".
+    #  - Bug in build_methods, was using @var when @$var needed.
+    #  - Now using my() rather than local().
+    #
+    # Uses perl5 classes to create nested data types.
+    # This is offered as one implementation of Tom Christiansen's "structs.pl"
+    # idea.
+
+=cut
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/VarDef.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/VarDef.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/VarDef.pm	(revision 3089)
@@ -0,0 +1,356 @@
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::VarDef;
+use strict;
+use Carp;
+use Automake::ChannelDefs;
+use Automake::ItemDef;
+
+require Exporter;
+use vars '@ISA', '@EXPORT';
+@ISA = qw/Automake::ItemDef Exporter/;
+@EXPORT = qw (&VAR_AUTOMAKE &VAR_CONFIGURE &VAR_MAKEFILE
+	      &VAR_ASIS &VAR_PRETTY &VAR_SILENT &VAR_SORTED);
+
+=head1 NAME
+
+Automake::VarDef - a class for variable definitions
+
+=head1 SYNOPSIS
+
+  use Automake::VarDef;
+  use Automake::Location;
+
+  # Create a VarDef for a definition such as
+  # | # any comment
+  # | foo = bar # more comment
+  # in Makefile.am
+  my $loc = new Automake::Location 'Makefile.am:2';
+  my $def = new Automake::VarDef ('foo', 'bar # more comment',
+                                  '# any comment',
+                                  $loc, '', VAR_MAKEFILE, VAR_ASIS);
+
+  # Appending to a definition.
+  $def->append ('value to append', 'comment to append');
+
+  # Accessors.
+  my $value    = $def->value;  # with trailing `#' comments and
+                               # continuation ("\\\n") omitted.
+  my $value    = $def->raw_value; # the real value, as passed to new().
+  my $comment  = $def->comment;
+  my $location = $def->location;
+  my $type     = $def->type;
+  my $owner    = $def->owner;
+  my $pretty   = $def->pretty;
+
+  # Changing owner.
+  $def->set_owner (VAR_CONFIGURE,
+                   new Automake::Location 'configure.ac:15');
+
+  # Marking examined definitions.
+  $def->set_seen;
+  my $seen_p = $def->seen;
+
+  # Printing a variable for debugging.
+  print STDERR $def->dump;
+
+=head1 DESCRIPTION
+
+This class gather data related to one Makefile-variable definition.
+
+=head2 Constants
+
+=over 4
+
+=item C<VAR_AUTOMAKE>, C<VAR_CONFIGURE>, C<VAR_MAKEFILE>
+
+Possible owners for variables.  A variable can be defined
+by Automake, in F<configure.ac> (using C<AC_SUBST>), or in
+the user's F<Makefile.am>.
+
+=cut
+
+# Defined so that the owner of a variable can only be increased (e.g
+# Automake should not override a configure or Makefile variable).
+use constant VAR_AUTOMAKE => 0; # Variable defined by Automake.
+use constant VAR_CONFIGURE => 1;# Variable defined in configure.ac.
+use constant VAR_MAKEFILE => 2; # Variable defined in Makefile.am.
+
+=item C<VAR_ASIS>, C<VAR_PRETTY>, C<VAR_SILENT>, C<VAR_SORTED>
+
+Possible print styles.  C<VAR_ASIS> variables should be output as-is.
+C<VAR_PRETTY> variables are wrapped on multiple lines if they cannot
+fit on one.  C<VAR_SILENT> variables are not output at all.  Finally,
+C<VAR_SORTED> variables should be sorted and then handled as
+C<VAR_PRETTY> variables.
+
+C<VAR_SILENT> variables can also be overridden silently (unlike the
+other kinds of variables whose overridding may sometimes produce
+warnings).
+
+=cut
+
+# Possible values for pretty.
+use constant VAR_ASIS => 0;	# Output as-is.
+use constant VAR_PRETTY => 1;	# Pretty printed on output.
+use constant VAR_SILENT => 2;	# Not output.  (Can also be
+				# overridden silently.)
+use constant VAR_SORTED => 3;	# Sorted and pretty-printed.
+
+=back
+
+=head2 Methods
+
+C<VarDef> defines the following methods in addition to those inherited
+from L<Automake::ItemDef>.
+
+=over 4
+
+=item C<my $def = new Automake::VarDef ($varname, $value, $comment, $location, $type, $owner, $pretty)>
+
+Create a new Makefile-variable definition.  C<$varname> is the name of
+the variable being defined and C<$value> its value.
+
+C<$comment> is any comment preceding the definition.  (Because
+Automake reorders variable definitions in the output, it also tries to
+carry comments around.)
+
+C<$location> is the place where the definition occured, it should be
+an instance of L<Automake::Location>.
+
+C<$type> should be C<''> for definitions made with C<=>, and C<':'>
+for those made with C<:=>.
+
+C<$owner> specifies who owns the variables, it can be one of
+C<VAR_AUTOMAKE>, C<VAR_CONFIGURE>, or C<VAR_MAKEFILE> (see these
+definitions).
+
+Finally, C<$pretty> tells how the variable should be output, and can
+be one of C<VAR_ASIS>, C<VAR_PRETTY>, or C<VAR_SILENT>, or
+C<VAR_SORTED> (see these definitions).
+
+=cut
+
+sub new ($$$$$$$$)
+{
+  my ($class, $var, $value, $comment, $location, $type, $owner, $pretty) = @_;
+
+  # A user variable must be set by either `=' or `:=', and later
+  # promoted to `+='.
+  if ($owner != VAR_AUTOMAKE && $type eq '+')
+    {
+      error $location, "$var must be set with `=' before using `+='";
+    }
+
+  my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
+  $self->{'value'} = $value;
+  $self->{'type'} = $type;
+  $self->{'pretty'} = $pretty;
+  $self->{'seen'} = 0;
+  return $self;
+}
+
+=item C<$def-E<gt>append ($value, $comment)>
+
+Append C<$value> and <$comment> to the exisiting value and comment of
+C<$def>.  This is normally called on C<+=> definitions.
+
+=cut
+
+sub append ($$$)
+{
+  my ($self, $value, $comment) = @_;
+  $self->{'comment'} .= $comment;
+
+  my $val = $self->{'value'};
+
+  # Strip comments from augmented variables.  This is so that
+  #   VAR = foo # com
+  #   VAR += bar
+  # does not become
+  #   VAR = foo # com bar
+  # Furthermore keeping `#' would not be portable if the variable is
+  # output on multiple lines.
+  $val =~ s/ ?#.*//;
+
+  if (chomp $val)
+    {
+      # Insert a backslash before a trailing newline.
+      $val .= "\\\n";
+    }
+  elsif ($val)
+    {
+      # Insert a separator.
+      $val .= ' ';
+    }
+  $self->{'value'} = $val . $value;
+  # Turn ASIS appended variables into PRETTY variables.  This is to
+  # cope with `make' implementation that cannot read very long lines.
+  $self->{'pretty'} = VAR_PRETTY if $self->{'pretty'} == VAR_ASIS;
+}
+
+=item C<$def-E<gt>value>
+
+=item C<$def-E<gt>type>
+
+=item C<$def-E<gt>pretty>
+
+Accessors to the various constituents of a C<VarDef>.  See the
+documentation of C<new>'s arguments for a description of these.
+
+=cut
+
+sub value ($)
+{
+  my ($self) = @_;
+  my $val = $self->raw_value;
+  # Strip anything past `#'.  `#' characters cannot be escaped
+  # in Makefiles, so we don't have to be smart.
+  $val =~ s/#.*$//s;
+  # Strip backslashes.
+  $val =~ s/\\$/ /mg;
+  return $val;
+}
+
+sub raw_value ($)
+{
+  my ($self) = @_;
+  return $self->{'value'};
+}
+
+sub type ($)
+{
+  my ($self) = @_;
+  return $self->{'type'};
+}
+
+sub pretty ($)
+{
+  my ($self) = @_;
+  return $self->{'pretty'};
+}
+
+=item C<$def-E<gt>set_owner ($owner, $location)>
+
+Change the owner of a definition.  This usually happens because
+the user used C<+=> on an Automake variable, so (s)he now owns
+the content.  C<$location> should be an instance of L<Automake::Location>
+indicating where the change took place.
+
+=cut
+
+sub set_owner ($$$)
+{
+  my ($self, $owner, $location) = @_;
+  # We always adjust the location when the owner changes (even for
+  # `+=' statements).  The risk otherwise is to warn about
+  # a VAR_MAKEFILE variable and locate it in configure.ac...
+  $self->{'owner'} = $owner;
+  $self->{'location'} = $location;
+}
+
+=item C<$def-E<gt>set_seen>
+
+=item C<$bool = $def-E<gt>seen>
+
+These function allows Automake to mark (C<set_seen>) variable that
+it has examined in some way, and latter check (using C<seen>) for
+unused variables.  Unused variables usually indicate typos.
+
+=cut
+
+sub set_seen ($)
+{
+  my ($self) = @_;
+  $self->{'seen'} = 1;
+}
+
+sub seen ($)
+{
+  my ($self) = @_;
+  return $self->{'seen'};
+}
+
+=item C<$str = $def-E<gt>dump>
+
+Format the contents of C<$def> as a human-readable string,
+for debugging.
+
+=cut
+
+sub dump ($)
+{
+  my ($self) = @_;
+  my $owner = $self->owner;
+
+  if ($owner == VAR_AUTOMAKE)
+    {
+      $owner = 'Automake';
+    }
+  elsif ($owner == VAR_CONFIGURE)
+    {
+      $owner = 'Configure';
+    }
+  elsif ($owner == VAR_MAKEFILE)
+    {
+      $owner = 'Makefile';
+    }
+  else
+    {
+      prog_error ("unexpected owner");
+    }
+
+  my $where = $self->location->dump;
+  my $comment = $self->comment;
+  my $value = $self->raw_value;
+  my $type = $self->type;
+
+  return "{
+      type: $type=
+      where: $where      comment: $comment
+      value: $value
+      owner: $owner
+    }\n";
+}
+
+=back
+
+=head1 SEE ALSO
+
+L<Automake::Variable>, L<Automake::ItemDef>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Variable.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Variable.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Variable.pm	(revision 3089)
@@ -0,0 +1,1590 @@
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Variable;
+use strict;
+use Carp;
+
+use Automake::Channels;
+use Automake::ChannelDefs;
+use Automake::Configure_ac;
+use Automake::Item;
+use Automake::VarDef;
+use Automake::Condition qw (TRUE FALSE);
+use Automake::DisjConditions;
+use Automake::General 'uniq';
+use Automake::Wrap 'makefile_wrap';
+
+require Exporter;
+use vars '@ISA', '@EXPORT', '@EXPORT_OK';
+@ISA = qw/Automake::Item Exporter/;
+@EXPORT = qw (err_var msg_var msg_cond_var reject_var
+	      var rvar vardef rvardef
+	      variables
+	      scan_variable_expansions check_variable_expansions
+	      variable_delete
+	      variables_dump
+	      set_seen
+	      require_variables
+	      variable_value
+	      output_variables
+	      transform_variable_recursively);
+
+=head1 NAME
+
+Automake::Variable - support for variable definitions
+
+=head1 SYNOPSIS
+
+  use Automake::Variable;
+  use Automake::VarDef;
+
+  # Defining a variable.
+  Automake::Variable::define($varname, $owner, $type,
+                             $cond, $value, $comment,
+                             $where, $pretty)
+
+  # Looking up a variable.
+  my $var = var $varname;
+  if ($var)
+    {
+      ...
+    }
+
+  # Looking up a variable that is assumed to exist.
+  my $var = rvar $varname;
+
+  # The list of conditions where $var has been defined.
+  # ($var->conditions is an Automake::DisjConditions,
+  # $var->conditions->conds is a list of Automake::Condition.)
+  my @conds = $var->conditions->conds
+
+  # Accessing to the definition in Condition $cond.
+  # $def is an Automake::VarDef.
+  my $def = $var->def ($cond);
+  if ($def)
+    {
+      ...
+    }
+
+  # When the conditional definition is assumed to exist, use
+  my $def = $var->rdef ($cond);
+
+
+=head1 DESCRIPTION
+
+This package provides support for Makefile variable definitions.
+
+An C<Automake::Variable> is a variable name associated to possibly
+many conditional definitions.  These definitions are instances
+of C<Automake::VarDef>.
+
+Therefore obtaining the value of a variable under a given
+condition involves two lookups.  One to look up the variable,
+and one to look up the conditional definition:
+
+  my $var = var $name;
+  if ($var)
+    {
+      my $def = $var->def ($cond);
+      if ($def)
+        {
+          return $def->value;
+        }
+      ...
+    }
+  ...
+
+When it is known that the variable and the definition
+being looked up exist, the above can be simplified to
+
+  return var ($name)->def ($cond)->value; # Do not write this.
+
+but is better written
+
+  return rvar ($name)->rdef ($cond)->value;
+
+or even
+
+  return rvardef ($name, $cond)->value;
+
+The I<r> variants of the C<var>, C<def>, and C<vardef> methods add an
+extra test to ensure that the lookup succeeded, and will diagnose
+failures as internal errors (with a message which is much more
+informative than Perl's warning about calling a method on a
+non-object).
+
+=cut
+
+my $_VARIABLE_PATTERN = '^[.A-Za-z0-9_@]+' . "\$";
+
+# The order in which variables should be output.  (May contain
+# duplicates -- only the first occurrence matters.)
+my @_var_order;
+
+# This keeps track of all variables defined by &_gen_varname.
+# $_gen_varname{$base} is a hash for all variable defined with
+# prefix `$base'.  Values stored this this hash are the variable names.
+# Keys have the form "(COND1)VAL1(COND2)VAL2..." where VAL1 and VAL2
+# are the values of the variable for condition COND1 and COND2.
+my %_gen_varname = ();
+
+# Declare the macros that define known variables, so we can
+# hint the user if she try to use one of these variables.
+
+# Macros accessible via aclocal.
+my %_am_macro_for_var =
+  (
+   ANSI2KNR => 'AM_C_PROTOTYPES',
+   CCAS => 'AM_PROG_AS',
+   CCASFLAGS => 'AM_PROG_AS',
+   EMACS => 'AM_PATH_LISPDIR',
+   GCJ => 'AM_PROG_GCJ',
+   LEX => 'AM_PROG_LEX',
+   LIBTOOL => 'AC_PROG_LIBTOOL',
+   lispdir => 'AM_PATH_LISPDIR',
+   pkgpyexecdir => 'AM_PATH_PYTHON',
+   pkgpythondir => 'AM_PATH_PYTHON',
+   pyexecdir => 'AM_PATH_PYTHON',
+   PYTHON => 'AM_PATH_PYTHON',
+   pythondir => 'AM_PATH_PYTHON',
+   U => 'AM_C_PROTOTYPES',
+   );
+
+# Macros shipped with Autoconf.
+my %_ac_macro_for_var =
+  (
+   ALLOCA => 'AC_FUNC_ALLOCA',
+   CC => 'AC_PROG_CC',
+   CFLAGS => 'AC_PROG_CC',
+   CXX => 'AC_PROG_CXX',
+   CXXFLAGS => 'AC_PROG_CXX',
+   F77 => 'AC_PROG_F77',
+   F77FLAGS => 'AC_PROG_F77',
+   FC => 'AC_PROG_FC',
+   FCFLAGS => 'AC_PROG_FC',
+   RANLIB => 'AC_PROG_RANLIB',
+   YACC => 'AC_PROG_YACC',
+   );
+
+# The name of the configure.ac file.
+my $configure_ac = find_configure_ac;
+
+# Variables that can be overriden without complaint from -Woverride
+my %_silent_variable_override =
+  (AM_MAKEINFOHTMLFLAGS => 1,
+   AR => 1,
+   ARFLAGS => 1,
+   DEJATOOL => 1,
+   JAVAC => 1,
+   JAVAROOT => 1);
+
+# Count of helper variables used to implement conditional '+='.
+my $_appendvar;
+
+# Each call to C<Automake::Variable::traverse_recursively> gets an
+# unique label. This is used to detect recursively defined variables.
+my $_traversal = 0;
+
+
+=head2 Error reporting functions
+
+In these functions, C<$var> can be either a variable name, or
+an instance of C<Automake::Variable>.
+
+=over 4
+
+=item C<err_var ($var, $message, [%options])>
+
+Uncategorized errors about variables.
+
+=cut
+
+sub err_var ($$;%)
+{
+  msg_var ('error', @_);
+}
+
+=item C<msg_cond_var ($channel, $cond, $var, $message, [%options])>
+
+Messages about conditional variable.
+
+=cut
+
+sub msg_cond_var ($$$$;%)
+{
+  my ($channel, $cond, $var, $msg, %opts) = @_;
+  my $v = ref ($var) ? $var : rvar ($var);
+  msg $channel, $v->rdef ($cond)->location, $msg, %opts;
+}
+
+=item C<msg_var ($channel, $var, $message, [%options])>
+
+Messages about variables.
+
+=cut
+
+sub msg_var ($$$;%)
+{
+  my ($channel, $var, $msg, %opts) = @_;
+  my $v = ref ($var) ? $var : rvar ($var);
+  # Don't know which condition is concerned.  Pick any.
+  my $cond = $v->conditions->one_cond;
+  msg_cond_var $channel, $cond, $v, $msg, %opts;
+}
+
+=item C<$bool = reject_var ($varname, $error_msg)>
+
+Bail out with C<$error_msg> if a variable with name C<$varname> has
+been defined.
+
+Return true iff C<$varname> is defined.
+
+=cut
+
+sub reject_var ($$)
+{
+  my ($var, $msg) = @_;
+  my $v = var ($var);
+  if ($v)
+    {
+      err_var $v, $msg;
+      return 1;
+    }
+  return 0;
+}
+
+=back
+
+=head2 Administrative functions
+
+=over 4
+
+=item C<Automake::Variable::hook ($varname, $fun)>
+
+Declare a function to be called whenever a variable
+named C<$varname> is defined or redefined.
+
+C<$fun> should take two arguments: C<$type> and C<$value>.
+When type is C<''> or <':'>, C<$value> is the value being
+assigned to C<$varname>.  When C<$type> is C<'+'>, C<$value>
+is the value being appended to  C<$varname>.
+
+=cut
+
+use vars '%_hooks';
+sub hook ($$)
+{
+  my ($var, $fun) = @_;
+  $_hooks{$var} = $fun;
+}
+
+=item C<variables>
+
+Returns the list of all L<Automake::Variable> instances.  (I.e., all
+variables defined so far.)
+
+=cut
+
+use vars '%_variable_dict';
+sub variables ()
+{
+  return values %_variable_dict;
+}
+
+=item C<Automake::Variable::reset>
+
+The I<forget all> function.  Clears all know variables and reset some
+other internal data.
+
+=cut
+
+sub reset ()
+{
+  %_variable_dict = ();
+  $_appendvar = 0;
+  @_var_order = ();
+  %_gen_varname = ();
+  $_traversal = 0;
+}
+
+=item C<var ($varname)>
+
+Return the C<Automake::Variable> object for the variable
+named C<$varname> if defined.   Return 0 otherwise.
+
+=cut
+
+sub var ($)
+{
+  my ($name) = @_;
+  return $_variable_dict{$name} if exists $_variable_dict{$name};
+  return 0;
+}
+
+=item C<vardef ($varname, $cond)>
+
+Return the C<Automake::VarDef> object for the variable named
+C<$varname> if defined in condition C<$cond>.  Return false
+if the condition or the variable does not exist.
+
+=cut
+
+sub vardef ($$)
+{
+  my ($name, $cond) = @_;
+  my $var = var $name;
+  return $var && $var->def ($cond);
+}
+
+# Create the variable if it does not exist.
+# This is used only by other functions in this package.
+sub _cvar ($)
+{
+  my ($name) = @_;
+  my $v = var $name;
+  return $v if $v;
+  return _new Automake::Variable $name;
+}
+
+=item C<rvar ($varname)>
+
+Return the C<Automake::Variable> object for the variable named
+C<$varname>.  Abort with an internal error if the variable was not
+defined.
+
+The I<r> in front of C<var> stands for I<required>.  One
+should call C<rvar> to assert the variable's existence.
+
+=cut
+
+sub rvar ($)
+{
+  my ($name) = @_;
+  my $v = var $name;
+  prog_error ("undefined variable $name\n" . &variables_dump)
+    unless $v;
+  return $v;
+}
+
+=item C<rvardef ($varname, $cond)>
+
+Return the C<Automake::VarDef> object for the variable named
+C<$varname> if defined in condition C<$cond>.  Abort with an internal
+error if the condition or the variable does not exist.
+
+=cut
+
+sub rvardef ($$)
+{
+  my ($name, $cond) = @_;
+  return rvar ($name)->rdef ($cond);
+}
+
+=back
+
+=head2 Methods
+
+C<Automake::Variable> is a subclass of C<Automake::Item>.  See
+that package for inherited methods.
+
+Here are the methods specific to the C<Automake::Variable> instances.
+Use the C<define> function, described latter, to create such objects.
+
+=over 4
+
+=cut
+
+# Create Automake::Variable objects.  This is used
+# only in this file.  Other users should use
+# the "define" function.
+sub _new ($$)
+{
+  my ($class, $name) = @_;
+  my $self = Automake::Item::new ($class, $name);
+  $self->{'scanned'} = 0;
+  $self->{'last-append'} = []; # helper variable for last conditional append.
+  $_variable_dict{$name} = $self;
+  return $self;
+}
+
+# _check_ambiguous_condition ($SELF, $COND, $WHERE)
+# -------------------------------------------------
+# Check for an ambiguous conditional.  This is called when a variable
+# is being defined conditionally.  If we already know about a
+# definition that is true under the same conditions, then we have an
+# ambiguity.
+sub _check_ambiguous_condition ($$$)
+{
+  my ($self, $cond, $where) = @_;
+  my $var = $self->name;
+  my ($message, $ambig_cond) = $self->conditions->ambiguous_p ($var, $cond);
+
+  # We allow silent variables to be overridden silently.
+  my $def = $self->def ($cond);
+  if ($message && !($def && $def->pretty == VAR_SILENT))
+    {
+      msg 'syntax', $where, "$message ...", partial => 1;
+      msg_var ('syntax', $var, "... `$var' previously defined here");
+      verb ($self->dump);
+    }
+}
+
+=item C<$bool = $var-E<gt>check_defined_unconditionally ([$parent, $parent_cond])>
+
+Warn if the variable is conditionally defined.  C<$parent> is the name
+of the parent variable, and C<$parent_cond> the condition of the parent
+definition.  These two variables are used to display diagnostics.
+
+=cut
+
+sub check_defined_unconditionally ($;$$)
+{
+  my ($self, $parent, $parent_cond) = @_;
+
+  if (!$self->conditions->true)
+    {
+      if ($parent)
+	{
+	  msg_cond_var ('unsupported', $parent_cond, $parent,
+			"automake does not support conditional definition of "
+			. $self->name . " in $parent");
+	}
+      else
+	{
+	  msg_var ('unsupported', $self,
+		   "automake does not support " . $self->name
+		   . " being defined conditionally");
+	}
+    }
+}
+
+=item C<$str = $var-E<gt>output ([@conds])>
+
+Format all the definitions of C<$var> if C<@cond> is not specified,
+else only that corresponding to C<@cond>.
+
+=cut
+
+sub output ($@)
+{
+  my ($self, @conds) = @_;
+
+  @conds = $self->conditions->conds
+    unless @conds;
+
+  my $res = '';
+  my $name = $self->name;
+
+  foreach my $cond (@conds)
+    {
+      my $def = $self->def ($cond);
+      prog_error ("unknown condition `" . $cond->human . "' for `"
+		  . $self->name . "'")
+	unless $def;
+
+      next
+	if $def->pretty == VAR_SILENT;
+
+      $res .= $def->comment;
+
+      my $val = $def->raw_value;
+      my $equals = $def->type eq ':' ? ':=' : '=';
+      my $str = $cond->subst_string;
+
+
+      if ($def->pretty == VAR_ASIS)
+	{
+	  my $output_var = "$name $equals $val";
+	  $output_var =~ s/^/$str/meg;
+	  $res .= "$output_var\n";
+	}
+      elsif ($def->pretty == VAR_PRETTY)
+	{
+	  # Suppress escaped new lines.  &makefile_wrap will
+	  # add them back, maybe at other places.
+	  $val =~ s/\\$//mg;
+	  my $wrap = makefile_wrap ("$str$name $equals", "$str\t",
+				    split (' ', $val));
+
+	  # If the last line of the definition is made only of
+	  # @substitutions@, append an empty variable to make sure it
+	  # cannot be substituted as a blank line (that would confuse
+	  # HP-UX Make).
+	  $wrap = makefile_wrap ("$str$name $equals", "$str\t",
+				 split (' ', $val), '$(am__empty)')
+	    if $wrap =~ /\n(\s*@\w+@)+\s*$/;
+
+	  $res .= $wrap;
+	}
+      else # ($def->pretty == VAR_SORTED)
+	{
+	  # Suppress escaped new lines.  &makefile_wrap will
+	  # add them back, maybe at other places.
+	  $val =~ s/\\$//mg;
+	  $res .= makefile_wrap ("$str$name $equals", "$str\t",
+				 sort (split (' ' , $val)));
+	}
+    }
+  return $res;
+}
+
+=item C<@values = $var-E<gt>value_as_list ($cond, [$parent, $parent_cond])>
+
+Get the value of C<$var> as a list, given a specified condition,
+without recursing through any subvariables.
+
+C<$cond> is the condition of interest.  C<$var> does not need
+to be defined for condition C<$cond> exactly, but it needs
+to be defined for at most one condition implied by C<$cond>.
+
+C<$parent> and C<$parent_cond> designate the name and the condition
+of the parent variable, i.e., the variable in which C<$var> is
+being expanded.  These are used in diagnostics.
+
+For example, if C<A> is defined as "C<foo $(B) bar>" in condition
+C<TRUE>, calling C<rvar ('A')->value_as_list (TRUE)> will return
+C<("foo", "$(B)", "bar")>.
+
+=cut
+
+sub value_as_list ($$;$$)
+{
+  my ($self, $cond, $parent, $parent_cond) = @_;
+  my @result;
+
+  # Get value for given condition
+  my $onceflag;
+  foreach my $vcond ($self->conditions->conds)
+    {
+      if ($vcond->true_when ($cond))
+	{
+	  # If there is more than one definitions of $var matching
+	  # $cond then we are in trouble: tell the user we need a
+	  # paddle.  Continue by merging results from all conditions,
+	  # although it doesn't make much sense.
+	  $self->check_defined_unconditionally ($parent, $parent_cond)
+	    if $onceflag;
+	  $onceflag = 1;
+
+	  my $val = $self->rdef ($vcond)->value;
+	  push @result, split (' ', $val);
+	}
+    }
+  return @result;
+}
+
+=item C<@values = $var-E<gt>value_as_list_recursive ([%options])>
+
+Return the contents of C<$var> as a list, split on whitespace.  This
+will recursively follow C<$(...)> and C<${...}> inclusions.  It
+preserves C<@...@> substitutions.
+
+C<%options> is a list of option for C<Variable::traverse_recursively>
+(see this method).  The most useful is C<cond_filter>:
+
+  $var->value_as_list_recursive (cond_filter => $cond)
+
+will return the contents of C<$var> and any subvariable in all
+conditions implied by C<$cond>.
+
+C<%options> can also carry options specific to C<value_as_list_recursive>.
+Presently, the only such option is C<location =E<gt> 1> which instructs
+C<value_as_list_recursive> to return a list of C<[$location, @values]> pairs.
+
+=cut
+
+sub value_as_list_recursive ($;%)
+{
+  my ($var, %options) = @_;
+
+  return $var->traverse_recursively
+    (# Construct [$location, $value] pairs if requested.
+     sub {
+       my ($var, $val, $cond, $full_cond) = @_;
+       return [$var->rdef ($cond)->location, $val] if $options{'location'};
+       return $val;
+     },
+     # Collect results.
+     sub {
+       my ($var, $parent_cond, @allresults) = @_;
+       return map { my ($cond, @vals) = @$_; @vals } @allresults;
+     },
+     %options);
+}
+
+
+=item C<$bool = $var-E<gt>has_conditional_contents>
+
+Return 1 if C<$var> or one of its subvariable was conditionally
+defined.  Return 0 otherwise.
+
+=cut
+
+sub has_conditional_contents ($)
+{
+  my ($self) = @_;
+
+  # Traverse the variable recursively until we
+  # find a variable defined conditionally.
+  # Use `die' to abort the traversal, and pass it `$full_cond'
+  # to we can find easily whether the `eval' block aborted
+  # because we found a condition, or for some other error.
+  eval
+    {
+      $self->traverse_recursively
+	(sub
+	 {
+	   my ($subvar, $val, $cond, $full_cond) = @_;
+	   die $full_cond if ! $full_cond->true;
+	   return ();
+	 },
+	 sub { return (); });
+    };
+  if ($@)
+    {
+      return 1 if ref ($@) && $@->isa ("Automake::Condition");
+      # Propagate other errors.
+      die;
+    }
+  return 0;
+}
+
+
+=item C<$string = $var-E<gt>dump>
+
+Return a string describing all we know about C<$var>.
+For debugging.
+
+=cut
+
+sub dump ($)
+{
+  my ($self) = @_;
+
+  my $text = $self->name . ": \n  {\n";
+  foreach my $vcond ($self->conditions->conds)
+    {
+      $text .= "    " . $vcond->human . " => " . $self->rdef ($vcond)->dump;
+    }
+  $text .= "  }\n";
+  return $text;
+}
+
+
+=back
+
+=head2 Utility functions
+
+=over 4
+
+=item C<@list = scan_variable_expansions ($text)>
+
+Return the list of variable names expanded in C<$text>.  Note that
+unlike some other functions, C<$text> is not split on spaces before we
+check for subvariables.
+
+=cut
+
+sub scan_variable_expansions ($)
+{
+  my ($text) = @_;
+  my @result = ();
+
+  # Strip comments.
+  $text =~ s/#.*$//;
+
+  # Record each use of ${stuff} or $(stuff) that does not follow a $.
+  while ($text =~ /(?<!\$)\$(?:\{([^\}]*)\}|\(([^\)]*)\))/g)
+    {
+      my $var = $1 || $2;
+      # The occurence may look like $(string1[:subst1=[subst2]]) but
+      # we want only `string1'.
+      $var =~ s/:[^:=]*=[^=]*$//;
+      push @result, $var;
+    }
+
+  return @result;
+}
+
+=item C<check_variable_expansions ($text, $where)>
+
+Check variable expansions in C<$text> and warn about any name that
+does not conform to POSIX.  C<$where> is the location of C<$text>
+for the error message.
+
+=cut
+
+sub check_variable_expansions ($$)
+{
+  my ($text, $where) = @_;
+  # Catch expansion of variables whose name does not conform to POSIX.
+  foreach my $var (scan_variable_expansions ($text))
+    {
+      if ($var !~ /$_VARIABLE_PATTERN/o)
+	{
+	  # If the variable name contains a space, it's likely
+	  # to be a GNU make extension (such as $(addsuffix ...)).
+	  # Mention this in the diagnostic.
+	  my $gnuext = "";
+	  $gnuext = "\n(probably a GNU make extension)" if $var =~ / /;
+	  msg ('portability', $where,
+	       "$var: non-POSIX variable name$gnuext");
+	}
+    }
+}
+
+
+
+=item C<Automake::Variable::define($varname, $owner, $type, $cond, $value, $comment, $where, $pretty)>
+
+Define or append to a new variable.
+
+C<$varname>: the name of the variable being defined.
+
+C<$owner>: owner of the variable (one of C<VAR_MAKEFILE>,
+C<VAR_CONFIGURE>, or C<VAR_AUTOMAKE>, defined by L<Automake::VarDef>).
+Variables can be overriden, provided the new owner is not weaker
+(C<VAR_AUTOMAKE> < C<VAR_CONFIGURE> < C<VAR_MAKEFILE>).
+
+C<$type>: the type of the assignment (C<''> for C<FOO = bar>,
+C<':'> for C<FOO := bar>, and C<'+'> for C<'FOO += bar'>).
+
+C<$cond>: the C<Condition> in which C<$var> is being defined.
+
+C<$value>: the value assigned to C<$var> in condition C<$cond>.
+
+C<$comment>: any comment (C<'# bla.'>) associated with the assignment.
+Comments from C<+=> assignments stack with comments from the last C<=>
+assignment.
+
+C<$where>: the C<Location> of the assignment.
+
+C<$pretty>: whether C<$value> should be pretty printed (one of
+C<VAR_ASIS>, C<VAR_PRETTY>, C<VAR_SILENT>, or C<VAR_SORTED>, defined
+by by L<Automake::VarDef>).  C<$pretty> applies only to real
+assignments.  I.e., it does not apply to a C<+=> assignment (except
+when part of it is being done as a conditional C<=> assignment).
+
+This function will all run any hook registered with the C<hook>
+function.
+
+=cut
+
+sub define ($$$$$$$$)
+{
+  my ($var, $owner, $type, $cond, $value, $comment, $where, $pretty) = @_;
+
+  prog_error "$cond is not a reference"
+    unless ref $cond;
+
+  prog_error "$where is not a reference"
+    unless ref $where;
+
+  prog_error "pretty argument missing"
+    unless defined $pretty && ($pretty == VAR_ASIS
+			       || $pretty == VAR_PRETTY
+			       || $pretty == VAR_SILENT
+			       || $pretty == VAR_SORTED);
+
+  error $where, "bad characters in variable name `$var'"
+    if $var !~ /$_VARIABLE_PATTERN/o;
+
+  # `:='-style assignments are not acknowledged by POSIX.  Moreover it
+  # has multiple meanings.  In GNU make or BSD make it means "assign
+  # with immediate expansion", while in OSF make it is used for
+  # conditional assignments.
+  msg ('portability', $where, "`:='-style assignments are not portable")
+    if $type eq ':';
+
+  check_variable_expansions ($value, $where);
+
+  # If there's a comment, make sure it is \n-terminated.
+  if ($comment)
+    {
+      chomp $comment;
+      $comment .= "\n";
+    }
+  else
+    {
+      $comment = '';
+    }
+
+  my $self = _cvar $var;
+
+  my $def = $self->def ($cond);
+  my $new_var = $def ? 0 : 1;
+
+  # Additional checks for Automake definitions.
+  if ($owner == VAR_AUTOMAKE && ! $new_var)
+    {
+      # An Automake variable must be consistently defined with the same
+      # sign by Automake.
+      if ($def->type ne $type && $def->owner == VAR_AUTOMAKE)
+	{
+	  error ($def->location,
+		 "Automake variable `$var' was set with `"
+		 . $def->type . "=' here...", partial => 1);
+	  error ($where, "... and is now set with `$type=' here.");
+	  prog_error ("Automake variable assignments should be consistently\n"
+		      . "defined with the same sign.");
+	}
+
+      # If Automake tries to override a value specified by the user,
+      # just don't let it do.
+      if ($def->owner != VAR_AUTOMAKE)
+	{
+	  if (! exists $_silent_variable_override{$var})
+	    {
+	      my $condmsg = ($cond == TRUE
+			     ? '' : (" in condition `" . $cond->human . "'"));
+	      msg_cond_var ('override', $cond, $var,
+			    "user variable `$var' defined here$condmsg...",
+			    partial => 1);
+	      msg ('override', $where,
+		   "... overrides Automake variable `$var' defined here");
+	    }
+	  verb ("refusing to override the user definition of:\n"
+		. $self->dump ."with `" . $cond->human . "' => `$value'");
+	  return;
+	}
+    }
+
+  # Differentiate assignment types.
+
+  # 1. append (+=) to a variable defined for current condition
+  if ($type eq '+' && ! $new_var)
+    {
+      $def->append ($value, $comment);
+      $self->{'last-append'} = [];
+
+      # Only increase owners.  A VAR_CONFIGURE variable augmented in a
+      # Makefile.am becomes a VAR_MAKEFILE variable.
+      $def->set_owner ($owner, $where->clone)
+	if $owner > $def->owner;
+    }
+  # 2. append (+=) to a variable defined for *another* condition
+  elsif ($type eq '+' && ! $self->conditions->false)
+    {
+      # * Generally, $cond is not TRUE.  For instance:
+      #     FOO = foo
+      #     if COND
+      #       FOO += bar
+      #     endif
+      #   In this case, we declare an helper variable conditionally,
+      #   and append it to FOO:
+      #     FOO = foo $(am__append_1)
+      #     @COND_TRUE@am__append_1 = bar
+      #   Of course if FOO is defined under several conditions, we add
+      #   $(am__append_1) to each definitions.
+      #
+      # * If $cond is TRUE, we don't need the helper variable.  E.g., in
+      #     if COND1
+      #       FOO = foo1
+      #     else
+      #       FOO = foo2
+      #     endif
+      #     FOO += bar
+      #   we can add bar directly to all definition of FOO, and output
+      #     @COND_TRUE@FOO = foo1 bar
+      #     @COND_FALSE@FOO = foo2 bar
+
+      my $lastappend = [];
+      # Do we need an helper variable?
+      if ($cond != TRUE)
+        {
+	  # Can we reuse the helper variable created for the previous
+	  # append?  (We cannot reuse older helper variables because
+	  # we must preserve the order of items appended to the
+	  # variable.)
+	  my $condstr = $cond->string;
+	  my $key = "$var:$condstr";
+	  my ($appendvar, $appendvarcond) = @{$self->{'last-append'}};
+	  if ($appendvar && $condstr eq $appendvarcond)
+	    {
+	      # Yes, let's simply append to it.
+	      $var = $appendvar;
+	      $owner = VAR_AUTOMAKE;
+	      $self = var ($var);
+	      $def = $self->rdef ($cond);
+	      $new_var = 0;
+	    }
+	  else
+	    {
+	      # No, create it.
+	      my $num = ++$_appendvar;
+	      my $hvar = "am__append_$num";
+	      $lastappend = [$hvar, $condstr];
+	      &define ($hvar, VAR_AUTOMAKE, '+',
+		       $cond, $value, $comment, $where, $pretty);
+
+	      # Now HVAR is to be added to VAR.
+	      $comment = '';
+	      $value = "\$($hvar)";
+	    }
+	}
+
+      # Add VALUE to all definitions of SELF.
+      foreach my $vcond ($self->conditions->conds)
+        {
+	  # We have a bit of error detection to do here.
+	  # This:
+	  #   if COND1
+	  #     X = Y
+	  #   endif
+	  #   X += Z
+	  # should be rejected because X is not defined for all conditions
+	  # where `+=' applies.
+	  my $undef_cond = $self->not_always_defined_in_cond ($cond);
+	  if (! $undef_cond->false)
+	    {
+	      error ($where,
+		     "Cannot apply `+=' because `$var' is not defined "
+		     . "in\nthe following conditions:\n  "
+		     . join ("\n  ", map { $_->human } $undef_cond->conds)
+		     . "\nEither define `$var' in these conditions,"
+		     . " or use\n`+=' in the same conditions as"
+		     . " the definitions.");
+	    }
+	  else
+	    {
+	      &define ($var, $owner, '+', $vcond, $value, $comment,
+		       $where, $pretty);
+	    }
+	}
+      $self->{'last-append'} = $lastappend;
+    }
+  # 3. first assignment (=, :=, or +=)
+  else
+    {
+      # There must be no previous value unless the user is redefining
+      # an Automake variable or an AC_SUBST variable for an existing
+      # condition.
+      _check_ambiguous_condition ($self, $cond, $where)
+	unless (!$new_var
+		&& (($def->owner == VAR_AUTOMAKE && $owner != VAR_AUTOMAKE)
+		    || $def->owner == VAR_CONFIGURE));
+
+      # Never decrease an owner.
+      $owner = $def->owner
+	if ! $new_var && $owner < $def->owner;
+
+      # Assignments to a macro set its location.  We don't adjust
+      # locations for `+='.  Ideally I suppose we would associate
+      # line numbers with random bits of text.
+      $def = new Automake::VarDef ($var, $value, $comment, $where->clone,
+				   $type, $owner, $pretty);
+      $self->set ($cond, $def);
+      push @_var_order, $var;
+    }
+
+  # Call any defined hook.  This helps to update some internal state
+  # *while* parsing the file.  For instance the handling of SUFFIXES
+  # requires this (see var_SUFFIXES_trigger).
+  &{$_hooks{$var}}($type, $value) if exists $_hooks{$var};
+}
+
+=item C<variable_delete ($varname, [@conds])>
+
+Forget about C<$varname> under the conditions C<@conds>, or completely
+if C<@conds> is empty.
+
+=cut
+
+sub variable_delete ($@)
+{
+  my ($var, @conds) = @_;
+
+  if (!@conds)
+    {
+      delete $_variable_dict{$var};
+    }
+  else
+    {
+      for my $cond (@conds)
+	{
+	  delete $_variable_dict{$var}{'defs'}{$cond};
+	}
+    }
+}
+
+=item C<$str = variables_dump>
+
+Return a string describing all we know about all variables.
+For debugging.
+
+=cut
+
+sub variables_dump ()
+{
+  my $text = "All variables:\n{\n";
+  foreach my $var (sort { $a->name cmp $b->name } variables)
+    {
+      $text .= $var->dump;
+    }
+  $text .= "}\n";
+  return $text;
+}
+
+
+=item C<$var = set_seen ($varname)>
+
+=item C<$var = $var-E<gt>set_seen>
+
+Mark all definitions of this variable as examined, if the variable
+exists.  See L<Automake::VarDef::set_seen>.
+
+Return the C<Variable> object if the variable exists, or 0
+otherwise (i.e., as the C<var> function).
+
+=cut
+
+sub set_seen ($)
+{
+  my ($self) = @_;
+  $self = ref $self ? $self : var $self;
+
+  return 0 unless $self;
+
+  for my $c ($self->conditions->conds)
+    {
+      $self->rdef ($c)->set_seen;
+    }
+
+  return $self;
+}
+
+
+=item C<$count = require_variables ($where, $reason, $cond, @variables)>
+
+Make sure that each supplied variable is defined in C<$cond>.
+Otherwise, issue a warning showing C<$reason> (C<$reason> should be
+the reason why these variable are required, for instance C<'option foo
+used'>).  If we know which macro can define this variable, hint the
+user.  Return the number of undefined variables.
+
+=cut
+
+sub require_variables ($$$@)
+{
+  my ($where, $reason, $cond, @vars) = @_;
+  my $res = 0;
+  $reason .= ' but ' unless $reason eq '';
+
+ VARIABLE:
+  foreach my $var (@vars)
+    {
+      # Nothing to do if the variable exists.
+      next VARIABLE
+	if vardef ($var, $cond);
+
+      my $text = "$reason`$var' is undefined\n";
+      my $v = var $var;
+      if ($v)
+	{
+	  my $undef_cond = $v->not_always_defined_in_cond ($cond);
+	  next VARIABLE
+	    if $undef_cond->false;
+	  $text .= ("in the following conditions:\n  "
+		    . join ("\n  ", map { $_->human } $undef_cond->conds));
+	}
+
+      ++$res;
+
+      if (exists $_am_macro_for_var{$var})
+	{
+	  $text .= "\nThe usual way to define `$var' is to add "
+	    . "`$_am_macro_for_var{$var}'\nto `$configure_ac' and "
+	    . "run `aclocal' and `autoconf' again.";
+	}
+      elsif (exists $_ac_macro_for_var{$var})
+	{
+	  $text .= "\nThe usual way to define `$var' is to add "
+	    . "`$_ac_macro_for_var{$var}'\nto `$configure_ac' and "
+	    . "run `autoconf' again.";
+	}
+
+      error $where, $text, uniq_scope => US_GLOBAL;
+    }
+  return $res;
+}
+
+=item C<$count = $var->requires_variables ($reason, @variables)>
+
+Same as C<require_variables>, but a method of Automake::Variable.
+C<@variables> should be defined in the same conditions as C<$var> is
+defined.
+
+=cut
+
+sub requires_variables ($$@)
+{
+  my ($var, $reason, @args) = @_;
+  my $res = 0;
+  for my $cond ($var->conditions->conds)
+    {
+      $res += require_variables ($var->rdef ($cond)->location, $reason,
+				 $cond, @args);
+    }
+  return $res;
+}
+
+
+=item C<variable_value ($var)>
+
+Get the C<TRUE> value of a variable, warn if the variable is
+conditionally defined.  C<$var> can be either a variable name
+or a C<Automake::Variable> instance (this allows to calls sucha
+as C<$var-E<gt>variable_value>).
+
+=cut
+
+sub variable_value ($)
+{
+    my ($var) = @_;
+    my $v = ref ($var) ? $var : var ($var);
+    return () unless $v;
+    $v->check_defined_unconditionally;
+    return $v->rdef (TRUE)->value;
+}
+
+=item C<$str = output_variables>
+
+Format definitions for all variables.
+
+=cut
+
+sub output_variables ()
+{
+  my $res = '';
+  # We output variables it in the same order in which they were
+  # defined (skipping duplicates).
+  my @vars = uniq @_var_order;
+
+  # Output all the Automake variables.  If the user changed one,
+  # then it is now marked as VAR_CONFIGURE or VAR_MAKEFILE.
+  foreach my $var (@vars)
+    {
+      my $v = rvar $var;
+      foreach my $cond ($v->conditions->conds)
+	{
+	  $res .= $v->output ($cond)
+	    if $v->rdef ($cond)->owner == VAR_AUTOMAKE;
+	}
+    }
+
+  # Now dump the user variables that were defined.
+  foreach my $var (@vars)
+    {
+      my $v = rvar $var;
+      foreach my $cond ($v->conditions->conds)
+	{
+	  $res .= $v->output ($cond)
+	    if $v->rdef ($cond)->owner != VAR_AUTOMAKE;
+	}
+    }
+  return $res;
+}
+
+=item C<$var-E<gt>traverse_recursively (&fun_item, &fun_collect, [cond_filter =E<gt> $cond_filter], [inner_expand =E<gt> 1], [skip_ac_subst =E<gt> 1])>
+
+Split the value of the Automake::Variable C<$var> on space, and
+traverse its components recursively.
+
+If C<$cond_filter> is an C<Automake::Condition>, process any
+conditions which are true when C<$cond_filter> is true.  Otherwise,
+process all conditions.
+
+We distinguish two kinds of items in the content of C<$var>.
+Terms that look like C<$(foo)> or C<${foo}> are subvariables
+and cause recursion.  Other terms are assumed to be filenames.
+
+Each time a filename is encountered, C<&fun_item> is called with the
+following arguments:
+
+  ($var,        -- the Automake::Variable we are currently
+                   traversing
+   $val,        -- the item (i.e., filename) to process
+   $cond,       -- the Condition for the $var definition we are
+                   examinating (ignoring the recursion context)
+   $full_cond)  -- the full Condition, taking into account
+                   conditions inherited from parent variables
+                   during recursion
+
+If C<inner_expand> is set, variable references occuring in filename
+(as in C<$(BASE).ext>) are expansed before the filename is passed to
+C<&fun_item>.
+
+If C<skip_ac_subst> is set, Autoconf @substitutions@ will be skipped,
+i.e., C<&fun_item> will never be called for them.
+
+C<&fun_item> may return a list of items, they will be passed to
+C<&fun_store> later on.  Define C<&fun_item> or @<&fun_store> as
+C<undef> when they serve no purpose.
+
+Once all items of a variable have been processed, the result (of the
+calls to C<&fun_items>, or of recursive traversals of subvariables)
+are passed to C<&fun_collect>.  C<&fun_collect> receives three
+arguments:
+
+  ($var,         -- the variable being traversed
+   $parent_cond, -- the Condition inherited from parent
+                    variables during recursion
+   @condlist)    -- a list of [$cond, @results] pairs
+                    where each $cond appear only once, and @result
+                    are all the results for this condition.
+
+Typically you should do C<$cond->merge ($parent_cond)> to recompute
+the C<$full_cond> associated to C<@result>.  C<&fun_collect> may
+return a list of items, that will be used as the result of
+C<Automake::Variable::traverse_recursively> (the top-level, or its
+recursive calls).
+
+=cut
+
+# Contains a stack of `from' and `to' parts of variable
+# substitutions currently in force.
+my @_substfroms;
+my @_substtos;
+sub traverse_recursively ($&&;%)
+{
+  ++$_traversal;
+  @_substfroms = ();
+  @_substtos = ();
+  my ($var, $fun_item, $fun_collect, %options) = @_;
+  my $cond_filter = $options{'cond_filter'};
+  my $inner_expand = $options{'inner_expand'};
+  my $skip_ac_subst = $options{'skip_ac_subst'};
+  return $var->_do_recursive_traversal ($var,
+					$fun_item, $fun_collect,
+					$cond_filter, TRUE, $inner_expand,
+					$skip_ac_subst)
+}
+
+# The guts of Automake::Variable::traverse_recursively.
+sub _do_recursive_traversal ($$&&$$$$)
+{
+  my ($var, $parent, $fun_item, $fun_collect, $cond_filter, $parent_cond,
+      $inner_expand, $skip_ac_subst) = @_;
+
+  $var->set_seen;
+
+  if ($var->{'scanned'} == $_traversal)
+    {
+      err_var $var, "variable `" . $var->name() . "' recursively defined";
+      return ();
+    }
+  $var->{'scanned'} = $_traversal;
+
+  my @allresults = ();
+  my $cond_once = 0;
+  foreach my $cond ($var->conditions->conds)
+    {
+      if (ref $cond_filter)
+	{
+	  # Ignore conditions that don't match $cond_filter.
+	  next if ! $cond->true_when ($cond_filter);
+	  # If we found out several definitions of $var
+	  # match $cond_filter then we are in trouble.
+	  # Tell the user we don't support this.
+	  $var->check_defined_unconditionally ($parent, $parent_cond)
+	    if $cond_once;
+	  $cond_once = 1;
+	}
+      my @result = ();
+      my $full_cond = $cond->merge ($parent_cond);
+
+      my @to_process = $var->value_as_list ($cond, $parent, $parent_cond);
+      while (@to_process)
+	{
+	  my $val = shift @to_process;
+	  # If $val is a variable (i.e. ${foo} or $(bar), not a filename),
+	  # handle the sub variable recursively.
+	  # (Backslashes before `}' and `)' within brackets are here to
+	  # please Emacs's indentation.)
+	  if ($val =~ /^\$\{([^\}]*)\}$/ || $val =~ /^\$\(([^\)]*)\)$/)
+	    {
+	      my $subvarname = $1;
+
+	      # If the user uses a losing variable name, just ignore it.
+	      # This isn't ideal, but people have requested it.
+	      next if ($subvarname =~ /\@.*\@/);
+
+	      # See if the variable is actually a substitution reference
+	      my ($from, $to);
+              # This handles substitution references like ${foo:.a=.b}.
+	      if ($subvarname =~ /^([^:]*):([^=]*)=(.*)$/o)
+		{
+		  $subvarname = $1;
+		  $to = $3;
+		  $from = quotemeta $2;
+		}
+
+	      my $subvar = var ($subvarname);
+	      # Don't recurse into undefined variables.
+	      next unless $subvar;
+
+	      push @_substfroms, $from;
+	      push @_substtos, $to;
+
+	      my @res = $subvar->_do_recursive_traversal ($parent,
+							  $fun_item,
+							  $fun_collect,
+							  $cond_filter,
+							  $full_cond,
+							  $inner_expand,
+							  $skip_ac_subst);
+	      push (@result, @res);
+
+	      pop @_substfroms;
+	      pop @_substtos;
+
+	      next;
+	    }
+	  # Try to expand variable references inside filenames such as
+	  # `$(NAME).txt'.  We do not handle `:.foo=.bar'
+	  # substitutions, but it would make little sense to use this
+	  # here anyway.
+	  elsif ($inner_expand
+		 && ($val =~ /\$\{([^\}]*)\}/ || $val =~ /\$\(([^\)]*)\)/))
+	    {
+	      my $subvarname = $1;
+	      my $subvar = var $subvarname;
+	      if ($subvar)
+		{
+		  # Replace the reference by its value, and reschedule
+		  # for expansion.
+		  foreach my $c ($subvar->conditions->conds)
+		    {
+		      if (ref $cond_filter)
+			{
+			  # Ignore conditions that don't match $cond_filter.
+			  next if ! $c->true_when ($cond_filter);
+			  # If we found out several definitions of $var
+			  # match $cond_filter then we are in trouble.
+			  # Tell the user we don't support this.
+			  $subvar->check_defined_unconditionally ($var,
+								  $full_cond)
+			    if $cond_once;
+			  $cond_once = 1;
+			}
+		      my $subval = $subvar->rdef ($c)->value;
+		      $val =~ s/\$\{$subvarname\}/$subval/g;
+		      $val =~ s/\$\($subvarname\)/$subval/g;
+		      unshift @to_process, split (' ', $val);
+		    }
+		  next;
+		}
+	      # We do not know any variable with this name.  Fall through
+	      # to filename processing.
+	    }
+	  elsif ($skip_ac_subst && $val =~ /^\@.+\@$/)
+	    {
+	      next;
+	    }
+
+	  if ($fun_item) # $var is a filename we must process
+	    {
+	      my $substnum=$#_substfroms;
+	      while ($substnum >= 0)
+		{
+		  $val =~ s/$_substfroms[$substnum]$/$_substtos[$substnum]/
+		    if defined $_substfroms[$substnum];
+		  $substnum -= 1;
+		}
+
+	      # Make sure you update the doc of
+	      # Automake::Variable::traverse_recursively
+	      # if you change the prototype of &fun_item.
+	      my @transformed = &$fun_item ($var, $val, $cond, $full_cond);
+	      push (@result, @transformed);
+	    }
+	}
+      push (@allresults, [$cond, @result]) if @result;
+    }
+
+  # We only care about _recursive_ variable definitions.  The user
+  # is free to use the same variable several times in the same definition.
+  $var->{'scanned'} = -1;
+
+  return ()
+    unless $fun_collect;
+  # Make sure you update the doc of Automake::Variable::traverse_recursively
+  # if you change the prototype of &fun_collect.
+  return &$fun_collect ($var, $parent_cond, @allresults);
+}
+
+# $VARNAME
+# _gen_varname ($BASE, @DEFINITIONS)
+# ---------------------------------
+# Return a variable name starting with $BASE, that will be
+# used to store definitions @DEFINITIONS.
+# @DEFINITIONS is a list of pair [$COND, @OBJECTS].
+#
+# If we already have a $BASE-variable containing @DEFINITIONS, reuse it.
+# This way, we avoid combinatorial explosion of the generated
+# variables.  Especially, in a Makefile such as:
+#
+# | if FOO1
+# | A1=1
+# | endif
+# |
+# | if FOO2
+# | A2=2
+# | endif
+# |
+# | ...
+# |
+# | if FOON
+# | AN=N
+# | endif
+# |
+# | B=$(A1) $(A2) ... $(AN)
+# |
+# | c_SOURCES=$(B)
+# | d_SOURCES=$(B)
+#
+# The generated c_OBJECTS and d_OBJECTS will share the same variable
+# definitions.
+#
+# This setup can be the case of a testsuite containing lots (>100) of
+# small C programs, all testing the same set of source files.
+sub _gen_varname ($@)
+{
+  my $base = shift;
+  my $key = '';
+  foreach my $pair (@_)
+    {
+      my ($cond, @values) = @$pair;
+      $key .= "($cond)@values";
+    }
+
+  return $_gen_varname{$base}{$key} if exists $_gen_varname{$base}{$key};
+
+  my $num = 1 + keys (%{$_gen_varname{$base}});
+  my $name = "${base}_${num}";
+  $_gen_varname{$base}{$key} = $name;
+  return $name;
+}
+
+=item C<$resvar = transform_variable_recursively ($var, $resvar, $base, $nodefine, $where, &fun_item, [%options])>
+
+=item C<$resvar = $var-E<gt>transform_variable_recursively ($resvar, $base, $nodefine, $where, &fun_item, [%options])>
+
+Traverse C<$var> recursively, and create a C<$resvar> variable in
+which each filename in C<$var> have been transformed using
+C<&fun_item>.  (C<$var> may be a variable name in the first syntax.
+It must be an C<Automake::Variable> otherwise.)
+
+Helper variables (corresponding to sub-variables of C<$var>) are
+created as needed, using C<$base> as prefix.
+
+Arguments are:
+  $var       source variable to traverse
+  $resvar    resulting variable to define
+  $base      prefix to use when naming subvariables of $resvar
+  $nodefine  if true, traverse $var but do not define any variable
+             (this assumes &fun_item has some useful side-effect)
+  $where     context into which variable definitions are done
+  &fun_item  a transformation function -- see the documentation
+             of &fun_item in Automake::Variable::traverse_recursively.
+
+This returns the string C<"\$($RESVAR)">.
+
+C<%options> is a list of options to pass to
+C<Variable::traverse_recursively> (see this method).
+
+=cut
+
+sub transform_variable_recursively ($$$$$&;%)
+{
+  my ($var, $resvar, $base, $nodefine, $where, $fun_item, %options) = @_;
+
+  $var = ref $var ? $var : rvar $var;
+
+  my $res = $var->traverse_recursively
+    ($fun_item,
+     # The code that define the variable holding the result
+     # of the recursive transformation of a subvariable.
+     sub {
+       my ($subvar, $parent_cond, @allresults) = @_;
+       # Find a name for the variable, unless this is the top-variable
+       # for which we want to use $resvar.
+       my $varname =
+	 ($var != $subvar) ? _gen_varname ($base, @allresults) : $resvar;
+       # Define the variable if required.
+       unless ($nodefine)
+	 {
+	   # If the new variable is the source variable, we assume
+	   # we are trying to override a user variable.  Delete
+	   # the old variable first.
+	   variable_delete ($varname) if $varname eq $var->name;
+	   # Define an empty variable in condition TRUE if there is no
+	   # result.
+	   @allresults = ([TRUE, '']) unless @allresults;
+	   # Define the rewritten variable in all conditions not
+	   # already covered by user definitions.
+	   foreach my $pair (@allresults)
+	     {
+	       my ($cond, @result) = @$pair;
+	       my $var = var $varname;
+	       my @conds = ($var
+			    ? $var->not_always_defined_in_cond ($cond)->conds
+			    : $cond);
+
+	       foreach (@conds)
+		 {
+		   define ($varname, VAR_AUTOMAKE, '', $_, "@result",
+			   '', $where, VAR_PRETTY);
+		 }
+	     }
+	   set_seen $varname;
+	 }
+       return "\$($varname)";
+     },
+     %options);
+  return $res;
+}
+
+
+=back
+
+=head1 SEE ALSO
+
+L<Automake::VarDef>, L<Automake::Condition>,
+L<Automake::DisjConditions>, L<Automake::Location>.
+
+=cut
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Version.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Version.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Version.pm	(revision 3089)
@@ -0,0 +1,159 @@
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Version;
+use strict;
+use Automake::ChannelDefs;
+
+=head1 NAME
+
+Automake::Version - version comparison
+
+=head1 SYNOPSIS
+
+  use Automake::Version;
+
+  print "Version $version is older than required version $required\n"
+    if Automake::Version::check ($version, $required);
+
+=head1 DESCRIPTION
+
+This module provides support for comparing versions string
+as they are used in Automake.
+
+A version is a string that looks like
+C<MAJOR.MINOR[.MICRO][ALPHA][-FORK]> where C<MAJOR>, C<MINOR>, and
+C<MICRO> are digits, C<ALPHA> is a character, and C<FORK> any
+alphanumeric word.
+
+Usually, C<ALPHA> is used to label alpha releases or intermediate
+snapshots, C<FORK> is used for CVS branches or patched releases, and
+C<MICRO> is used for bug fixes releases on the C<MAJOR.MINOR> branch.
+
+For the purpose of ordering, C<1.4> is the same as C<1.4.0>, but
+C<1.4g> is the same as C<1.4.99g>.  The C<FORK> identifier is ignored
+in the ordering, except when it looks like C<-pMINOR[ALPHA]>: some
+versions were labeled like C<1.4-p3a>, this is the same as an alpha
+release labeled C<1.4.3a>.  Yes, it's horrible, but Automake did not
+support two-dot versions in the past.
+
+=head2 FUNCTIONS
+
+=over 4
+
+=item C<split ($version)>
+
+Split the string C<$version> into the corresponding C<(MAJOR, MINOR,
+MICRO, ALPHA, FORK)> tuple.  For instance C<'1.4g'> would be split
+into C<(1, 4, 99, 'g', '')>.  Return C<()> on error.
+
+=cut
+
+sub split ($)
+{
+  my ($ver) = @_;
+
+  # Special case for versions like 1.4-p2a.
+  if ($ver =~ /^(\d+)\.(\d+)(?:-p(\d+)([a-z]+)?)$/)
+  {
+    return ($1, $2, $3, $4 || '', '');
+  }
+  # Common case.
+  elsif ($ver =~ /^(\d+)\.(\d+)(?:\.(\d+))?([a-z])?(?:-([A-Za-z0-9]+))?$/)
+  {
+    return ($1, $2, $3 || (defined $4 ? 99 : 0), $4 || '', $5 || '');
+  }
+  return ();
+}
+
+=item C<compare (\@LVERSION, \@RVERSION)>
+
+Compare two version tuples, as returned by C<split>.
+
+Return 1, 0, or -1, if C<LVERSION> is found to be respectively
+greater than, equal to, or less than C<RVERSION>.
+
+=cut
+
+sub compare (\@\@)
+{
+  my @l = @{$_[0]};
+  my @r = @{$_[1]};
+
+  for my $i (0, 1, 2)
+  {
+    return 1  if ($l[$i] > $r[$i]);
+    return -1 if ($l[$i] < $r[$i]);
+  }
+  for my $i (3, 4)
+  {
+    return 1  if ($l[$i] gt $r[$i]);
+    return -1 if ($l[$i] lt $r[$i]);
+  }
+  return 0;
+}
+
+=item C<check($VERSION, $REQUIRED)>
+
+Handles the logic of requiring a version number in Automake.
+C<$VERSION> should be Automake's version, while C<$REQUIRED>
+is the version required by the user input.
+
+Return 0 if the required version is satisfied, 1 otherwise.
+
+=cut
+
+sub check ($$)
+{
+  my ($version, $required) = @_;
+  my @version = Automake::Version::split ($version);
+  my @required = Automake::Version::split ($required);
+
+  prog_error "version is incorrect: $version"
+    if $#version == -1;
+
+  # This should not happen, because process_option_list and split_version
+  # use similar regexes.
+  prog_error "required version is incorrect: $required"
+    if $#required == -1;
+
+  # If we require 3.4n-foo then we require something
+  # >= 3.4n, with the `foo' fork identifier.
+  return 1
+    if ($required[4] ne '' && $required[4] ne $version[4]);
+
+  return 0 > compare (@version, @required);
+}
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Wrap.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Wrap.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/Wrap.pm	(revision 3089)
@@ -0,0 +1,167 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+package Automake::Wrap;
+
+use strict;
+
+require Exporter;
+use vars '@ISA', '@EXPORT_OK';
+@ISA = qw/Exporter/;
+@EXPORT_OK = qw/wrap makefile_wrap/;
+
+=head1 NAME
+
+Automake::Wrap - a paragraph formater
+
+=head1 SYNOPSIS
+
+  use Automake::Wrap 'wrap', 'makefile_wrap';
+
+  print wrap ($first_ident, $next_ident, $end_of_line, $max_length,
+              @values);
+
+  print makefile_wrap ("VARIABLE = ", "    ", @values);
+
+=head1 DESCRIPTION
+
+This modules provide facility to format list of strings.  It is
+comparable to Perl's L<Text::Wrap>, however we can't use L<Text::Wrap>
+because some versions will abort when some word to print exceed the
+maximum length allowed.  (Ticket #17141, fixed in Perl 5.8.0.)
+
+=head2 Functions
+
+=over 4
+
+=cut
+
+# tab_length ($TXT)
+# -----------------
+# Compute the length of TXT, counting tab characters as 8 characters.
+sub tab_length($)
+{
+  my ($txt) = @_;
+  my $len = length ($txt);
+  $len += 7 * ($txt =~ tr/\t/\t/d);
+  return $len;
+}
+
+=item C<wrap ($head, $fill, $eol, $max_len, @values)>
+
+Format C<@values> as a block of text that starts with C<$head>,
+followed by the strings in C<@values> separated by spaces or by
+C<"$eol\n$fill"> so that the lenght of each line never exceed
+C<$max_len>.
+
+The C<$max_len> contraint is ignored for C<@values> items which
+are too big to fit alone one a line.
+
+The constructed paragraph is C<"\n">-terminated.
+
+=cut
+
+sub wrap($$$$@)
+{
+  my ($head, $fill, $eol, $max_len, @values) = @_;
+
+  my $result = $head;
+  my $column = tab_length ($head);
+
+  my $fill_len = tab_length ($fill);
+  my $eol_len = tab_length ($eol);
+
+  my $not_first_word = 0;
+
+  foreach (@values)
+    {
+      my $len = tab_length ($_);
+
+      # See if the new variable fits on this line.
+      # (The + 1 is for the space we add in front of the value.).
+      if ($column + $len + $eol_len + 1 > $max_len
+	  # Do not break before the first word if it does not fit on
+	  # the next line anyway.
+	  && ($not_first_word || $fill_len + $len + $eol_len + 1 <= $max_len))
+	{
+	  # Start a new line.
+	  $result .= "$eol\n" . $fill;
+	  $column = $fill_len;
+	}
+      elsif ($not_first_word)
+	{
+	  # Add a space only if result does not already end
+	  # with a space.
+	  $_ = " $_" if $result =~ /\S\z/;
+	  ++$len;
+	}
+      $result .= $_;
+      $column += $len;
+      $not_first_word = 1;
+    }
+
+  $result .= "\n";
+  return $result;
+}
+
+
+=item C<makefile_wrap ($head, $fill, @values)>
+
+Format C<@values> in a way which is suitable for F<Makefile>s.
+This is comparable to C<wrap>, except C<$eol> is known to
+be C<" \\">, and the maximum length has been hardcoded to C<72>.
+
+A space is appended to C<$head> when this is not already
+the case.
+
+This can be used to format variable definitions or dependency lines.
+
+  makefile_wrap ('VARIABLE =', "\t", @values);
+  makefile_wrap ('rule:', "\t", @dependencies);
+
+=cut
+
+sub makefile_wrap ($$@)
+{
+  my ($head, $fill, @values) = @_;
+  if (@values)
+    {
+      $head .= ' ' if $head =~ /\S\z/;
+      return wrap $head, $fill, " \\", 72, @values;
+    }
+  return "$head\n";
+}
+
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/XFile.pm
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/XFile.pm	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/XFile.pm	(revision 3089)
@@ -0,0 +1,284 @@
+# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Written by Akim Demaille <akim@freefriends.org>.
+
+###############################################################
+# The main copy of this file is in Automake's CVS repository. #
+# Updates should be sent to automake-patches@gnu.org.         #
+###############################################################
+
+package Automake::XFile;
+
+=head1 NAME
+
+Automake::XFile - supply object methods for filehandles with error handling
+
+=head1 SYNOPSIS
+
+    use Automake::XFile;
+
+    $fh = new Automake::XFile;
+    $fh->open ("< file");
+    # No need to check $FH: we died if open failed.
+    print <$fh>;
+    $fh->close;
+    # No need to check the return value of close: we died if it failed.
+
+    $fh = new Automake::XFile "> file";
+    # No need to check $FH: we died if new failed.
+    print $fh "bar\n";
+    $fh->close;
+
+    $fh = new Automake::XFile "file", "r";
+    # No need to check $FH: we died if new failed.
+    defined $fh
+    print <$fh>;
+    undef $fh;   # automatically closes the file and checks for errors.
+
+    $fh = new Automake::XFile "file", O_WRONLY | O_APPEND;
+    # No need to check $FH: we died if new failed.
+    print $fh "corge\n";
+
+    $pos = $fh->getpos;
+    $fh->setpos ($pos);
+
+    undef $fh;   # automatically closes the file and checks for errors.
+
+    autoflush STDOUT 1;
+
+=head1 DESCRIPTION
+
+C<Automake::XFile> inherits from C<IO::File>.  It provides the method
+C<name> returning the file name.  It provides dying version of the
+methods C<close>, C<lock> (corresponding to C<flock>), C<new>,
+C<open>, C<seek>, and C<trunctate>.  It also overrides the C<getline>
+and C<getlines> methods to translate C<\r\n> to C<\n>.
+
+=head1 SEE ALSO
+
+L<perlfunc>,
+L<perlop/"I/O Operators">,
+L<IO::File>
+L<IO::Handle>
+L<IO::Seekable>
+
+=head1 HISTORY
+
+Derived from IO::File.pm by Akim Demaille E<lt>F<akim@freefriends.org>E<gt>.
+
+=cut
+
+require 5.000;
+use strict;
+use vars qw($VERSION @EXPORT @EXPORT_OK $AUTOLOAD @ISA);
+use Carp;
+use Errno;
+use IO::File;
+use File::Basename;
+use Automake::ChannelDefs;
+use Automake::FileUtils;
+
+require Exporter;
+require DynaLoader;
+
+@ISA = qw(IO::File Exporter DynaLoader);
+
+$VERSION = "1.2";
+
+@EXPORT = @IO::File::EXPORT;
+
+eval {
+  # Make all Fcntl O_XXX and LOCK_XXX constants available for importing
+  require Fcntl;
+  my @O = grep /^(LOCK|O)_/, @Fcntl::EXPORT, @Fcntl::EXPORT_OK;
+  Fcntl->import (@O);  # first we import what we want to export
+  push (@EXPORT, @O);
+};
+
+# Used in croak error messages.
+my $me = basename ($0);
+
+################################################
+## Constructor
+##
+
+sub new
+{
+  my $type = shift;
+  my $class = ref $type || $type || "Automake::XFile";
+  my $fh = $class->SUPER::new ();
+  if (@_)
+    {
+      $fh->open (@_);
+    }
+  $fh;
+}
+
+################################################
+## Open
+##
+
+sub open
+{
+  my $fh = shift;
+  my ($file) = @_;
+
+  # WARNING: Gross hack: $FH is a typeglob: use its hash slot to store
+  # the `name' of the file we are opening.  See the example with
+  # io_socket_timeout in IO::Socket for more, and read Graham's
+  # comment in IO::Handle.
+  ${*$fh}{'autom4te_xfile_file'} = "$file";
+
+  if (!$fh->SUPER::open (@_))
+    {
+      fatal "cannot open $file: $!";
+    }
+
+  # In case we're running under MSWindows, don't write with CRLF.
+  # (This circumvents a bug in at least Cygwin bash where the shell
+  # parsing fails on lines ending with the continuation character '\'
+  # and CRLF).
+  binmode $fh if $file =~ /^\s*>/;
+}
+
+################################################
+## Close
+##
+
+sub close
+{
+  my $fh = shift;
+  if (!$fh->SUPER::close (@_))
+    {
+      my $file = $fh->name;
+      Automake::FileUtils::handle_exec_errors $file
+	unless $!;
+      fatal "cannot close $file: $!";
+    }
+}
+
+################################################
+## Getline
+##
+
+# Some Win32/perl installations fail to translate \r\n to \n on input
+# so we do that here.
+sub getline
+{
+  local $_ = $_[0]->SUPER::getline;
+  # Perform a _global_ replacement: $_ may can contains many lines
+  # in slurp mode ($/ = undef).
+  s/\015\012/\n/gs if defined $_;
+  return $_;
+}
+
+################################################
+## Getlines
+##
+
+sub getlines
+{
+  my @res = ();
+  my $line;
+  push @res, $line while $line = $_[0]->getline;
+  return @res;
+}
+
+################################################
+## Name
+##
+
+sub name
+{
+  my $fh = shift;
+  return ${*$fh}{'autom4te_xfile_file'};
+}
+
+################################################
+## Lock
+##
+
+sub lock
+{
+  my ($fh, $mode) = @_;
+  # Cannot use @_ here.
+
+  # On some systems (e.g. GNU/Linux with NFSv2), flock(2) does not work over
+  # NFS, but Perl prefers that over fcntl(2) if it exists and if
+  # perl was not built with -Ud_flock.  Normally, this problem is harmless,
+  # so ignore the ENOLCK errors that are reported in that situation,
+  # However, if the invoker is using "make -j", the problem is not harmless,
+  # so report it in that case, by inspecting MAKEFLAGS and looking for
+  # any arguments indicating that the invoker used -j.
+  # Admittedly this is a bit of a hack.
+  if (!flock ($fh, $mode)
+      && (!$!{ENOLCK}
+	  || " -$ENV{'MAKEFLAGS'}" =~ / (-[BdeikrRsSw]*j|---?jobs)/))
+    {
+      my $file = $fh->name;
+      fatal "cannot lock $file with mode $mode (perhaps you are running make -j on a lame NFS client?): $!";
+    }
+}
+
+################################################
+## Seek
+##
+
+sub seek
+{
+  my $fh = shift;
+  # Cannot use @_ here.
+  if (!seek ($fh, $_[0], $_[1]))
+    {
+      my $file = $fh->name;
+      fatal "$me: cannot rewind $file with @_: $!";
+    }
+}
+
+################################################
+## Truncate
+##
+
+sub truncate
+{
+  my ($fh, $len) = @_;
+  if (!truncate ($fh, $len))
+    {
+      my $file = $fh->name;
+      fatal "cannot truncate $file at $len: $!";
+    }
+}
+
+1;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Condition.pl
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Condition.pl	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Condition.pl	(revision 3089)
@@ -0,0 +1,262 @@
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with autoconf; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+use Automake::Condition qw/TRUE FALSE/;
+
+sub test_basics ()
+{
+  my @tests = (# [[Conditions], is_true?, is_false?, string, subst-string]
+	       [[], 1, 0, 'TRUE', ''],
+	       [['TRUE'], 1, 0, 'TRUE', ''],
+	       [['FALSE'], 0, 1, 'FALSE', '#'],
+	       [['A_TRUE'], 0, 0, 'A_TRUE', '@A_TRUE@'],
+	       [['A_TRUE', 'B_FALSE'],
+		0, 0, 'A_TRUE B_FALSE', '@A_TRUE@@B_FALSE@'],
+	       [['B_TRUE', 'FALSE'], 0, 1, 'FALSE', '#'],
+	       [['B_TRUE', 'B_FALSE'], 0, 1, 'FALSE', '#']);
+
+  for (@tests)
+    {
+      my $a = new Automake::Condition @{$_->[0]};
+      return 1 if $_->[1] != $a->true;
+      return 1 if $_->[1] != ($a == TRUE);
+      return 1 if $_->[2] != $a->false;
+      return 1 if $_->[2] != ($a == FALSE);
+      return 1 if $_->[3] ne $a->string;
+      return 1 if $_->[4] ne $a->subst_string;
+    }
+  return 0;
+}
+
+sub test_true_when ()
+{
+  my $failed = 0;
+
+  my @tests = (# [When,
+	       #  [Implied-Conditions],
+	       #  [Not-Implied-Conditions]]
+	       [['TRUE'],
+		[['TRUE']],
+		[['A_TRUE'], ['A_TRUE', 'B_FALSE'], ['FALSE']]],
+	       [['A_TRUE'],
+		[['TRUE'], ['A_TRUE']],
+		[['A_TRUE', 'B_FALSE'], ['FALSE']]],
+	       [['A_TRUE', 'B_FALSE'],
+		[['TRUE'], ['A_TRUE'], ['B_FALSE'], ['A_TRUE', 'B_FALSE']],
+		[['FALSE'], ['C_FALSE'], ['C_FALSE', 'A_TRUE']]]);
+
+  for my $t (@tests)
+    {
+      my $a = new Automake::Condition @{$t->[0]};
+      for my $u (@{$t->[1]})
+	{
+	  my $b = new Automake::Condition @$u;
+	  if (! $b->true_when ($a))
+	    {
+	      print "`" . $b->string .
+		"' not implied by `" . $a->string . "'?\n";
+	      $failed = 1;
+	    }
+	}
+      for my $u (@{$t->[2]})
+	{
+	  my $b = new Automake::Condition @$u;
+	  if ($b->true_when ($a))
+	    {
+	      print "`" . $b->string .
+		"' implied by `" . $a->string . "'?\n";
+	      $failed = 1;
+	    }
+
+	  return 1 if $b->true_when ($a);
+	}
+    }
+  return $failed;
+}
+
+sub test_reduce_and ()
+{
+  my @tests = (# If no conditions are given, TRUE should be returned
+	       [[], ["TRUE"]],
+	       # An empty condition is TRUE
+	       [[""], ["TRUE"]],
+	       # A single condition should be passed through unchanged
+	       [["FOO"], ["FOO"]],
+	       [["FALSE"], ["FALSE"]],
+	       [["TRUE"], ["TRUE"]],
+	       # TRUE and false should be discarded and overwhelm
+	       # the result, respectively
+	       [["FOO", "TRUE"], ["FOO"]],
+	       [["FOO", "FALSE"], ["FALSE"]],
+	       # Repetitions should be removed
+	       [["FOO", "FOO"], ["FOO"]],
+	       [["TRUE", "FOO", "FOO"], ["FOO"]],
+	       [["FOO", "TRUE", "FOO"], ["FOO"]],
+	       [["FOO", "FOO", "TRUE"], ["FOO"]],
+	       # Two different conditions should be preserved,
+	       # but TRUEs should be removed
+	       [["FOO", "BAR"], ["BAR,FOO"]],
+	       [["TRUE", "FOO", "BAR"], ["BAR,FOO"]],
+	       [["FOO", "TRUE", "BAR"], ["BAR,FOO"]],
+	       [["FOO", "BAR", "TRUE"], ["BAR,FOO"]],
+	       # A condition implied by another condition should be removed.
+	       [["FOO BAR", "BAR"], ["FOO BAR"]],
+	       [["BAR", "FOO BAR"], ["FOO BAR"]],
+	       [["TRUE", "FOO BAR", "BAR"], ["FOO BAR"]],
+	       [["FOO BAR", "TRUE", "BAR"], ["FOO BAR"]],
+	       [["FOO BAR", "BAR", "TRUE"], ["FOO BAR"]],
+
+	       [["BAR FOO", "BAR"], ["BAR FOO"]],
+	       [["BAR", "BAR FOO"], ["BAR FOO"]],
+	       [["TRUE", "BAR FOO", "BAR"], ["BAR FOO"]],
+	       [["BAR FOO", "TRUE", "BAR"], ["BAR FOO"]],
+	       [["BAR FOO", "BAR", "TRUE"], ["BAR FOO"]],
+
+	       # Check that reduction happens even when there are
+	       # two conditions to remove.
+	       [["FOO", "FOO BAR", "BAR"], ["FOO BAR"]],
+	       [["FOO", "FOO BAR", "BAZ", "FOO BAZ"], ["FOO BAR", "FOO BAZ"]],
+	       [["FOO", "FOO BAR", "BAZ", "FOO BAZ", "FOO BAZ BAR"],
+		["FOO BAZ BAR"]],
+
+	       # Duplicated conditionals should be removed.
+	       [["FOO", "BAR", "BAR"], ["BAR,FOO"]],
+
+	       # Equivalent conditions in different forms should be
+	       # reduced: which one is left is unfortunately order
+	       # dependent.
+	       [["BAR FOO", "FOO BAR"], ["FOO BAR"]],
+	       [["FOO BAR", "BAR FOO"], ["BAR FOO"]]);
+
+  my $failed = 0;
+  foreach (@tests)
+    {
+      my ($inref, $outref) = @$_;
+      my @inconds = map { new Automake::Condition $_ } @$inref;
+      my @outconds = map { (new Automake::Condition $_)->string } @$outref;
+      my @res =
+	map { $_->string } (Automake::Condition::reduce_and (@inconds));
+      my $result = join (",", sort @res);
+      my $exresult = join (",", @outconds);
+
+      if ($result ne $exresult)
+	{
+	  print '"' . join(",", @$inref) . '" => "' .
+	    $result . '" expected "' .
+	      $exresult . '"' . "\n";
+	  $failed = 1;
+	}
+    }
+  return $failed;
+}
+
+sub test_reduce_or ()
+{
+  my @tests = (# If no conditions are given, FALSE should be returned
+	       [[], ["FALSE"]],
+	       # An empty condition is TRUE
+	       [[""], ["TRUE"]],
+	       # A single condition should be passed through unchanged
+	       [["FOO"], ["FOO"]],
+	       [["FALSE"], ["FALSE"]],
+	       [["TRUE"], ["TRUE"]],
+	       # FALSE and TRUE should be discarded and overwhelm
+	       # the result, respectively
+	       [["FOO", "TRUE"], ["TRUE"]],
+	       [["FOO", "FALSE"], ["FOO"]],
+	       # Repetitions should be removed
+	       [["FOO", "FOO"], ["FOO"]],
+	       [["FALSE", "FOO", "FOO"], ["FOO"]],
+	       [["FOO", "FALSE", "FOO"], ["FOO"]],
+	       [["FOO", "FOO", "FALSE"], ["FOO"]],
+	       # Two different conditions should be preserved,
+	       # but FALSEs should be removed
+	       [["FOO", "BAR"], ["BAR,FOO"]],
+	       [["FALSE", "FOO", "BAR"], ["BAR,FOO"]],
+	       [["FOO", "FALSE", "BAR"], ["BAR,FOO"]],
+	       [["FOO", "BAR", "FALSE"], ["BAR,FOO"]],
+	       # A condition implying another condition should be removed.
+	       [["FOO BAR", "BAR"], ["BAR"]],
+	       [["BAR", "FOO BAR"], ["BAR"]],
+	       [["FALSE", "FOO BAR", "BAR"], ["BAR"]],
+	       [["FOO BAR", "FALSE", "BAR"], ["BAR"]],
+	       [["FOO BAR", "BAR", "FALSE"], ["BAR"]],
+
+	       [["BAR FOO", "BAR"], ["BAR"]],
+	       [["BAR", "BAR FOO"], ["BAR"]],
+	       [["FALSE", "BAR FOO", "BAR"], ["BAR"]],
+	       [["BAR FOO", "FALSE", "BAR"], ["BAR"]],
+	       [["BAR FOO", "BAR", "FALSE"], ["BAR"]],
+
+	       # Check that reduction happens even when there are
+	       # two conditions to remove.
+	       [["FOO", "FOO BAR", "BAR"], ["BAR,FOO"]],
+	       [["FOO", "FOO BAR", "BAZ", "FOO BAZ"], ["BAZ,FOO"]],
+	       [["FOO", "FOO BAR", "BAZ", "FOO BAZ", "FOO BAZ BAR"],
+		["BAZ,FOO"]],
+
+	       # Duplicated conditionals should be removed.
+	       [["FOO", "BAR", "BAR"], ["BAR,FOO"]],
+
+	       # Equivalent conditions in different forms should be
+	       # reduced: which one is left is unfortunately order
+	       # dependent.
+	       [["BAR FOO", "FOO BAR"], ["FOO BAR"]],
+	       [["FOO BAR", "BAR FOO"], ["BAR FOO"]]);
+
+  my $failed = 0;
+  foreach (@tests)
+    {
+      my ($inref, $outref) = @$_;
+      my @inconds = map { new Automake::Condition $_ } @$inref;
+      my @outconds = map { (new Automake::Condition $_)->string } @$outref;
+      my @res =
+	map { $_->string } (Automake::Condition::reduce_or (@inconds));
+      my $result = join (",", sort @res);
+      my $exresult = join (",", @outconds);
+
+      if ($result ne $exresult)
+	{
+	  print '"' . join(",", @$inref) . '" => "' .
+	    $result . '" expected "' .
+	      $exresult . '"' . "\n";
+	  $failed = 1;
+	}
+    }
+  return $failed;
+}
+
+exit (test_basics || test_true_when || test_reduce_and || test_reduce_or);
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/DisjConditions.pl
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/DisjConditions.pl	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/DisjConditions.pl	(revision 3089)
@@ -0,0 +1,385 @@
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with autoconf; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+use Automake::Condition qw/TRUE FALSE/;
+use Automake::DisjConditions;
+
+sub test_basics ()
+{
+  my $cond = new Automake::Condition "COND1_TRUE", "COND2_FALSE";
+  my $other = new Automake::Condition "COND3_FALSE";
+  my $set1 = new Automake::DisjConditions $cond, $other;
+  my $set2 = new Automake::DisjConditions $other, $cond;
+  return 1 unless $set1 == $set2;
+  return 1 if $set1->false;
+  return 1 if $set1->true;
+  return 1 unless (new Automake::DisjConditions)->false;
+  return 1 if (new Automake::DisjConditions)->true;
+}
+
+sub build_set (@)
+{
+  my @conds = @_;
+  my @set = ();
+  for my $cond (@conds)
+    {
+      push @set, new Automake::Condition @$cond;
+    }
+  return new Automake::DisjConditions @set;
+}
+
+sub test_invert ()
+{
+  my @tests = ([[["FALSE"]],
+	        [["TRUE"]]],
+
+	       [[["TRUE"]],
+	        [["FALSE"]]],
+
+	       [[["COND1_TRUE", "COND2_TRUE"],
+		 ["COND3_FALSE", "COND2_TRUE"]],
+		[["COND2_FALSE"],
+		 ["COND1_FALSE", "COND3_TRUE"]]],
+
+	       [[["COND1_TRUE", "COND2_TRUE"],
+		 ["TRUE"]],
+		[["FALSE"]]],
+
+	       [[["COND1_TRUE", "COND2_TRUE"],
+		 ["FALSE"]],
+		[["COND1_FALSE"],
+		 ["COND2_FALSE"]]],
+
+	       [[["COND1_TRUE"],
+		 ["COND2_FALSE"]],
+		[["COND1_FALSE", "COND2_TRUE"]]]
+	       );
+
+  for my $t (@tests)
+    {
+      my $set = build_set @{$t->[0]};
+      my $res = build_set @{$t->[1]};
+      my $inv = $set->invert;
+      if ($inv != $res)
+	{
+	  print " (I) " . $set->string . "\n\t"
+	    . $inv->string . ' != ' . $res->string . "\n";
+	  return 1;
+	}
+    }
+  return 0;
+}
+
+sub test_simplify ()
+{
+  my @tests = ([[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"]],
+		[["FOO_TRUE", "BAR_FALSE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		 ["FOO_TRUE", "BAR_TRUE"]],
+		[["FOO_TRUE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		 ["FOO_TRUE", "BAR_TRUE"],
+		 ["FOO_FALSE"]],
+		[["TRUE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		             ["BAR_TRUE",  "BAZ_TRUE"],
+		             ["BAR_FALSE", "BAZ_TRUE"]],
+		[["BAZ_TRUE"], ["FOO_TRUE", "BAR_FALSE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		             ["BAR_TRUE",  "BAZ_TRUE"],
+		             ["BAR_FALSE", "BAZ_TRUE"],
+		 ["FOO_FALSE"]],
+		[["FOO_FALSE"], ["BAZ_TRUE"], ["BAR_FALSE"]]],
+
+	       [[["B_TRUE"],
+		 ["A_FALSE", "B_TRUE"]],
+		[["B_TRUE"]]],
+
+	       [[["B_TRUE"],
+		 ["A_FALSE", "B_FALSE", "C_TRUE"],
+		 ["A_FALSE", "B_FALSE", "C_FALSE"]],
+		[["A_FALSE"], ["B_TRUE"]]],
+
+	       [[["B_TRUE"],
+		 ["A_FALSE", "B_FALSE", "C_TRUE"],
+		 ["A_FALSE", "B_FALSE", "C_FALSE"],
+		 ["A_TRUE", "B_FALSE"]],
+		[["TRUE"]]],
+
+	       [[["A_TRUE", "B_TRUE"],
+		 ["A_TRUE", "B_FALSE"],
+		 ["A_TRUE", "C_FALSE", "D_FALSE"]],
+		[["A_TRUE"]]],
+
+	       [[["A_FALSE", "B_FALSE", "C_FALSE", "D_TRUE",  "E_FALSE"],
+		 ["A_FALSE", "B_FALSE", "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		 ["A_FALSE", "B_TRUE",  "C_TRUE",  "D_FALSE", "E_TRUE"],
+		 ["A_FALSE", "B_TRUE",  "C_FALSE", "D_FALSE", "E_FALSE"],
+		 ["A_TRUE",  "B_TRUE",  "C_FALSE", "D_FALSE", "E_FALSE"],
+		 ["A_TRUE",  "B_TRUE",  "C_TRUE",  "D_FALSE", "E_TRUE"],
+		 ["A_TRUE",  "B_FALSE", "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		 ["A_TRUE",  "B_FALSE", "C_FALSE", "D_TRUE",  "E_FALSE"]],
+		[           ["B_FALSE", "C_FALSE", "D_TRUE",  "E_FALSE"],
+		            ["B_FALSE", "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		            ["B_TRUE",  "C_TRUE",  "D_FALSE", "E_TRUE"],
+		            ["B_TRUE",  "C_FALSE", "D_FALSE", "E_FALSE"]]],
+
+	       [[["A_FALSE", "B_FALSE", "C_FALSE", "D_TRUE",  "E_FALSE"],
+		 ["A_FALSE", "B_FALSE", "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		 ["A_FALSE", "B_TRUE",  "C_TRUE",  "D_FALSE", "E_TRUE"],
+		 ["A_FALSE", "B_TRUE",  "C_FALSE", "D_FALSE", "E_FALSE"],
+		 ["A_TRUE",  "B_TRUE",  "C_FALSE", "D_FALSE", "E_FALSE"],
+		 ["A_TRUE",  "B_TRUE",  "C_TRUE",  "D_FALSE", "E_TRUE"],
+		 ["A_TRUE",  "B_FALSE", "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		 ["A_TRUE",  "B_FALSE", "C_FALSE", "D_TRUE",  "E_FALSE"],
+		 ["A_FALSE", "B_FALSE", "C_FALSE", "D_FALSE", "E_FALSE"],
+		 ["A_FALSE", "B_FALSE", "C_TRUE",  "D_FALSE", "E_TRUE"],
+		 ["A_FALSE", "B_TRUE",  "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		 ["A_FALSE", "B_TRUE",  "C_FALSE", "D_TRUE",  "E_FALSE"],
+		 ["A_TRUE",  "B_TRUE",  "C_FALSE", "D_TRUE",  "E_FALSE"],
+		 ["A_TRUE",  "B_TRUE",  "C_TRUE",  "D_TRUE",  "E_TRUE"],
+		 ["A_TRUE",  "B_FALSE", "C_TRUE",  "D_FALSE", "E_TRUE"],
+		 ["A_TRUE",  "B_FALSE", "C_FALSE", "D_FALSE", "E_FALSE"]],
+		[["C_FALSE", "E_FALSE"],
+		 ["C_TRUE", "E_TRUE"]]],
+
+	       [[["A_FALSE"],
+		 ["A_TRUE", "B_FALSE"],
+		 ["A_TRUE", "B_TRUE", "C_FALSE"],
+		 ["A_TRUE", "B_TRUE", "C_TRUE", "D_FALSE"],
+		 ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_FALSE"],
+		 ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_TRUE", "F_FALSE"],
+		 ["A_TRUE", "B_TRUE", "C_TRUE", "D_TRUE", "E_TRUE"]],
+		[["TRUE"]]],
+
+	       # Simplify should work with up to 31 variables.
+	       [[["V01_TRUE", "V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
+		  "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
+		  "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
+		  "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
+		  "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
+		  "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
+		  "V31_TRUE"],
+		 ["V01_TRUE", "V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
+		  "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
+		  "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
+		  "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
+		  "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
+		  "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
+		  "V31_FALSE"],
+		 ["V01_FALSE","V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
+		  "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
+		  "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
+		  "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
+		  "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
+		  "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
+		  "V31_TRUE"],
+		 ["V01_FALSE","V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
+		  "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
+		  "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
+		  "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
+		  "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
+		  "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE",
+		  "V31_FALSE"]],
+		[[            "V02_TRUE", "V03_TRUE", "V04_TRUE", "V05_TRUE",
+		  "V06_TRUE", "V07_TRUE", "V08_TRUE", "V09_TRUE", "V10_TRUE",
+		  "V11_TRUE", "V12_TRUE", "V13_TRUE", "V14_TRUE", "V15_TRUE",
+		  "V16_TRUE", "V17_TRUE", "V18_TRUE", "V19_TRUE", "V20_TRUE",
+		  "V21_TRUE", "V22_TRUE", "V23_TRUE", "V24_TRUE", "V25_TRUE",
+		  "V26_TRUE", "V27_TRUE", "V28_TRUE", "V29_TRUE", "V30_TRUE"
+		  ]]]);
+
+  for my $t (@tests)
+    {
+      my $set = build_set @{$t->[0]};
+      my $res = build_set @{$t->[1]};
+
+      # Make sure simplify() yields the expected result.
+      my $sim = $set->simplify;
+      if ($sim != $res)
+	{
+	  print " (S1) " . $set->string . "\n\t"
+	    . $sim->string . ' != ' . $res->string . "\n";
+	  return 1;
+	}
+
+      # Make sure simplify() is idempotent.
+      my $sim2 = $sim->simplify;
+      if ($sim2 != $sim)
+	{
+	  print " (S2) " . $sim->string . "\n\t"
+	    . $sim2->string . ' != ' . $sim->string . "\n";
+	  return 1;
+	}
+
+      # Also exercize invert() while we are at it.
+
+      my $inv1 = $set->invert->simplify;
+      my $inv2 = $sim->invert->simplify;
+      if ($inv1 != $inv2)
+	{
+	  print " (S3) " . $set->string . ", " . $sim->string . "\n\t"
+	    . $inv1->string . ' != ' . $inv2->string . "\n";
+	  return 1;
+	}
+    }
+
+  return 0;
+}
+
+sub test_sub_conditions ()
+{
+  my @tests = ([[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		 ["FOO_FALSE"]],
+		["FOO_TRUE"],
+		[["BAR_FALSE", "BAZ_FALSE"],
+		 ["BAR_FALSE", "BAZ_TRUE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		 ["FOO_FALSE"]],
+		["FOO_TRUE", "BAR_FALSE"],
+		[["BAZ_FALSE"],
+		 ["BAZ_TRUE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAR_FALSE", "BAZ_TRUE"],
+		 ["FOO_FALSE"]],
+		["FOO_TRUE", "BAR_TRUE"],
+		[["FALSE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE", "BAZ_FALSE"],
+		 ["FOO_TRUE", "BAZ_TRUE"],
+		 ["FOO_FALSE"]],
+		["FOO_TRUE", "BAR_TRUE"],
+		[["BAZ_TRUE"]]],
+
+	       [[["FOO_TRUE", "BAR_FALSE"],
+		 ["FOO_TRUE", "BAR_TRUE"]],
+		["FOO_TRUE", "BAR_TRUE"],
+		[["TRUE"]]],
+
+	       [[["TRUE"]],
+		["TRUE"],
+		[["TRUE"]]],
+
+	       [[["FALSE"]],
+		["TRUE"],
+		[["FALSE"]]],
+
+	       [[["FALSE"]],
+		["FALSE"],
+		[["FALSE"]]]);
+
+  for my $t (@tests)
+    {
+      my $t1 = build_set @{$t->[0]};
+      my $t2 = new Automake::Condition @{$t->[1]};
+      my $t3 = build_set @{$t->[2]};
+
+      # Make sure sub_conditions() yields the expected result.
+      my $s = $t1->sub_conditions ($t2);
+      if ($s != $t3)
+	{
+	  print " (SC) " . $t1->string . "\n\t"
+	    . $s->string . ' != ' . $t3->string . "\n";
+	  return 1;
+	}
+    }
+}
+
+sub test_ambig ()
+{
+  my @tests = ([[["TRUE"]],
+		["TRUE"],
+		"multiply defined"],
+	       [[["C1_TRUE"]],
+		["C1_TRUE"],
+		"multiply defined"],
+	       [[["TRUE"]],
+                ["C1_FALSE"],
+		"which includes"],
+	       [[["C1_TRUE"]],
+		["C1_TRUE", "C2_TRUE"],
+		"which includes"],
+	       [[["C1_TRUE", "C2_TRUE"]],
+		["C2_TRUE"],
+		"which is included in"],
+	       [[["C1_TRUE"]],
+		["C2_TRUE"],
+		''],
+	       [[["C1_TRUE"],
+		 ["C2_FALSE"]],
+		["C1_FALSE", "C2_TRUE"],
+		'']);
+
+  for my $t (@tests)
+    {
+      my $t1 = build_set @{$t->[0]};
+      my $t2 = new Automake::Condition @{$t->[1]};
+      my $t3 = $t->[2];
+      my ($ans, $cond) = $t1->ambiguous_p ("FOO", $t2);
+      if ($t3 && $ans !~ /FOO.*$t3/)
+	{
+	  print " (A1) " . $t1->string . " vs. " . $t2->string . "\n\t"
+	    . "Error message '$ans' does not match '$t3'\n";
+	  return 1;
+	}
+      if (!$t3 && $ans ne '')
+	{
+	  print " (A2) " . $t1->string . " vs. " . $t2->string . "\n\t"
+	    . "Unexpected error message: $ans\n";
+	  return 1;
+	}
+    }
+  return 0;
+}
+
+exit (test_basics
+      || test_invert
+      || test_simplify
+      || test_sub_conditions
+      || test_ambig);
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Makefile.am	(revision 3089)
@@ -0,0 +1,27 @@
+## Process this file with automake to create Makefile.in
+
+## Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+TESTS_ENVIRONMENT = $(PERL) -Mstrict -I $(top_srcdir)/lib -w
+TESTS = \
+Condition.pl \
+DisjConditions.pl \
+Version.pl \
+Wrap.pl
+
+EXTRA_DIST = $(TESTS)
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Makefile.in	(revision 3089)
@@ -0,0 +1,363 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = lib/Automake/tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+TESTS_ENVIRONMENT = $(PERL) -Mstrict -I $(top_srcdir)/lib -w
+TESTS = \
+Condition.pl \
+DisjConditions.pl \
+Version.pl \
+Wrap.pl
+
+EXTRA_DIST = $(TESTS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib/Automake/tests/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  lib/Automake/tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list='$(TESTS)'; \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		echo "XPASS: $$tst"; \
+	      ;; \
+	      *) \
+		echo "PASS: $$tst"; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+		xfail=`expr $$xfail + 1`; \
+		echo "XFAIL: $$tst"; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		echo "FAIL: $$tst"; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      echo "SKIP: $$tst"; \
+	    fi; \
+	  done; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="All $$all tests passed"; \
+	    else \
+	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all tests failed"; \
+	    else \
+	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    skipped="($$skip tests were not run)"; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  echo "$$dashes"; \
+	  echo "$$banner"; \
+	  test -z "$$skipped" || echo "$$skipped"; \
+	  test -z "$$report" || echo "$$report"; \
+	  echo "$$dashes"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+	distclean distclean-generic distdir dvi dvi-am html html-am \
+	info info-am install install-am install-data install-data-am \
+	install-exec install-exec-am install-info install-info-am \
+	install-man install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+	uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Version.pl
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Version.pl	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Version.pl	(revision 3089)
@@ -0,0 +1,101 @@
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+use Automake::Version;
+
+my $failed = 0;
+
+sub test_version_compare
+{
+  my ($left, $right, $result) = @_;
+  my @leftver = Automake::Version::split ($left);
+  my @rightver = Automake::Version::split ($right);
+  if ($#leftver == -1)
+  {
+    print "can't grok \"$left\"\n";
+    $failed = 1;
+    return;
+  }
+  if ($#rightver == -1)
+  {
+    print "can't grok \"$right\"\n";
+    $failed = 1;
+    return;
+  }
+  my $res = Automake::Version::compare (@leftver, @rightver);
+  if ($res != $result)
+  {
+    print "compare (\"$left\", \"$right\") = $res! (not $result?)\n";
+    $failed = 1;
+  }
+}
+
+my @tests = (
+# basics
+  ['1.0', '2.0', -1],
+  ['2.0', '1.0', 1],
+  ['1.2', '1.2', 0],
+  ['1.1', '1.2', -1],
+  ['1.2', '1.1', 1],
+# alphas
+  ['1.4', '1.4g', -1],
+  ['1.4g', '1.5', -1],
+  ['1.4g', '1.4', 1],
+  ['1.5', '1.4g', 1],
+  ['1.4a', '1.4g', -1],
+  ['1.5a', '1.3g', 1],
+  ['1.6a', '1.6a', 0],
+# micros
+  ['1.5.1', '1.5', 1],
+  ['1.5.0', '1.5', 0],
+  ['1.5.4', '1.6.1', -1],
+# micros and alphas
+  ['1.5a', '1.5.1', 1],
+  ['1.5a', '1.5.1a', 1],
+  ['1.5a', '1.5.1f', 1],
+  ['1.5', '1.5.1a', -1],
+  ['1.5.1a', '1.5.1f', -1],
+# special exceptions
+  ['1.6-p5a', '1.6.5a', 0],
+  ['1.6', '1.6-p5a', -1],
+  ['1.6-p4b', '1.6-p5a', -1],
+  ['1.6-p4b', '1.6-foo', 1],
+  ['1.6-p4b', '1.6a-foo', -1]
+);
+
+test_version_compare (@{$_}) foreach @tests;
+
+exit $failed;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Wrap.pl
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Wrap.pl	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Automake/tests/Wrap.pl	(revision 3089)
@@ -0,0 +1,82 @@
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+use Automake::Wrap 'wrap';
+
+my $failed = 0;
+
+sub test_wrap
+{
+  my ($in, $exp_out) = @_;
+
+  my $out = &wrap (@$in);
+  if ($out ne $exp_out)
+    {
+      print STDERR "For: @$in\nGot:\n$out\nInstead of:\n$exp_out\n---\n";
+      ++$failed;
+    }
+}
+
+my @tests = (
+  [["HEAD:", "NEXT:", "CONT", 13, "v" ,"a", "l", "ue", "s", "values"],
+"HEAD:v aCONT
+NEXT:l ueCONT
+NEXT:sCONT
+NEXT:values
+"],
+  [["rule: ", "\t", " \\", 20, "dep1" ,"dep2", "dep3", "dep4", "dep5",
+    "dep06", "dep07", "dep08"],
+"rule: dep1 dep2 \\
+\tdep3 dep4 \\
+\tdep5 dep06 \\
+\tdep07 \\
+\tdep08
+"],
+  [["big header:", "big continuation:", " END", 5, "diag1", "diag2", "diag3"],
+"big header:diag1 END
+big continuation:diag2 END
+big continuation:diag3
+"],
+  [["big header:", "cont: ", " END", 16, "word1", "word2"],
+"big header: END
+cont: word1 END
+cont: word2
+"]);
+
+
+test_wrap (@{$_}) foreach @tests;
+
+exit $failed;
+
+### Setup "GNU" style for perl-mode and cperl-mode.
+## Local Variables:
+## perl-indent-level: 2
+## perl-continued-statement-offset: 2
+## perl-continued-brace-offset: 0
+## perl-brace-offset: 0
+## perl-brace-imaginary-offset: 0
+## perl-label-offset: -2
+## cperl-indent-level: 2
+## cperl-brace-offset: 0
+## cperl-continued-brace-offset: 0
+## cperl-label-offset: -2
+## cperl-extra-newline-before-brace: t
+## cperl-merge-trailing-else: nil
+## cperl-continued-statement-offset: 2
+## End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/COPYING
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/COPYING	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/COPYING	(revision 3089)
@@ -0,0 +1,345 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
Index: /trunk/essentials/sys-devel/automake-1.9/lib/INSTALL
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/INSTALL	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/INSTALL	(revision 3089)
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Makefile.am	(revision 3089)
@@ -0,0 +1,49 @@
+## Process this file with automake to create Makefile.in
+
+## Makefile for Automake lib.
+
+## Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+SUBDIRS = Automake am
+
+dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
+  config-ml.in
+
+## These must all be executable when installed.  However, if we use
+## _SCRIPTS, then the program transform will be applied, which is not
+## what we want.  So we make them executable by hand.
+scriptdir = $(pkgvdatadir)
+dist_script_DATA = config.guess config.sub install-sh mdate-sh missing \
+  mkinstalldirs elisp-comp ylwrap acinstall depcomp compile py-compile \
+  symlink-tree
+
+EXTRA_DIST = gnupload
+
+install-data-hook:
+	@$(POST_INSTALL)
+	@for prog in $(dist_script_DATA); do \
+	  echo " chmod +x $(DESTDIR)$(scriptdir)/$$prog"; \
+	  chmod +x $(DESTDIR)$(scriptdir)/$$prog; \
+	done
+
+## `test -x' is not portable.  So we use Perl instead.  If Perl
+## doesn't exist, then this test is meaningless anyway.
+installcheck-local:
+	for file in $(dist_script_DATA); do \
+	  $(PERL) -e "exit ! -x '$(pkgvdatadir)/$$file';" || exit 1; \
+	done
Index: /trunk/essentials/sys-devel/automake-1.9/lib/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/Makefile.in	(revision 3089)
@@ -0,0 +1,517 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = lib
+DIST_COMMON = $(dist_pkgvdata_DATA) $(dist_script_DATA) \
+	$(srcdir)/Makefile.am $(srcdir)/Makefile.in COPYING INSTALL \
+	ansi2knr.1 ansi2knr.c compile config.guess config.sub depcomp \
+	elisp-comp install-sh mdate-sh missing mkinstalldirs \
+	py-compile texinfo.tex ylwrap
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgvdatadir)" "$(DESTDIR)$(scriptdir)"
+dist_pkgvdataDATA_INSTALL = $(INSTALL_DATA)
+dist_scriptDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_pkgvdata_DATA) $(dist_script_DATA)
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = Automake am
+dist_pkgvdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
+  config-ml.in
+
+scriptdir = $(pkgvdatadir)
+dist_script_DATA = config.guess config.sub install-sh mdate-sh missing \
+  mkinstalldirs elisp-comp ylwrap acinstall depcomp compile py-compile \
+  symlink-tree
+
+EXTRA_DIST = gnupload
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  lib/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-dist_pkgvdataDATA: $(dist_pkgvdata_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgvdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgvdatadir)"
+	@list='$(dist_pkgvdata_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_pkgvdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgvdatadir)/$$f'"; \
+	  $(dist_pkgvdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgvdatadir)/$$f"; \
+	done
+
+uninstall-dist_pkgvdataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_pkgvdata_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkgvdatadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(pkgvdatadir)/$$f"; \
+	done
+install-dist_scriptDATA: $(dist_script_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(scriptdir)" || $(mkdir_p) "$(DESTDIR)$(scriptdir)"
+	@list='$(dist_script_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_scriptDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(scriptdir)/$$f'"; \
+	  $(dist_scriptDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(scriptdir)/$$f"; \
+	done
+
+uninstall-dist_scriptDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_script_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(scriptdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(scriptdir)/$$f"; \
+	done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(pkgvdatadir)" "$(DESTDIR)$(scriptdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_pkgvdataDATA install-dist_scriptDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am: installcheck-local
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_pkgvdataDATA uninstall-dist_scriptDATA \
+	uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+	clean clean-generic clean-recursive ctags ctags-recursive \
+	distclean distclean-generic distclean-recursive distclean-tags \
+	distdir dvi dvi-am html html-am info info-am install \
+	install-am install-data install-data-am install-data-hook \
+	install-dist_pkgvdataDATA install-dist_scriptDATA install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installcheck-local \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-recursive pdf \
+	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-dist_pkgvdataDATA uninstall-dist_scriptDATA \
+	uninstall-info-am
+
+
+install-data-hook:
+	@$(POST_INSTALL)
+	@for prog in $(dist_script_DATA); do \
+	  echo " chmod +x $(DESTDIR)$(scriptdir)/$$prog"; \
+	  chmod +x $(DESTDIR)$(scriptdir)/$$prog; \
+	done
+
+installcheck-local:
+	for file in $(dist_script_DATA); do \
+	  $(PERL) -e "exit ! -x '$(pkgvdatadir)/$$file';" || exit 1; \
+	done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/acinstall
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/acinstall	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/acinstall	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+
+# Install an aclocal-style M4 file.  A script is needed to do this
+# because we want to do serial-number checking; newer versions of
+# macro files should always be preferred.
+
+# Usage:
+#  acinstall file directory installprogram [install-args]...
+
+# Copyright 1996 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+file="$1"
+dir="$2"
+shift
+shift
+
+localserial=`grep '^# serial ' $file | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
+if test -z "$localserial"; then
+   echo "acinstall: no serial number in $file" 1>&2
+   exit 1
+fi
+
+# Maybe if the installed file has no serial number we should just
+# assume it is ancient.
+instserial=`grep '^# serial ' $dir/$file | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
+if test -z "$instserial"; then
+   echo "acinstall: no serial number in $dir/$file" 1>&2
+   exit 1
+fi
+
+if test $localserial -lt $instserial; then
+   # Installed file is newer.
+   exit 0
+fi
+
+# Install the file.
+$* $file $dir/$file
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/Makefile.am	(revision 3089)
@@ -0,0 +1,64 @@
+## Process this file with automake to create Makefile.in
+
+## Makefile for Automake lib/am.
+
+## Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+amdir = $(pkgvdatadir)/am
+
+dist_am_DATA = \
+ansi2knr.am \
+check.am \
+clean-hdr.am \
+clean.am \
+compile.am \
+configure.am \
+data.am \
+dejagnu.am \
+depend.am \
+depend2.am \
+distdir.am \
+footer.am \
+header-vars.am \
+header.am \
+install.am \
+inst-vars.am \
+java.am \
+lang-compile.am \
+lex.am \
+library.am \
+libs.am \
+libtool.am \
+lisp.am \
+ltlib.am \
+ltlibrary.am \
+mans-vars.am \
+mans.am \
+multilib.am \
+program.am \
+progs.am \
+python.am \
+remake-hdr.am \
+scripts.am \
+subdirs.am \
+tags.am \
+texi-vers.am \
+texibuild.am \
+texinfos.am \
+yacc.am
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/Makefile.in	(revision 3089)
@@ -0,0 +1,355 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = lib/am
+DIST_COMMON = $(dist_am_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(amdir)"
+dist_amDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_am_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+amdir = $(pkgvdatadir)/am
+dist_am_DATA = \
+ansi2knr.am \
+check.am \
+clean-hdr.am \
+clean.am \
+compile.am \
+configure.am \
+data.am \
+dejagnu.am \
+depend.am \
+depend2.am \
+distdir.am \
+footer.am \
+header-vars.am \
+header.am \
+install.am \
+inst-vars.am \
+java.am \
+lang-compile.am \
+lex.am \
+library.am \
+libs.am \
+libtool.am \
+lisp.am \
+ltlib.am \
+ltlibrary.am \
+mans-vars.am \
+mans.am \
+multilib.am \
+program.am \
+progs.am \
+python.am \
+remake-hdr.am \
+scripts.am \
+subdirs.am \
+tags.am \
+texi-vers.am \
+texibuild.am \
+texinfos.am \
+yacc.am
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  lib/am/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  lib/am/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-dist_amDATA: $(dist_am_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(amdir)" || $(mkdir_p) "$(DESTDIR)$(amdir)"
+	@list='$(dist_am_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_amDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(amdir)/$$f'"; \
+	  $(dist_amDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(amdir)/$$f"; \
+	done
+
+uninstall-dist_amDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_am_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(amdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(amdir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(amdir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_amDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_amDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am \
+	install-dist_amDATA install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-dist_amDATA \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/ansi2knr.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/ansi2knr.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/ansi2knr.am	(revision 3089)
@@ -0,0 +1,78 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## %ANSI2KNR-DIR% is the directory where ansi2knr is, `' if
+## is the current directory.
+
+
+## ---------- ##
+## ansi2knr.  ##
+## ---------- ##
+
+if %?ANSI2KNR-DIR%
+
+ANSI2KNR = %ANSI2KNR-DIR%/ansi2knr
+%ANSI2KNR-DIR%/ansi2knr:
+	cd %ANSI2KNR-DIR% && $(MAKE) $(AM_MAKEFLAGS) ansi2knr
+
+else !%?ANSI2KNR-DIR%
+
+## Substitution from AM_C_PROTOTYPES.  This makes it be built only when
+## necessary.
+ANSI2KNR = @ANSI2KNR@
+ansi2knr: ansi2knr.$(OBJEXT)
+	$(LINK) ansi2knr.$(OBJEXT) $(LIBS)
+ansi2knr.$(OBJEXT): $(CONFIG_HEADER)
+
+endif !%?ANSI2KNR-DIR%
+
+
+## ------------------- ##
+## Cleaning ansi2knr.  ##
+## ------------------- ##
+
+
+if !%?ANSI2KNR-DIR%
+.PHONY: clean-krextra
+
+clean-am: clean-krextra
+clean-krextra:
+## Why `clean' and not somewhere else?  Not `mostlyclean' because
+## people usually don't want to recompile this file.  And not
+## `distclean' because of our informal rule: if `make' built it, then
+## `clean' should delete it; if `configure' built it, then `distclean'
+## should remove it (and if the maintainer built it, then
+## maintainer-clean should remove it).
+	-rm -f ansi2knr
+endif !%?ANSI2KNR-DIR%
+
+
+
+## --------------------------------- ##
+## Cleaning the output of ansi2knr.  ##
+## --------------------------------- ##
+
+.PHONY: mostlyclean-kr
+
+mostlyclean-am: mostlyclean-kr
+mostlyclean-kr:
+## Only delete *_.c when ansi2knr is actually in use, so as to avoid
+## deleting sources that happen to end in "_" after being truncated on a DOS
+## 8.3 filesystem with srcdir==builddir.
+	-test "$U" = "" || rm -f *_.c
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/check.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/check.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/check.am	(revision 3089)
@@ -0,0 +1,99 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+.PHONY: check-TESTS
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list='$(TESTS)'; \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+## Note: Solaris 2.7 seems to expand TESTS using VPATH.  That's
+## why we also try `dir='
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+## Success
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		echo "XPASS: $$tst"; \
+	      ;; \
+	      *) \
+		echo "PASS: $$tst"; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+## Failure
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+		xfail=`expr $$xfail + 1`; \
+		echo "XFAIL: $$tst"; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		echo "FAIL: $$tst"; \
+	      ;; \
+	      esac; \
+	    else \
+## Skipped
+	      skip=`expr $$skip + 1`; \
+	      echo "SKIP: $$tst"; \
+	    fi; \
+	  done; \
+## Prepare the banner
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="All $$all tests passed"; \
+	    else \
+	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all tests failed"; \
+	    else \
+	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	    fi; \
+	  fi; \
+## DASHES should contain the largest line of the banner.
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    skipped="($$skip tests were not run)"; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  echo "$$dashes"; \
+	  echo "$$banner"; \
+	  test -z "$$skipped" || echo "$$skipped"; \
+	  test -z "$$report" || echo "$$report"; \
+	  echo "$$dashes"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/clean-hdr.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/clean-hdr.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/clean-hdr.am	(revision 3089)
@@ -0,0 +1,23 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+.PHONY: distclean-hdr
+distclean-am: distclean-hdr
+distclean-hdr:
+	-rm -f %FILES%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/clean.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/clean.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/clean.am	(revision 3089)
@@ -0,0 +1,64 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## We must test each macro because it might be empty, and an empty "rm
+## -rf" command looks disturbing.  Also, the Solaris 2.4 "rm" will
+## return an error if there are no arguments other than "-f".
+mostlyclean-am: mostlyclean-generic
+mostlyclean-generic:
+%MOSTLYCLEAN_RMS%
+
+clean-am: clean-generic mostlyclean-am
+clean-generic:
+%CLEAN_RMS%
+
+distclean-am: distclean-generic clean-am
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+%DISTCLEAN_RMS%
+
+## Makefiles and their dependencies cannot be cleaned by
+## an -am dependency, because that would prevent other distclean
+## dependencies from calling make recursively.  (The multilib
+## cleaning rules do this.)
+##
+## If you change distclean here, you probably also want to change
+## maintainer-clean below.
+distclean:
+	-rm -f %MAKEFILE%
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+maintainer-clean-generic:
+## FIXME: shouldn't we really print these messages before running
+## the dependencies?
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+%MAINTAINER_CLEAN_RMS%
+
+## See comment for distclean.
+maintainer-clean:
+	-rm -f %MAKEFILE%
+
+.PHONY: clean mostlyclean distclean maintainer-clean \
+clean-generic mostlyclean-generic distclean-generic maintainer-clean-generic
+
+?!SUBDIRS?clean: clean-am
+?!SUBDIRS?distclean: distclean-am
+?!SUBDIRS?mostlyclean: mostlyclean-am
+?!SUBDIRS?maintainer-clean: maintainer-clean-am
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/compile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/compile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/compile.am	(revision 3089)
@@ -0,0 +1,32 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+DEFAULT_INCLUDES = %DEFAULT_INCLUDES%
+
+mostlyclean-am: mostlyclean-compile
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+?MOSTLYRMS?%MOSTLYRMS%
+
+distclean-am: distclean-compile
+distclean-compile:
+	-rm -f *.tab.c
+?DISTRMS?%DISTRMS%
+
+.PHONY: mostlyclean-compile distclean-compile
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/configure.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/configure.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/configure.am	(revision 3089)
@@ -0,0 +1,152 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+
+## This dummy rule is called from subdirectories whenever one of the
+## top-level Makefile's dependencies must be updated.  It does not
+## need to depend on %MAKEFILE% because GNU make will always make sure
+## %MAKEFILE% is updated before considering the am--refresh target.
+if %?TOPDIR_P%
+.PHONY: am--refresh
+am--refresh:
+	@:
+endif %?TOPDIR_P%
+
+## --------------------- ##
+## Building Makefile.*.  ##
+## --------------------- ##
+
+## This rule remakes the Makefile.in.
+%MAKEFILE-IN%: %MAINTAINER-MODE% %MAKEFILE-AM% %MAKEFILE-IN-DEPS% $(am__configure_deps)
+## If configure.ac or one of configure's dependencies has changed, all
+## Makefile.in are to be updated; it is then more efficient to run
+## automake on all the Makefiles at once.  It also allow Automake to be
+## run for newly added directories.
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+?TOPDIR_P?	      echo ' cd $(srcdir) && $(AUTOMAKE) --%STRICTNESS% %USE-DEPS%'; \
+?TOPDIR_P?	      cd $(srcdir) && $(AUTOMAKE) --%STRICTNESS% %USE-DEPS% \
+?!TOPDIR_P?	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+## Otherwise, rebuild only this file.
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --%STRICTNESS% %USE-DEPS% %MAKEFILE-AM-SOURCES%'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --%STRICTNESS% %USE-DEPS% %MAKEFILE-AM-SOURCES%
+
+## Ensure that GNU make doesn't remove Makefile if ./config.status (below)
+## is interrupted.  Otherwise, the user would need to know to rerun
+## ./config.status to recreate the lost Makefile.
+.PRECIOUS: %MAKEFILE%
+## This rule remakes the Makefile.
+%MAKEFILE%: %MAKEFILE-DEPS% $(top_builddir)/config.status
+## If Makefile is to be updated because of config.status, then run
+## config.status without argument in order to (i) rerun all the
+## AC_CONFIG_COMMANDS including those that are not visible to
+## Automake, and (ii) to save time by running config.status all with
+## all the files, instead of once per file (iii) generate Makefiles
+## in newly added directories.
+	@case '$?' in \
+## Don't prefix $(top_builddir), because GNU make will strip it out
+## when it's `.'.
+	  *config.status*) \
+?TOPDIR_P?	    echo ' $(SHELL) ./config.status'; \
+?TOPDIR_P?	    $(SHELL) ./config.status;; \
+?!TOPDIR_P?	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+## FIXME: $(am__depfiles_maybe) lets us re-run the rule to create the
+## .P files.  Ideally we wouldn't have to do this by hand.
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE% $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status %CONFIG-MAKEFILE% $(am__depfiles_maybe);; \
+	esac;
+
+DIST_COMMON += %MAKEFILE-AM%
+
+
+## --------------------------- ##
+## config.status & configure.  ##
+## --------------------------- ##
+
+if %?TOPDIR_P%
+## Always require configure.ac and configure at top level, even if they
+## don't exist.  This is especially important for configure, since it
+## won't be created until autoconf is run -- which might be after
+## automake is run.
+DIST_COMMON += $(top_srcdir)/configure $(am__configure_deps)
+endif %?TOPDIR_P%
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+?TOPDIR_P?	$(SHELL) ./config.status --recheck
+?!TOPDIR_P?	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: %MAINTAINER-MODE% $(am__configure_deps)
+?TOPDIR_P?	cd $(srcdir) && $(AUTOCONF)
+?!TOPDIR_P?	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+
+## ------------ ##
+## aclocal.m4.  ##
+## ------------ ##
+
+## aclocal.m4 must be built by the top-level Makefile, because this is
+## where the user is expected to define $(ACLOCAL_AMFLAGS).
+##
+## Whenever a configure dependency changes we need to rebuild
+## aclocal.m4 too.  Changing configure.ac, or any file included by
+## aclocal.m4 might require adding more files to aclocal.m4.  Hence
+## the $(am__configure_deps) dependency.
+if %?REGEN-ACLOCAL-M4%
+$(ACLOCAL_M4): %MAINTAINER-MODE% $(am__aclocal_m4_deps)
+?TOPDIR_P?	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+?!TOPDIR_P?	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+endif %?REGEN-ACLOCAL-M4%
+
+
+## --------- ##
+## cleanup.  ##
+## --------- ##
+
+## We special-case config.status here.  If we do it as part of the
+## normal clean processing for this directory, then it might be
+## removed before some subdir is cleaned.  However, that subdir's
+## Makefile depends on config.status.
+
+if %?TOPDIR_P%
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno configure.status.lineno
+distclean:
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+
+## Note: you might think we should remove Makefile.in, configure, or
+## aclocal.m4 here in a maintainer-clean rule.  However, the GNU
+## Coding Standards explicitly prohibit this.
+
+maintainer-clean:
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+## autom4te.cache is created by Autoconf; the only valid target to
+## remove it is maintainer-clean, not distclean.
+## If you have an autom4te.cache that cause distcheck to fail, then
+## it is good news: you finally discovered that autoconf and/or
+## autoheader is needed to use your tarball, which is wrong.
+	-rm -rf $(top_srcdir)/autom4te.cache
+
+
+endif %?TOPDIR_P%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/data.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/data.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/data.am	(revision 3089)
@@ -0,0 +1,87 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?INSTALL%
+include inst-vars.am
+endif %?INSTALL%
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%%PRIMARY%_INSTALL = $(INSTALL_%ONE_PRIMARY%)
+?!BASE?%DIR%%PRIMARY%_INSTALL = $(install_sh_DATA)
+?EXEC?.PHONY install-exec-am: install-%DIR%%PRIMARY%
+?!EXEC?.PHONY install-data-am: install-%DIR%%PRIMARY%
+install-%DIR%%PRIMARY%: $(%DIR%_%PRIMARY%)
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+?!BASE?	@$(am__vpath_adj_setup) \
+## Funny invocation because Makefile variable can be empty, leading to
+## a syntax error in sh.
+?!BASE?	list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \
+?BASE?	@list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \
+## A file can be in the source directory or the build directory.
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+## If the _%PRIMARY% variable has an entry like foo/bar, install it as
+## $(destdir)/bar, not $(destdir)/foo/bar.  The user can make a
+## new dir variable or use a nobase_ target for the latter case.
+?BASE?	  f=$(am__strip_dir) \
+?!BASE?	  $(am__vpath_adj) \
+	  echo " $(%DIR%%PRIMARY%_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	  $(%DIR%%PRIMARY%_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%%PRIMARY%
+uninstall-%DIR%%PRIMARY%:
+	@$(NORMAL_UNINSTALL)
+?!BASE?	@$(am__vpath_adj_setup) \
+?!BASE?	list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \
+?BASE?	@list='$(%DIR%_%PRIMARY%)'; for p in $$list; do \
+?BASE?	  f=$(am__strip_dir) \
+?!BASE?	  $(am__vpath_adj) \
+	  echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	done
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+## Nothing.
+
+
+## -------------- ##
+## Distributing.  ##
+## -------------- ##
+
+if %?DIST%
+DIST_COMMON += %DISTVAR%
+endif %?DIST%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/dejagnu.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/dejagnu.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/dejagnu.am	(revision 3089)
@@ -0,0 +1,109 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## Name of tool to use.  Default is the same as the package.
+DEJATOOL = $(PACKAGE)
+
+## Default flags to pass to dejagnu.  The user can override this.
+RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+
+## In Cygnus mode, these are found in the build tree.
+## Otherwise they are looked for in $PATH.
+if %?CYGNUS%
+EXPECT = `if test -f $(top_builddir)/../expect/expect; then \
+	    echo $(top_builddir)/../expect/expect; \
+	  else \
+	    echo expect; \
+	  fi`
+
+RUNTEST = `if test -f $(top_srcdir)/../dejagnu/runtest; then \
+	     echo $(top_srcdir)/../dejagnu/runtest; \
+	   else \
+	     echo runtest; \
+	   fi`
+else ! %?CYGNUS%
+EXPECT = expect
+RUNTEST = runtest
+endif ! %?CYGNUS%
+
+
+.PHONY: check-DEJAGNU
+check-DEJAGNU: site.exp
+## Life is easiest with an absolute srcdir, so do that.
+	srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+	EXPECT=$(EXPECT); export EXPECT; \
+## Allow this to work when expect and DejaGnu are in tree.
+## Only required when --cygnus in force.
+?CYGNUS?	if [ -f $(top_builddir)/../expect/expect ]; then \
+?CYGNUS?	  TCL_LIBRARY=`$(am__cd) $(top_srcdir)/../tcl/library && pwd`; \
+?CYGNUS?	  export TCL_LIBRARY; \
+?CYGNUS?	fi; \
+	runtest=$(RUNTEST); \
+## If runtest can't be found, print a warning but don't die.  It is
+## pointless to cause a failure if the tests cannot be run at all.
+	if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+	  l='$(DEJATOOL)'; for tool in $$l; do \
+	    $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+	  done; \
+	else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+	fi
+
+
+## ------------------- ##
+## Building site.exp.  ##
+## ------------------- ##
+
+## Note that in the rule we don't directly generate site.exp to avoid
+## the possibility of a corrupted site.exp if make is interrupted.
+## Jim Meyering has some useful text on this topic.
+site.exp: Makefile
+	@echo 'Making a new site.exp file...'
+	@echo '## these variables are automatically generated by make ##' >site.tmp
+	@echo '# Do not edit here.  If you wish to override these values' >>site.tmp
+	@echo '# edit the last section' >>site.tmp
+	@echo 'set srcdir $(srcdir)' >>site.tmp
+	@echo "set objdir `pwd`" >>site.tmp
+## Quote the *_alias variables because they might be empty.
+?BUILD?	@echo 'set build_alias "$(build_alias)"' >>site.tmp
+?BUILD?	@echo 'set build_triplet $(build_triplet)' >>site.tmp
+?HOST?	@echo 'set host_alias "$(host_alias)"' >>site.tmp
+?HOST?	@echo 'set host_triplet $(host_triplet)' >>site.tmp
+?TARGET?	@echo 'set target_alias "$(target_alias)"' >>site.tmp
+?TARGET?	@echo 'set target_triplet $(target_triplet)' >>site.tmp
+	@echo '## All variables above are generated by configure. Do Not Edit ##' >>site.tmp
+	@test ! -f site.exp || \
+	  sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
+	@-rm -f site.bak
+	@test ! -f site.exp || mv site.exp site.bak
+	@mv site.tmp site.exp
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY distclean-am: distclean-DEJAGNU
+
+distclean-DEJAGNU:
+## Any other cleaning must be done by the user or by the test suite
+## itself.  We can't predict what dejagnu or the test suite might
+## generate.
+	-rm -f site.exp site.bak
+	-l='$(DEJATOOL)'; for tool in $$l; do \
+	  rm -f $$tool.sum $$tool.log; \
+	done
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/depend.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/depend.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/depend.am	(revision 3089)
@@ -0,0 +1,28 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## This Makefile depends on Depdirs' files, so we should never
+## erase them in -am or -recursive rules; that would prevent any other
+## rules from being recursive (for instance multilib clean rules are
+## recursive).
+distclean:
+	-rm -rf %DEPDIRS%
+
+maintainer-clean:
+	-rm -rf %DEPDIRS%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/depend2.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/depend2.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/depend2.am	(revision 3089)
@@ -0,0 +1,132 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+## 2003, 2004  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## This file is read several times:
+## - once per *extension* (not per language) for generic compilation rules
+## - once for each file which requires specific flags.
+
+## Note it is on purpose we wrote `if %AMDEP%', since:
+##
+## - if deps are turned off, %AMDEP% is mapped onto FALSE, and therefore
+##   the `if FALSE' chunk is removed (automake-time conditionals).
+##
+## - if deps are on, %AMDEP% is mapped onto AMDEP,  and therefore
+##   the `if AMDEP' chunk is prefix with @AMDEP_TRUE@ just like for any
+##   other configure-time conditional.
+##
+## We do likewise for %FASTDEP%; this expands to an ordinary
+## configure-time conditional.  %FASTDEP% is used to speed up the
+## common case of building a package with gcc 3.x.  In this case we
+## can skip the use of depcomp and easily inline the dependency
+## tracking.
+
+## Verbosity of FASTDEP rules
+## --------------------------
+## (1) Some people want to see what happen during make.  They think
+##     @-commands are evil because hiding things hinders debugging.
+## (2) Other people want to see only the important commands--those that
+##     may produce diagnostics, such as compiler invocations.  They
+##     do not care about build details such as dependency generation
+##     (the if/then/else machinery in FASTDEP rules).  Their point is
+##     that it is hard to spot diagnostics in a verbose output.
+## (3) Other people want `make -s' to work as expected: silently.
+##     This way they can spot any diagnostic really easily.
+##
+## The second point suggests we hide rules with @ and that we `echo'
+## only the relevant parts.  However this goes against the two others.
+## There are regular complaints about this on the mailing list, but
+## it's hard to please everybody.  On April 2003, William Fulton (from
+## clan (3)) and Karl Berry (from clan (2)) agreed that folding the
+## compile rules so that they are output on a single line (instead of 5)
+## would be a good compromise.  Actually we use two line rather than one,
+## because this way %SOURCE% is always located at the end of the first
+## line and is therefore easier to spot.  (We need an extra line when
+## depbase is used.)
+
+if %?NONLIBTOOL%
+?GENERIC?%EXT%.o:
+?!GENERIC?%OBJ%: %SOURCE%
+if %FASTDEP%
+## In fast-dep mode, we can always use -o.
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	if %COMPILE% -MT %OBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%; \
+?SUBDIROBJ??GENERIC?	depbase=`echo %OBJ% | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
+?GENERIC?	if %COMPILE% -MT %OBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJ% %SOURCE%; \
+	then mv -f "%DEPBASE%.Tpo" "%DEPBASE%.Po"; else rm -f "%DEPBASE%.Tpo"; exit 1; fi
+else !%FASTDEP%
+if %AMDEP%
+	source='%SOURCE%' object='%OBJ%' libtool=no @AMDEPBACKSLASH@
+	DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif %AMDEP%
+if %?GENERIC%
+?-o?	%COMPILE% %-c% %-o% %OBJ% %SOURCE%
+?!-o?	%COMPILE% %-c% %SOURCE%
+else !%?GENERIC%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?-o?	%COMPILE% %-c% %-o% %OBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+?!-o?	%COMPILE% %-c% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+endif !%?GENERIC%
+endif !%FASTDEP%
+
+?GENERIC?%EXT%.obj:
+?!GENERIC?%OBJOBJ%: %SOURCE%
+if %FASTDEP%
+## In fast-dep mode, we can always use -o.
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	if %COMPILE% -MT %OBJOBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJOBJ% `if test -f '%SOURCE%'; then $(CYGPATH_W) '%SOURCE%'; else $(CYGPATH_W) '$(srcdir)/%SOURCE%'; fi`; \
+?SUBDIROBJ??GENERIC?	depbase=`echo %OBJ% | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
+?GENERIC?	if %COMPILE% -MT %OBJOBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %OBJOBJ% `$(CYGPATH_W) '%SOURCE%'`; \
+	then mv -f "%DEPBASE%.Tpo" "%DEPBASE%.Po"; else rm -f "%DEPBASE%.Tpo"; exit 1; fi
+else !%FASTDEP%
+if %AMDEP%
+	source='%SOURCE%' object='%OBJOBJ%' libtool=no @AMDEPBACKSLASH@
+	DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif %AMDEP%
+if %?GENERIC%
+?-o?	%COMPILE% %-c% %-o% %OBJOBJ% `$(CYGPATH_W) '%SOURCE%'`
+?!-o?	%COMPILE% %-c% `$(CYGPATH_W) '%SOURCE%'`
+else !%?GENERIC%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?-o?	%COMPILE% %-c% %-o% %OBJOBJ% `if test -f '%SOURCE%'; then $(CYGPATH_W) '%SOURCE%'; else $(CYGPATH_W) '$(srcdir)/%SOURCE%'; fi`
+?!-o?	%COMPILE% %-c% `if test -f '%SOURCE%'; then $(CYGPATH_W) '%SOURCE%'; else $(CYGPATH_W) '$(srcdir)/%SOURCE%'; fi`
+endif !%?GENERIC%
+endif !%FASTDEP%
+endif %?NONLIBTOOL%
+
+if %?LIBTOOL%
+?GENERIC?%EXT%.lo:
+?!GENERIC?%LTOBJ%: %SOURCE%
+if %FASTDEP%
+## In fast-dep mode, we can always use -o.
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	if %LTCOMPILE% -MT %LTOBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %LTOBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%; \
+?SUBDIROBJ??GENERIC?	depbase=`echo %OBJ% | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
+?GENERIC?	if %LTCOMPILE% -MT %LTOBJ% -MD -MP -MF "%DEPBASE%.Tpo" %-c% -o %LTOBJ% %SOURCE%; \
+	then mv -f "%DEPBASE%.Tpo" "%DEPBASE%.Plo"; else rm -f "%DEPBASE%.Tpo"; exit 1; fi
+else !%FASTDEP%
+if %AMDEP%
+	source='%SOURCE%' object='%LTOBJ%' libtool=yes @AMDEPBACKSLASH@
+	DEPDIR=$(DEPDIR) $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif %AMDEP%
+## We can always use `-o' with Libtool.
+?GENERIC?	%LTCOMPILE% %-c% -o %LTOBJ% %SOURCE%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	%LTCOMPILE% %-c% -o %LTOBJ% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+endif !%FASTDEP%
+endif %?LIBTOOL%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/distdir.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/distdir.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/distdir.am	(revision 3089)
@@ -0,0 +1,415 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## DIST_COMMON comes first so that README can be the very first file.
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+
+if %?TOPDIR_P%
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+endif %?TOPDIR_P%
+
+.PHONY: distdir
+distdir: $(DISTFILES)
+##
+## For Gnits users, this is pretty handy.  Look at 15 lines
+## in case some explanatory text is desirable.
+##
+if %?TOPDIR_P%
+if  %?CK-NEWS%
+	@case `sed 15q $(srcdir)/NEWS` in \
+	*"$(VERSION)"*) : ;; \
+	*) \
+	  echo "NEWS not updated; not releasing" 1>&2; \
+	  exit 1;; \
+	esac
+endif  %?CK-NEWS%
+endif %?TOPDIR_P%
+##
+## Only for the top dir.
+##
+if %?TOPDIR_P%
+	$(am__remove_distdir)
+	mkdir $(distdir)
+endif %?TOPDIR_P%
+##
+##
+?DISTDIRS?	$(mkdir_p) %DISTDIRS%
+##
+##
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+##
+## Yet another hack to support SUN make.
+##
+## Let's assume `foo' appears in DISTFILES and is not a built file.
+## When building with VPATH=$(srcdir), SUN make and OSF1/Tru64 will
+## rewrite `foo' as `$(srcdir)/foo'.  An attempt to install the file
+## with
+##    cp $file $(distdir)/$file
+## will thus install $(srcdir)/foo as $(distdir)/$(srcdir)/foo
+## instead of $(distdir)/foo.
+##
+## So let's strip this leading $(srcdir)/ when it exists.  (As far we
+## know, only SUN make and OSF1/Tru64 make add it.)  Searching whether
+## the file is to be found in the source or build directory will be
+## done latter.
+##
+## In case we are _not_ using SUN or OSF1/Tru64 make, how can we be sure
+## we are not stripping a legitimate filename that starts with the
+## same pattern as $(srcdir)?
+## Well, it can't happen without the Makefile author distributing
+## something out of the distribution (which is bad).   As an example,
+## consider `EXTRA_DIST = ../bar'.  This is an issue if $srcdir is `..',
+## however getting this value for srcdir is impossible: `EXTRA_DIST = ../bar'
+## implies we are in a subdirectory (so `../bar' is within the package),
+## hence `$srcdir' is something like `../../subdir'.
+##
+## There is more to say about files which are above the current directory,
+## like `../bar' in the previous example.  The OSF1/Tru64 make
+## implementation can simplify filenames resulting from a VPATH lookup.
+## For instance if `VPATH = ../../subdir' and `../bar' is found in that
+## VPATH directory, then occurrences of `../bar' will be replaced by
+## `../../bar' (instead of `../../subdir/../bar').  This obviously defeats
+## any attempt to strip a leading $srcdir.  Presently we have no workaround
+## for this.  We avoid this issue by writing `EXTRA_DIST = $(srcdir)/../bar'
+## instead of `EXTRA_DIST = ../bar'.  This prefixing is needed only for files
+## above the current directory.  Fortunately, apart from auxdir files which
+## can be located in .. or ../.., this situation hardly occurs in practice.
+##
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+## Also rewrite $(top_srcdir) (which sometimes appears in DISTFILES, and can
+## be absolute) by $(top_builddir) (which is always relative).  $(srcdir) will
+## be prepended latter.
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+##
+## Always look for the file in the build directory first.  That way
+## for something like yacc output we will correctly pick up the latest
+## version.  Also check for directories in the build directory first,
+## so one can ship generated directories.
+##
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+##
+## Make the subdirectory for the file.  This is going to make `dist'
+## really crawl, but it seems like the only way to do it, given that
+## files in subdirectories can be specified for `dist' conditionally.
+##
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+##
+## Use cp, not ln.  There are situations in which "ln" can fail.  For
+## instance a file to distribute could actually be a cross-filesystem
+## symlink -- this can easily happen if "gettextize" was run on the
+## distribution.
+##
+	  if test -d $$d/$$file; then \
+## Don't mention $$file in destination argument, since this fails if
+## destination directory already exists.  Also, use `-R' and not `-r'.
+## `-r' is almost always incorrect.
+##
+## If a directory exists both in `.' and $(srcdir), then
+## We copy the files from $(srcdir) first and then install those from
+## `.'.  This can help people who distribute directories made of
+## source files _and_ generated files.  It is also important when the
+## directory exists only in $(srcdir), because some vendor Make (such
+## as Tru64) will magically create an empty directory in `.'
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+## Test for file existence because sometimes a file gets included in
+## DISTFILES twice.  For example this happens when a single source
+## file is used in building more than one program.
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+##
+## Test for directory existence here because previous automake
+## invocation might have created some directories.  Note that we
+## explicitly set distdir for the subdir make; that lets us mix-n-match
+## many automake-using packages into one large package, and have "dist"
+## at the top level do the right thing.  If we're in the topmost
+## directory, then we use `distdir' instead of `top_distdir'; this lets
+## us work correctly with an enclosing package.
+##
+if %?SUBDIRS%
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+endif %?SUBDIRS%
+##
+## We might have to perform some last second updates, such as updating
+## info files.
+## We must explicitly set distdir and top_distdir for these sub-makes.
+##
+if %?DIST-TARGETS%
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  %DIST-TARGETS%
+endif %?DIST-TARGETS%
+##
+## This complex find command will try to avoid changing the modes of
+## links into the source tree, in case they're hard-linked.  It will
+## also make directories writable by everybody, because some
+## brain-dead tar implementations change ownership and permissions of
+## a directory before extracting the files, thus becoming unable to
+## extract them.
+##
+## Ignore return result from chmod, because it might give an error
+## if we chmod a symlink.
+##
+## Another nastiness: if the file is unreadable by us, we make it
+## readable regardless of the number of links to it.  This only
+## happens in perverse cases.
+##
+## We use $(install_sh) because that is a known-portable way to modify
+## the file in place in the source tree.
+##
+if %?TOPDIR_P%
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+if %?FILENAME_FILTER%
+	@if find $(distdir) -type f -print | \
+	  grep '^%FILENAME_FILTER%' 1>&2; then \
+	  echo 'error: the above filenames are too long' 1>&2; \
+	  exit 1; \
+	else :; fi
+endif %?FILENAME_FILTER%
+endif %?TOPDIR_P%
+
+
+
+## --------------------------------------- ##
+## Building various distribution flavors.  ##
+## --------------------------------------- ##
+
+## Note that we don't use GNU tar's `-z' option.  One reason (but not
+## the only reason) is that some versions of tar (e.g., OSF1)
+## interpret `-z' differently.
+##
+## The -o option of GNU tar used to exclude empty directories.  This
+## behavior was fixed in tar 1.12 (released on 1997-04-25).  But older
+## versions of tar are still used (for instance NetBSD 1.6.1 ships
+## with tar 1.11.2).  We do not do anything specific w.r.t. this
+## incompatibility since packages where empty directories need to be
+## present in the archive are really unusual.
+
+if %?TOPDIR_P%
+
+?GZIP?DIST_ARCHIVES += $(distdir).tar.gz
+GZIP_ENV = --best
+.PHONY: dist-gzip
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+?BZIP2?DIST_ARCHIVES += $(distdir).tar.bz2
+.PHONY: dist-bzip2
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+?COMPRESS?DIST_ARCHIVES += $(distdir).tar.Z
+.PHONY: dist-tarZ
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+?SHAR?DIST_ARCHIVES += $(distdir).shar.gz
+.PHONY: dist-shar
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+?ZIP?DIST_ARCHIVES += $(distdir).zip
+.PHONY: dist-zip
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+endif %?TOPDIR_P%
+
+
+
+## ------------------------------------------------- ##
+## Building all the requested distribution flavors.  ##
+## ------------------------------------------------- ##
+
+## Currently we cannot use if/endif inside a rule.  The file_contents
+## parser needs work.
+
+if %?TOPDIR_P%
+
+.PHONY: dist dist-all
+dist dist-all: distdir
+?GZIP?	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+?BZIP2?	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+?COMPRESS?	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+?SHAR?	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+?ZIP?	-rm -f $(distdir).zip
+?ZIP?	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+endif %?TOPDIR_P%
+
+
+## ------------------------- ##
+## Checking a distribution.  ##
+## ------------------------- ##
+
+
+if %?TOPDIR_P%
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+.PHONY: distcheck
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+## Make the new source tree read-only.  Distributions ought to work in
+## this case.  However, make the top-level directory writable so we
+## can make our new subdirs.
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+## Undo the write access.
+	chmod a-w $(distdir)
+## Compute the absolute path of `_inst'.  Strip any leading DOS drive
+## to allow DESTDIR installations.  Otherwise "$(DESTDIR)$(prefix)" would
+## expand to "c:/temp/am-dc-5668/c:/src/package/package-1.0/_inst".
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+## We will attemp a DESTDIR install in $dc_destdir.  We don't
+## create this directory under $dc_install_base, because it would
+## create very long directory names.
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+?DISTCHECK-HOOK?	  && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+?GETTEXT?	    --with-included-gettext \
+## Additional flags for configure.  Keep this last in the configure
+## invocation so the user can override previous options.
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+## Make sure the package has proper DESTDIR support (we could not test this
+## in the previous install/installcheck/uninstall test, because it's reasonable
+## for installcheck to fail in a DESTDIR install).
+## We make the `$dc_install_base' read-only because this is where files
+## with missing DESTDIR support are likely to be installed.
+	  && chmod -R a-w "$$dc_install_base" \
+## The logic here is quite convoluted because we must clean $dc_destdir
+## whatever happens (it won't be erased by the next run of distcheck like
+## $(distdir) is).
+	  && ({ \
+## Build the directory, so we can cd into it even if `make install'
+## didn't create it.  Use mkdir, not $(mkdir_p) because we want to
+## fail if the directory already exists (PR/413).
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+## Make sure to remove the dists we created in the test build directory.
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
+
+## Define distuninstallcheck_listfiles and distuninstallcheck separately
+## from distcheck, so that they can be overridden by the user.
+.PHONY: distuninstallcheck
+distuninstallcheck_listfiles = find . -type f -print
+distuninstallcheck:
+## We use -le 1 because the `dir' file (created by install-info)
+## might still exist after uninstall.
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+
+## Define distcleancheck_listfiles and distcleancheck separately
+## from distcheck, so that they can be overridden by the user.
+.PHONY: distcleancheck
+distcleancheck_listfiles = find . -type f -print
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+endif %?TOPDIR_P%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/footer.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/footer.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/footer.am	(revision 3089)
@@ -0,0 +1,20 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/header-vars.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/header-vars.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/header-vars.am	(revision 3089)
@@ -0,0 +1,62 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+@SET_MAKE@
+
+## We used to define this.  However, we don't because vendor makes
+## (e.g., Solaris, Irix) won't correctly propagate variables that are
+## defined in Makefile.  This particular variable can't be correctly
+## defined by configure (at least, not the current configure), so we
+## simply avoid defining it to allow the user to use this feature with
+## a vendor make.
+## DESTDIR =
+
+## Some derived variables that have been found to be useful.
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+## Location of top build directory relative to this one.
+top_builddir = %TOPDIR%
+
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+
+## These are defined because otherwise make on NetBSD V1.1 will print
+## (eg): $(NORMAL_INSTALL) expands to empty string.
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+
+## dejagnu.am uses these variables.  Some users might rely on them too.
+?BUILD?build_triplet = @build@
+?HOST?host_triplet = @host@
+?TARGET?target_triplet = @target@
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/header.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/header.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/header.am	(revision 3089)
@@ -0,0 +1,21 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2001, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+
+## Exactly the same as data.am.
+include data.am
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/inst-vars.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/inst-vars.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/inst-vars.am	(revision 3089)
@@ -0,0 +1,30 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2004  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?FIRST%
+## These variables help stripping any $(VPATH) that some
+## Make implementations prepend before VPATH-found files.
+## The issue is discussed at length in distdir.am.
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+## Strip all directories.
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+endif %?FIRST%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/install.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/install.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/install.am	(revision 3089)
@@ -0,0 +1,95 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## ----------------------------------------- ##
+## installdirs -- Creating the installdirs.  ##
+## ----------------------------------------- ##
+
+## The reason we loop over %am__installdirs% (instead of simply running
+## `$(mkdir_p) %am__installdirs%') is that directories variable such as
+## `"$(DESTDIR)$(mydir)"' can potentially expand to `""' if `$(mydir)'
+## is conditionally defined.  BTW, those directories are quoted in
+## order to support installation paths with spaces.
+
+if %?SUBDIRS%
+.PHONY: installdirs installdirs-am
+RECURSIVE_TARGETS += installdirs-recursive
+installdirs: installdirs-recursive
+installdirs-am:%installdirs-local%
+?am__installdirs?	for dir in %am__installdirs%; do \
+?am__installdirs?	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+?am__installdirs?	done
+else !%?SUBDIRS%
+.PHONY: installdirs
+installdirs:%installdirs-local%
+?am__installdirs?	for dir in %am__installdirs%; do \
+?am__installdirs?	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+?am__installdirs?	done
+endif !%?SUBDIRS%
+
+
+## ----------------- ##
+## Install targets.  ##
+## ----------------- ##
+
+.PHONY: install install-exec install-data uninstall
+.PHONY: install-exec-am install-data-am uninstall-am
+
+if %?SUBDIRS%
+RECURSIVE_TARGETS += install-data-recursive install-exec-recursive \
+		     install-recursive uninstall-recursive
+install:%maybe_BUILT_SOURCES% install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+else !%?SUBDIRS%
+install:%maybe_BUILT_SOURCES% install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+endif !%?SUBDIRS%
+
+.PHONY: install-am
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+
+.PHONY: installcheck
+?SUBDIRS?installcheck: installcheck-recursive
+?!SUBDIRS?installcheck: installcheck-am
+?!SUBDIRS?.PHONY: installcheck-am
+?!SUBDIRS?installcheck-am:
+
+## If you ever modify this, keep in mind that INSTALL_PROGRAM is used
+## in subdirectories, so never set it to a value relative to the top
+## directory.
+.PHONY: install-strip
+install-strip:
+## Beware that they are two variables used to install programs:
+##   INSTALL_PROGRAM is used for ordinary *_PROGRAMS
+##   install_sh_PROGRAM is used for nobase_*_PROGRAMS (because install-sh
+##                                                     creates directories)
+## It's OK to override both with INSTALL_STRIP_PROGRAM, because
+## INSTALL_STRIP_PROGRAM uses install-sh (see m4/strip.m4 for a rational).
+##
+## Use double quotes here because we might need to interpolate some
+## backquotes at runtime.
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/java.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/java.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/java.am	(revision 3089)
@@ -0,0 +1,88 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1998, 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+
+## ---------- ##
+## Building.  ##
+## ---------- ##
+
+JAVAC = javac
+CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
+JAVAROOT = $(top_builddir)
+
+class%DIR%.stamp: $(%DIR%_JAVA)
+	@if test -n "$?"; then \
+	  echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $?' ; \
+	  $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) \
+	    $(AM_JAVACFLAGS) $(JAVACFLAGS) $?; \
+	else :; fi
+	echo timestamp > class%DIR%.stamp
+
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?EXEC?.PHONY install-exec-am: install-%DIR%JAVA
+?!EXEC?.PHONY install-data-am: install-%DIR%JAVA
+install-%DIR%JAVA: class%DIR%.stamp
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+## A single .java file can be compiled into multiple .class files.  So
+## we just install all the .class files that got built into this
+## directory.  This is not optimal, but will have to do for now.
+	@test -z "$(%DIR%_JAVA)" || for p in *.class; do \
+	  echo " $(INSTALL_DATA) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
+	  $(INSTALL_DATA) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%JAVA
+uninstall-%DIR%JAVA:
+	@$(NORMAL_UNINSTALL)
+	@test -z "$(%DIR%_JAVA)" || for p in *.class; do \
+	  echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+	done
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY clean-am: clean-%DIR%JAVA
+clean-%DIR%JAVA:
+	-rm -f *.class class%DIR%.stamp
+
+
+## -------------- ##
+## Distributing.  ##
+## -------------- ##
+
+if %?DIST%
+DIST_COMMON += %DISTVAR%
+endif %?DIST%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/lang-compile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/lang-compile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/lang-compile.am	(revision 3089)
@@ -0,0 +1,41 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## This file is read once per *language*, not per extension.
+
+## ------------------------- ##
+## Preprocessed Fortran 77.  ##
+## ------------------------- ##
+
+## We also handle the case of preprocessing `.F' files into `.f' files.
+if %?PPF77%
+.F.f:
+	$(F77COMPILE) -F $<
+endif %?PPF77%
+
+
+
+## -------- ##
+## Ratfor.  ##
+## -------- ##
+
+## We also handle the case of preprocessing `.r' files into `.f' files.
+if %?RATFOR%
+.r.f:
+	$(RCOMPILE) -F $<
+endif %?RATFOR%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/lex.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/lex.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/lex.am	(revision 3089)
@@ -0,0 +1,32 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+?GENERIC?%EXT%%DERIVED-EXT%:
+?!GENERIC?%OBJ%: %SOURCE%
+if %?MORE-THAN-ONE%
+?GENERIC?	$(SHELL) $(YLWRAP) %SOURCE% $(LEX_OUTPUT_ROOT).c %OBJ% -- %COMPILE%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	$(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% $(LEX_OUTPUT_ROOT).c %OBJ% -- %COMPILE%
+else !%?MORE-THAN-ONE%
+?GENERIC?	%COMPILE% %SOURCE%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	%COMPILE% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
+## Edit out `#line' or `#' directives.
+	sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|%OBJ%|' $(LEX_OUTPUT_ROOT).c >%OBJ%
+	rm -f $(LEX_OUTPUT_ROOT).c
+endif !%?MORE-THAN-ONE%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/library.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/library.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/library.am	(revision 3089)
@@ -0,0 +1,21 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1999, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+%LIBRARY%: $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_DEPENDENCIES) %DIRSTAMP%
+	-rm -f %LIBRARY%
+	$(%XLIBRARY%_AR) %LIBRARY% $(%XLIBRARY%_OBJECTS) $(%XLIBRARY%_LIBADD)
+	$(RANLIB) %LIBRARY%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/libs.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/libs.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/libs.am	(revision 3089)
@@ -0,0 +1,89 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2001, 2002, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?INSTALL%
+include inst-vars.am
+endif %?INSTALL%
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%LIBRARIES_INSTALL = $(INSTALL_DATA)
+?!BASE?%DIR%LIBRARIES_INSTALL = $(install_sh_DATA)
+?EXEC?.PHONY install-exec-am: install-%DIR%LIBRARIES
+?!EXEC?.PHONY install-data-am: install-%DIR%LIBRARIES
+install-%DIR%LIBRARIES: $(%DIR%_LIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+## Funny invocation because Makefile variable can be empty, leading to
+## a syntax error in sh.
+	@list='$(%DIR%_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+## Compute basename of source file.  Unless this is a nobase_ target, we
+## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.yo',
+## not '$(DESTDIR)$(%NDIR%dir)/python/foo.yo'.
+?BASE?	    f=$(am__strip_dir) \
+?!BASE?	    f=$$p; \
+	    echo " $(%DIR%LIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	    $(%DIR%LIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	  else :; fi; \
+	done
+## We do two loops here so that $(POST_INSTALL) can be empty.  If we
+## merge the two loops, we get a syntax error from sh.  Anyway, having
+## $(POST_INSTALL) in the middle of the loop essentially renders it
+## useless; sh never actually executes this command.  Read the GNU
+## Standards for a little enlightenment on this.
+	@$(POST_INSTALL)
+	@list='$(%DIR%_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+?BASE?	    p=$(am__strip_dir) \
+## Must ranlib after installing because mod time changes.
+	    echo " $(RANLIB) '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
+	    $(RANLIB) "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+	  else :; fi; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%LIBRARIES
+uninstall-%DIR%LIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(%DIR%_LIBRARIES)'; for p in $$list; do \
+?BASE?	  p=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+	done
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY clean-am: clean-%DIR%LIBRARIES
+clean-%DIR%LIBRARIES:
+	-test -z "$(%DIR%_LIBRARIES)" || rm -f $(%DIR%_LIBRARIES)
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/libtool.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/libtool.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/libtool.am	(revision 3089)
@@ -0,0 +1,31 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+.PHONY: mostlyclean-libtool clean-libtool distclean-libtool
+mostlyclean-am: mostlyclean-libtool
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-am: clean-libtool
+clean-libtool:
+?LTRMS?%LTRMS%
+
+?TOPDIR?distclean-am: distclean-libtool
+?TOPDIR?distclean-libtool:
+?TOPDIR?	-rm -f libtool
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/lisp.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/lisp.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/lisp.am	(revision 3089)
@@ -0,0 +1,150 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?INSTALL%
+include inst-vars.am
+endif %?INSTALL%
+
+## ---------- ##
+## Building.  ##
+## ---------- ##
+
+elc-stamp: $(LISP)
+	@echo 'WARNING: Warnings can be ignored. :-)'
+	@rm -f elc-temp && touch elc-temp
+	if test "$(EMACS)" != no; then \
+## Make sure "$@" isn't empty initially.
+	  set x; \
+## Populate "$@" with elisp files (found in the current directory
+## or in $srcdir).
+	  list='$(LISP)'; for p in $$list; do \
+	    if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	    set x "$$@" "$$d$$p"; shift; \
+	  done; \
+## Finally call elisp-comp for all files.
+	  shift; \
+	  EMACS="$(EMACS)" $(SHELL) $(elisp_comp) "$$@" || exit 1; \
+	else : ; fi
+	@mv -f elc-temp $@
+
+## Do not use $(ELCFILES) as target, because it may have been emptied
+## by the user (to disable byte-compilation), and POSIX does not allow
+## an empty target.
+$(am__ELCFILES): elc-stamp
+## Recover from the removal of $@.
+##
+## Do not call `make elc-stamp' if emacs is not available, because it would
+## be useless.
+	@if test "$(EMACS)" != no && test ! -f $@; then \
+## If `make -j' is used and more than one file has been erased, several
+## processes can execute this block.  We have to make sure that only
+## the first one will run `$(MAKE) $(AM_MAKEFLAGS) elc-stamp', and the
+## other ones will wait.
+##
+## There is a race here if only one child of make receive a signal.
+## In that case the build may fail.  We remove elc-stamp when we receive
+## a signal so we are sure the build will succeed the next time.
+	  trap 'rm -rf elc-lock elc-stamp' 1 2 13 15; \
+	  if mkdir elc-lock 2>/dev/null; then \
+## This code is being executed by the first process.
+	    rm -f elc-stamp; \
+	    $(MAKE) $(AM_MAKEFLAGS) elc-stamp; \
+	    rmdir elc-lock; \
+	  else \
+## This code is being executed by the follower processes.
+## Wait until the first process is done.
+	    while test -d elc-lock; do sleep 1; done; \
+## Succeed if and only if the first process succeeded.
+	    test -f elc-stamp; exit $$?; \
+	  fi; \
+	else : ; fi
+
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%LISP_INSTALL = $(INSTALL_DATA)
+?!BASE?%DIR%LISP_INSTALL = $(install_sh_DATA)
+?EXEC?.PHONY install-exec-am: install-%DIR%LISP
+?!EXEC?.PHONY install-data-am: install-%DIR%LISP
+install-%DIR%LISP: $(%DIR%_LISP) $(ELCFILES)
+	@$(NORMAL_INSTALL)
+## Do not install anything if EMACS was not found.
+	@if test "$(EMACS)" != no; then \
+	  test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"; \
+?!BASE?	  $(am__vpath_adj_setup) \
+## Funny invocation because Makefile variable can be empty, leading to
+## a syntax error in sh.
+	  list='$(%DIR%_LISP)'; for p in $$list; do \
+## A lisp file can be in the source directory or the build directory.
+	    if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+?BASE?	    f=$(am__strip_dir) \
+?!BASE?	    $(am__vpath_adj) \
+	    echo " $(%DIR%LISP_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	    $(%DIR%LISP_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+## Only install .elc file if it exists.
+	    if test -f $${p}c; then \
+	      echo " $(%DIR%LISP_INSTALL) '$${p}c' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \
+	      $(%DIR%LISP_INSTALL) "$${p}c" "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \
+	    else : ; fi; \
+	  done; \
+	else : ; fi
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%LISP
+uninstall-%DIR%LISP:
+	@$(NORMAL_UNINSTALL)
+## Do not uninstall anything if EMACS was not found.
+	@if test "$(EMACS)" != no; then \
+?!BASE?	  $(am__vpath_adj_setup) \
+	  list='$(%DIR%_LISP)'; for p in $$list; do \
+?BASE?	    f=$(am__strip_dir) \
+?!BASE?	    $(am__vpath_adj) \
+	    echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f' '$(DESTDIR)$(%NDIR%dir)/$${f}c'"; \
+	    rm -f "$(DESTDIR)$(%NDIR%dir)/$$f" "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \
+	  done; \
+	else : ; fi
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY clean-am: clean-lisp
+clean-lisp:
+	-rm -f elc-stamp $(ELCFILES)
+
+
+## -------------- ##
+## Distributing.  ##
+## -------------- ##
+
+if %?DIST%
+DIST_COMMON += %DISTVAR%
+endif %?DIST%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/ltlib.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/ltlib.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/ltlib.am	(revision 3089)
@@ -0,0 +1,92 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?INSTALL%
+include inst-vars.am
+endif %?INSTALL%
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%LTLIBRARIES_INSTALL = $(INSTALL)
+?!BASE?%DIR%LTLIBRARIES_INSTALL = $(install_sh) -c
+?EXEC?.PHONY install-exec-am: install-%DIR%LTLIBRARIES
+?!EXEC?.PHONY install-data-am: install-%DIR%LTLIBRARIES
+install-%DIR%LTLIBRARIES: $(%DIR%_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+## Funny invocation because Makefile variable can be empty, leading to
+## a syntax error in sh.
+	@list='$(%DIR%_LTLIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+## Compute basename of source file.  Unless this is a nobase_ target, we
+## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.yo',
+## not '$(DESTDIR)$(%NDIR%dir)/python/foo.yo'.
+?BASE?	    f=$(am__strip_dir) \
+?!BASE?	    f=$$p; \
+## Note that we explicitly set the libtool mode.  This avoids any lossage
+## if the program doesn't have a name that libtool expects.
+## Use INSTALL and not INSTALL_DATA because libtool knows the right
+## permissions to use.
+?LIBTOOL?	    echo " $(LIBTOOL) --mode=install $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+?LIBTOOL?	    $(LIBTOOL) --mode=install $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+?!LIBTOOL?	    echo " $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+?!LIBTOOL?	    $(%DIR%LTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	  else :; fi; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%LTLIBRARIES
+uninstall-%DIR%LTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@set -x; list='$(%DIR%_LTLIBRARIES)'; for p in $$list; do \
+?BASE?	  p=$(am__strip_dir) \
+?LIBTOOL?	  echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
+?LIBTOOL?	  $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+?!LIBTOOL?	  echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$p'"; \
+?!LIBTOOL?	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$p"; \
+	done
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY clean-am: clean-%DIR%LTLIBRARIES
+clean-%DIR%LTLIBRARIES:
+	-test -z "$(%DIR%_LTLIBRARIES)" || rm -f $(%DIR%_LTLIBRARIES)
+## `so_locations' files are created by some linkers (IRIX, OSF) when
+## building a shared object.  Libtool places these files in the
+## directory where the shared object is created.
+	@list='$(%DIR%_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/ltlibrary.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/ltlibrary.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/ltlibrary.am	(revision 3089)
@@ -0,0 +1,19 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+%LTLIBRARY%: $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_DEPENDENCIES) %DIRSTAMP%
+	$(%XLINK%) %RPATH% $(%XLTLIBRARY%_LDFLAGS) $(%XLTLIBRARY%_OBJECTS) $(%XLTLIBRARY%_LIBADD) $(LIBS)
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/mans-vars.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/mans-vars.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/mans-vars.am	(revision 3089)
@@ -0,0 +1,22 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 2001, 2003 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+NROFF = nroff
+## We don't really need this, but we use it in case we ever want to
+## support noinst_MANS.
+MANS = %MANS%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/mans.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/mans.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/mans.am	(revision 3089)
@@ -0,0 +1,99 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1998, 2001, 2003, 2004 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+man%SECTION%dir = $(mandir)/man%SECTION%
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+## MANS primary are always installed in mandir, hence install-data
+## is hard coded.
+
+.PHONY: install-man
+?INSTALL-MAN?install-data-am: install-man
+?INSTALL-MAN?am__installdirs += "$(DESTDIR)$(man%SECTION%dir)"
+.PHONY install-man: install-man%SECTION%
+install-man%SECTION%: $(man%SECTION%_MANS) $(man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man%SECTION%dir)" || $(mkdir_p) "$(DESTDIR)$(man%SECTION%dir)"
+	@list='$(man%SECTION%_MANS) $(dist_man%SECTION%_MANS) $(nodist_man%SECTION%_MANS)'; \
+## Extract all items from man_MANS that should go in this section.
+## This must be done dynamically to support conditionals.
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+## Have to accept files like `foo.1c'.
+	    *.%SECTION%*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+## Find the file.
+	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+	  else file=$$i; fi; \
+## Change the extension if needed.
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    %SECTION%*) ;; \
+	    *) ext='%SECTION%' ;; \
+	  esac; \
+## Extract basename of man page and run it through the program rename
+## transform.
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man%SECTION%dir)/$$inst'"; \
+	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man%SECTION%dir)/$$inst"; \
+	done
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+## This is just completely gross.
+.PHONY: uninstall-man
+?INSTALL-MAN?uninstall-am: uninstall-man
+.PHONY uninstall-man: uninstall-man%SECTION%
+uninstall-man%SECTION%:
+	@$(NORMAL_UNINSTALL)
+	@list='$(man%SECTION%_MANS) $(dist_man%SECTION%_MANS) $(nodist_man%SECTION%_MANS)'; \
+## Extract all items from man_MANS that should go in this section.
+## This must be done dynamically to support conditionals.
+	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
+	for i in $$l2; do \
+	  case "$$i" in \
+## Have to accept files like `foo.1c'.
+	    *.%SECTION%*) list="$$list $$i" ;; \
+	  esac; \
+	done; \
+	for i in $$list; do \
+## Change the extension if needed.
+	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+	  case "$$ext" in \
+	    %SECTION%*) ;; \
+	    *) ext='%SECTION%' ;; \
+	  esac; \
+## Extract basename of man page and run it through the program rename
+## transform.
+	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
+	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+	  echo " rm -f '$(DESTDIR)$(man%SECTION%dir)/$$inst'"; \
+	  rm -f "$(DESTDIR)$(man%SECTION%dir)/$$inst"; \
+	done
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/multilib.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/multilib.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/multilib.am	(revision 3089)
@@ -0,0 +1,62 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1998, 2001, 2003, 2004 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+## Multilib support variables.
+MULTISRCTOP =
+MULTIBUILDTOP =
+MULTIDIRS =
+MULTISUBDIR =
+MULTIDO = true
+MULTICLEAN = true
+
+# GNU Make needs to see an explicit $(MAKE) variable in the command it
+# runs to enable its job server during parallel builds.  Hence the
+# comments below.
+
+all-multi:
+	$(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
+install-multi:
+	$(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
+
+.PHONY: all-multi install-multi
+
+
+mostlyclean-multi:
+	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
+clean-multi:
+	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
+distclean-multi:
+	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
+maintainer-clean-multi:
+	$(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
+
+.PHONY: mostlyclean-multi clean-multi distclean-multi maintainer-clean-multi
+
+install-exec-am: install-multi
+## No uninstall rule?
+
+
+## These cleaning rules are recursive.  They should not be
+## registered as dependencies of *-am rules.  For instance
+## otherwise running `make clean' would cause both
+## clean-multi and mostlyclean-multi to be run, while only
+## clean-multi is really expected (since clean-multi recursively
+## call clean, it already do the job of mostlyclean).
+mostlyclean: mostlyclean-multi
+clean: clean-multi
+distclean: distclean-multi
+maintainer-clean: maintainer-clean-multi
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/program.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/program.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/program.am	(revision 3089)
@@ -0,0 +1,26 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 2001, 2003
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+%PROGRAM%%EXEEXT%: $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_DEPENDENCIES) %DIRSTAMP%
+## Remove program before linking.  Otherwise the link will fail if the
+## program is running somewhere.  FIXME: this could be a loss if
+## you're using an incremental linker.  Maybe we should think twice?
+## Or maybe not... sadly, incremental linkers are rarer than losing
+## systems.
+	@rm -f %PROGRAM%%EXEEXT%
+	$(%XLINK%) $(%XPROGRAM%_LDFLAGS) $(%XPROGRAM%_OBJECTS) $(%XPROGRAM%_LDADD) $(LIBS)
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/progs.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/progs.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/progs.am	(revision 3089)
@@ -0,0 +1,130 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004
+##  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%PROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+?!BASE?%DIR%PROGRAMS_INSTALL = $(install_sh_PROGRAM)
+?EXEC?.PHONY install-exec-am: install-%DIR%PROGRAMS
+?!EXEC?.PHONY install-data-am: install-%DIR%PROGRAMS
+install-%DIR%PROGRAMS: $(%DIR%_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+## Funny invocation because Makefile variable can be empty, leading to
+## a syntax error in sh.
+	@list='$(%DIR%_PROGRAMS)'; for p in $$list; do \
+## On Cygwin with libtool test won't see `foo.exe' but instead `foo'.
+## So we check for both.
+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  if test -f $$p \
+?LIBTOOL?	     || test -f $$p1 \
+	  ; then \
+## Compute basename of source file.  Unless this is a nobase_ target, we
+## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.yo',
+## not '$(DESTDIR)$(%NDIR%dir)/python/foo.yo'.
+## However in all cases $(transform) applies only to the basename,
+## so we have to strip the directory part.
+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+## Prepend the directory part if nobase_ is used.
+?!BASE?	    f=`echo "$$p1" | sed 's|[^/]*$$||'`"$$f"; \
+## Note that we explicitly set the libtool mode.  This avoids any
+## lossage if the install program doesn't have a name that libtool
+## expects.
+?LIBTOOL?	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(%DIR%PROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+?LIBTOOL?	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(%DIR%PROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit 1; \
+?!LIBTOOL?	   echo " $(INSTALL_PROGRAM_ENV) $(%DIR%PROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+?!LIBTOOL?	   $(INSTALL_PROGRAM_ENV) $(%DIR%PROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(%NDIR%dir)/$$f" || exit 1; \
+	  else :; fi; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%PROGRAMS
+uninstall-%DIR%PROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(%DIR%_PROGRAMS)'; for p in $$list; do \
+## Remove any leading directory before applying $(transform).
+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+## Prepend the directory part if nobase_ is used.
+?!BASE?	  f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
+	  echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	done
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY clean-am: clean-%DIR%PROGRAMS
+clean-%DIR%PROGRAMS:
+?!LIBTOOL?	-test -z "$(%DIR%_PROGRAMS)" || rm -f $(%DIR%_PROGRAMS)
+## Under Cygwin, we build `program$(EXEEXT)'.  However, if this
+## program uses a Libtool library, Libtool will move it in
+## `_libs/program$(EXEEXT)' and create a `program' wrapper (without
+## `$(EXEEXT)').  Therefore, if Libtool is used, we must try to erase
+## both `program$(EXEEXT)' and `program'.
+## Cleaning the `_libs/' or `.libs/' directory is done from clean-libtool.
+## FIXME: In the future (i.e., when it works) it would be nice to delegate
+## this task to `libtool --mode=clean'.
+?LIBTOOL?	@list='$(%DIR%_PROGRAMS)'; for p in $$list; do \
+?LIBTOOL?	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+?LIBTOOL?	  echo " rm -f $$p $$f"; \
+?LIBTOOL?	  rm -f $$p $$f ; \
+?LIBTOOL?	done
+
+
+## ---------- ##
+## Checking.  ##
+## ---------- ##
+
+if %?CK-OPTS%
+.PHONY installcheck-am: installcheck-%DIR%PROGRAMS
+installcheck-%DIR%PROGRAMS: $(%DIR%_PROGRAMS)
+	bad=0; pid=$$$$; list="$(%DIR%_PROGRAMS)"; for p in $$list; do \
+	  case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
+## Match $(srcdir)/$$p in addition to $$p because Sun make might rewrite
+## filenames in AM_INSTALLCHECK_STD_OPTIONS_EXEMPT during VPATH builds.
+	   *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
+	  esac; \
+## Strip the directory and $(EXEEXT) before applying $(transform).
+	  f=`echo "$$p" | \
+	     sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+## Insert the directory back if nobase_ is used.
+?!BASE?	  f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
+	  for opt in --help --version; do \
+	    if "$(DESTDIR)$(%NDIR%dir)/$$f" $$opt >c$${pid}_.out \
+	         2>c$${pid}_.err </dev/null \
+		 && test -n "`cat c$${pid}_.out`" \
+		 && test -z "`cat c$${pid}_.err`"; then :; \
+	    else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
+	  done; \
+	done; rm -f c$${pid}_.???; exit $$bad
+endif %?CK-OPTS%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/python.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/python.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/python.am	(revision 3089)
@@ -0,0 +1,100 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?INSTALL%
+include inst-vars.am
+endif %?INSTALL%
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%PYTHON_INSTALL = $(INSTALL_DATA)
+?!BASE?%DIR%PYTHON_INSTALL = $(install_sh_DATA)
+?EXEC?.PHONY install-exec-am: install-%DIR%PYTHON
+?!EXEC?.PHONY install-data-am: install-%DIR%PYTHON
+install-%DIR%PYTHON: $(%DIR%_PYTHON)
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+?!BASE?	@$(am__vpath_adj_setup) \
+?!BASE?	list='$(%DIR%_PYTHON)'; dlist=''; for p in $$list; do\
+?BASE?	@list='$(%DIR%_PYTHON)'; dlist=''; for p in $$list; do\
+## A file can be in the source directory or the build directory.
+	  if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
+	  if test -f $$b$$p; then \
+## Compute basename of source file.  Unless this is a nobase_ target, we
+## want to install 'python/foo.py' as '$(DESTDIR)$(%NDIR%dir)/foo.py',
+## not '$(DESTDIR)$(%NDIR%dir)/python/foo.py'.
+?BASE?	    f=$(am__strip_dir) \
+?!BASE?	    $(am__vpath_adj) \
+	    dlist="$$dlist $$f"; \
+## Don't perform translation, since script name is important.
+	    echo " $(%DIR%PYTHON_INSTALL) '$$b$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	    $(%DIR%PYTHON_INSTALL) "$$b$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	  else :; fi; \
+	done; \
+## Byte-compile must be done at install time, since file times are
+## encoded in the actual files.
+	if test -n "$$dlist"; then \
+	  if test -z "$(DESTDIR)"; then \
+	    PYTHON=$(PYTHON) $(py_compile) --basedir "$(%NDIR%dir)" $$dlist; \
+	  else \
+	    PYTHON=$(PYTHON) $(py_compile) --destdir "$(DESTDIR)" --basedir "$(%NDIR%dir)" $$dlist; \
+	  fi; \
+	else :; fi
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%PYTHON
+uninstall-%DIR%PYTHON:
+	@$(NORMAL_UNINSTALL)
+?!BASE?	@$(am__vpath_adj_setup) \
+?!BASE?	list='$(%DIR%_PYTHON)'; dlist=''; for p in $$list; do\
+?BASE?	@list='$(%DIR%_PYTHON)'; dlist=''; for p in $$list; do\
+?BASE?	  f=$(am__strip_dir) \
+?!BASE?	  $(am__vpath_adj) \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+## This is to remove the .pyc and .pyo byte compiled versions (a bit
+## of a hack).
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$${f}c"; \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$${f}o"; \
+	done
+endif %?INSTALL%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+## There is nothing to clean here since files are
+## byte-compiled when (and where) they are installed.
+
+## -------------- ##
+## Distributing.  ##
+## -------------- ##
+
+if %?DIST%
+DIST_COMMON += %DISTVAR%
+endif %?DIST%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/remake-hdr.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/remake-hdr.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/remake-hdr.am	(revision 3089)
@@ -0,0 +1,78 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## Explicitly look in srcdir for benefit of non-GNU makes.
+
+
+%CONFIG_H%: %STAMP%
+## Recover from removal of CONFIG_HEADER
+	@if test ! -f $@; then \
+	  rm -f %STAMP%; \
+	  $(MAKE) %STAMP%; \
+	else :; fi
+
+
+%STAMP%: %CONFIG_H_DEPS% $(top_builddir)/config.status
+	@rm -f %STAMP%
+	cd $(top_builddir) && $(SHELL) ./config.status %CONFIG_H_PATH%
+
+
+## Only the first file of AC_CONFIG_HEADERS is assumed to be generated
+## by autoheader.
+if %?FIRST%
+%CONFIG_HIN%: %MAINTAINER-MODE% $(am__configure_deps) %FILES%
+	cd $(top_srcdir) && $(AUTOHEADER)
+## Whenever $(AUTOHEADER) has run, we must make sure that
+## ./config.status will rebuild config.h.  The dependency from %STAMP%
+## on %CONFIG_H_DEPS% (which contains config.hin) is not enough to
+## express his.
+##
+## There are some tricky cases where this rule will build a
+## config.hin which has the same timestamp as %STAMP%, in which case
+## ./config.status will not be rerun (meaning that users will use in
+## out-of-date config.h without knowing it).  One situation where this
+## can occurs is the following:
+## 1. the user updates some configure dependency (let's say foo.m4)
+##    and run `make'
+## 2. the rebuild rules detect that a foo.m4 has changed,
+##    run aclocal, autoconf, automake, and then run ./config.status.
+##    (Note that autoheader hasn't been called yet, so ./config.status
+##    outputs a config.h from an obsolete config.hin.)
+## 3. Once Makefile has been regenerated, make continues, and
+##    discover that config.h is a dependency of the `all' rule.
+##    Because config.h depends on stamp-h1, stamp-h1 depends on
+##    config.hin, and config.hin depends on aclocal.m4, make runs
+##    autoheader to rebuild config.hin.
+## Now make ought to call ./config.status once again to rebuild
+## config.h from the new config.hin, but if you have a sufficiently
+## fast box, steps 2 and 3 will occur within the same second: the
+## config.h/stamp-h1 generated from the outdated config.hin will have
+## the same mtime as the new config.hin.  Hence make will think that
+## config.h is up to date.
+##
+## A solution is to erase %STAMP% here so that the %STAMP% rule
+## is always triggered after the this one.
+	rm -f %STAMP%
+## Autoheader has the bad habit of not changing the timestamp if
+## config.hin is unchanged, which breaks Make targets.  Since what
+## must not changed gratuitously is config.h, which is already handled
+## by config.status, there is no reason to make things complex for
+## config.hin.
+	touch $@
+endif %?FIRST%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/scripts.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/scripts.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/scripts.am	(revision 3089)
@@ -0,0 +1,120 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+if %?INSTALL%
+if ! %?BASE%
+include inst-vars.am
+endif ! %?BASE%
+endif %?INSTALL%
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+if %?INSTALL%
+## if doesn't work properly for Automake variables yet.
+am__installdirs += "$(DESTDIR)$(%NDIR%dir)"
+?BASE?%DIR%SCRIPT_INSTALL = $(INSTALL_SCRIPT)
+?!BASE?%DIR%SCRIPT_INSTALL = $(install_sh_SCRIPT)
+?EXEC?.PHONY install-exec-am: install-%DIR%SCRIPTS
+?!EXEC?.PHONY install-data-am: install-%DIR%SCRIPTS
+install-%DIR%SCRIPTS: $(%DIR%_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(%NDIR%dir)" || $(mkdir_p) "$(DESTDIR)$(%NDIR%dir)"
+?!BASE?	@$(am__vpath_adj_setup) \
+## Funny invocation because Makefile variable can be empty, leading to
+## a syntax error in sh.
+?!BASE?	list='$(%DIR%_SCRIPTS)'; for p in $$list; do \
+?BASE?	@list='$(%DIR%_SCRIPTS)'; for p in $$list; do \
+?!BASE?	  $(am__vpath_adj) p=$$f; \
+## A file can be in the source directory or the build directory.
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f $$d$$p; then \
+## If the _SCRIPTS variable has an entry like foo/bar, install it as
+## $(destdir)/bar, not $(destdir)/foo/bar.  The user can make a
+## new dir variable or use a nobase_ target for the latter case.
+## However in all cases $(transform) applies only to the basename,
+## so we have to strip the directory part.
+	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+## Prepend the directory part if nobase_ is used.
+?!BASE?	    f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
+	    echo " $(%DIR%SCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	    $(%DIR%SCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	  else :; fi; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+if %?INSTALL%
+.PHONY uninstall-am: uninstall-%DIR%SCRIPTS
+uninstall-%DIR%SCRIPTS:
+	@$(NORMAL_UNINSTALL)
+?!BASE?	@$(am__vpath_adj_setup) \
+?!BASE?	list='$(%DIR%_SCRIPTS)'; for p in $$list; do \
+?BASE?	@list='$(%DIR%_SCRIPTS)'; for p in $$list; do \
+?!BASE?	  $(am__vpath_adj) p=$$f; \
+## Remove any leading directory before applying $(transform).
+	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
+## Prepend the directory part if nobase_ is used.
+?!BASE?	  f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
+	  echo " rm -f '$(DESTDIR)$(%NDIR%dir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(%NDIR%dir)/$$f"; \
+	done
+endif %?INSTALL%
+
+
+## -------------- ##
+## Distributing.  ##
+## -------------- ##
+
+if %?DIST%
+DIST_COMMON += %DISTVAR%
+endif %?DIST%
+
+
+## ---------- ##
+## Checking.  ##
+## ---------- ##
+
+if %?CK-OPTS%
+.PHONY installcheck-am: installcheck-%DIR%SCRIPTS
+installcheck-%DIR%SCRIPTS: $(%DIR%_SCRIPTS)
+	bad=0; pid=$$$$; list="$(%DIR%_SCRIPTS)"; for p in $$list; do \
+	  case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
+## Match $(srcdir)/$$p in addition to $$p because Sun make might rewrite
+## filenames in AM_INSTALLCHECK_STD_OPTIONS_EXEMPT during VPATH builds.
+	   *" $$p "* | *" $(srcdir)/$$p "*) continue;; \
+	  esac; \
+## Strip any leading directory before applying $(transform).
+	  f=`echo "$$p" | sed 's,^.*/,,;$(transform)'`; \
+## Insert the directory back if nobase_ is used.
+?!BASE?	  f=`echo "$$p" | sed 's|[^/]*$$||'`"$$f"; \
+	  for opt in --help --version; do \
+	    if "$(DESTDIR)$(%NDIR%dir)/$$f" $$opt >c$${pid}_.out \
+	         2>c$${pid}_.err </dev/null \
+		 && test -n "`cat c$${pid}_.out`" \
+		 && test -z "`cat c$${pid}_.err`"; then :; \
+	    else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
+	  done; \
+	done; rm -f c$${pid}_.???; exit $$bad
+endif %?CK-OPTS%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/subdirs.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/subdirs.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/subdirs.am	(revision 3089)
@@ -0,0 +1,111 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2005
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+RECURSIVE_TARGETS += \
+all-recursive check-recursive installcheck-recursive
+
+.PHONY: $(RECURSIVE_TARGETS)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+$(RECURSIVE_TARGETS):
+## Using $failcom allows "-k" to keep its natural meaning when running a
+## recursive rule.
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+
+mostlyclean: mostlyclean-recursive
+clean: clean-recursive
+distclean: distclean-recursive
+maintainer-clean: maintainer-clean-recursive
+
+.PHONY: mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive
+
+## We run all `clean' targets in reverse order.  Why?  It's an attempt
+## to alleviate a problem that can happen when dependencies are
+## enabled.  In this case, the .P file in one directory can depend on
+## some automatically generated header in an earlier directory.  Since
+## the dependencies are required before any target is examined, make
+## bombs.
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+## Using $failcom allows "-k" to keep its natural meaning when running a
+## recursive rule.
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+## For distclean and maintainer-clean we make sure to use the full
+## list of subdirectories.  We do this so that `configure; make
+## distclean' really is a no-op, even if SUBDIRS is conditional.  For
+## other clean targets this doesn't matter.
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+## Always do `.' last.
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/tags.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/tags.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/tags.am	(revision 3089)
@@ -0,0 +1,133 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## ---- ##
+## ID.  ##
+## ---- ##
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+## Make sure the list of sources is unique.
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+## Handle VPATH correctly.
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+
+
+## ------ ##
+## TAGS.  ##
+## ------ ##
+
+ETAGS = etags
+.PHONY: tags
+tags: TAGS
+
+TAGS: %TAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+## It is tempting to use if/endif here, but don't: the previous
+## backslash will cause bad results (automake doesn't `see' the `if').
+## Exuberant Ctags wants --etags-include,
+## GNU Etags             --include
+## Furthermore Exuberant Ctags 5.5.4 fails to create TAGS files
+## when no files are supplied, despite any --etags-include option.
+## A workaround is to pass `.' as a file.  This is what $empty_fix is for.
+?SUBDIRS?	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+?SUBDIRS?	  include_option=--etags-include; \
+?SUBDIRS?	  empty_fix=.; \
+?SUBDIRS?	else \
+?SUBDIRS?	  include_option=--include; \
+?SUBDIRS?	  empty_fix=; \
+?SUBDIRS?	fi; \
+?SUBDIRS?	list='$(SUBDIRS)'; for subdir in $$list; do \
+## Do nothing if we're trying to look in `.'.
+?SUBDIRS?	  if test "$$subdir" = .; then :; else \
+?SUBDIRS?	    test ! -f $$subdir/TAGS || \
+## Note that the = is mandatory for --etags-include.
+?SUBDIRS?	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+?SUBDIRS?	  fi; \
+?SUBDIRS?	done; \
+## Make sure the list of sources is unique.
+	list='$(SOURCES) $(HEADERS) %CONFIG% $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+## Handle VPATH correctly.
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+## Make sure we have something to run etags on.
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+
+
+## ------------- ##
+## vi-style tags ##
+## ------------- ##
+
+CTAGS = ctags
+.PHONY: CTAGS ctags
+ctags: CTAGS
+
+## We have a dummy name here because `tags' has already been in use
+## for a long time to mean Emacs-style tags.  Oops.  This means the
+## dependencies here are useless.
+CTAGS: %CTAGSDIRS% $(HEADERS) $(SOURCES) %CONFIG% $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+## Make sure the list of sources is unique.
+	list='$(SOURCES) $(HEADERS) %CONFIG% $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+## Handle VPATH correctly.
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+## Make sure we have something to run ctags on.
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+
+## --------------- ##
+## `Global' tags.  ##
+## --------------- ##
+
+.PHONY: GTAGS
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+.PHONY distclean-am: distclean-tags
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/texi-vers.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/texi-vers.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/texi-vers.am	(revision 3089)
@@ -0,0 +1,61 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+DIST_COMMON += %VTEXI% %STAMPVTI%
+
+## Don't give this rule a command (even `@:').
+## %STAMPVTI% is always newer than %VTEXI%, so this rule is always
+## triggered.  If you equip this rule with a command, GNU make will
+## assume %VTEXI% has been rebuild in the current directory and
+## discard any %VTEXI% file found in a VPATH search.
+%VTEXI%: %MAINTAINER-MODE% %STAMPVTI%
+
+## Depend on configure so that version number updates cause a rebuild.
+## (Not configure.ac, because not all setups define the version number
+## in this file.)
+%STAMPVTI%: %TEXI% $(top_srcdir)/configure
+## It is wrong to have %STAMPVTI% dependent on %DIRSTAMP%, because
+## %STAMPVTI% is distributed and %DIRSTAMP% isn't: a distributed file
+## should never be dependent upon a non-distributed built file.
+## Therefore we ensure that %DIRSTAMP% exists in the rule.
+?DIRSTAMP?	test -f %DIRSTAMP% || $(MAKE) %DIRSTAMP%
+	@(dir=.; test -f ./%TEXI% || dir=$(srcdir); \
+	set `$(SHELL) %MDDIR%mdate-sh $$dir/%TEXI%`; \
+	echo "@set UPDATED $$1 $$2 $$3"; \
+	echo "@set UPDATED-MONTH $$2 $$3"; \
+	echo "@set EDITION $(VERSION)"; \
+	echo "@set VERSION $(VERSION)") > %VTI%.tmp
+## Use cp and rm here because some older "mv"s can't move across
+## filesystems.  Furthermore, GNU "mv" in the AmigaDOS environment
+## can't handle this.
+	@cmp -s %VTI%.tmp %VTEXI% \
+	  || (echo "Updating %VTEXI%"; \
+	      cp %VTI%.tmp %VTEXI%)
+	-@rm -f %VTI%.tmp
+	@cp %VTEXI% $@
+
+mostlyclean-am: mostlyclean-%VTI%
+mostlyclean-%VTI%:
+	-rm -f %VTI%.tmp
+
+maintainer-clean-am: maintainer-clean-%VTI%
+maintainer-clean-%VTI%:
+%MAINTAINER-MODE%	-rm -f %STAMPVTI% %VTEXI%
+
+.PHONY: mostlyclean-%VTI% maintainer-clean-%VTI%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/texibuild.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/texibuild.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/texibuild.am	(revision 3089)
@@ -0,0 +1,119 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+##   2003, 2004, 2005  Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+
+?GENERIC_INFO?%SOURCE_SUFFIX%%DEST_SUFFIX%:
+?!GENERIC_INFO?%DEST_INFO_PREFIX%%DEST_SUFFIX%: %SOURCE_INFO% %DEPS%
+## It is wrong to have `info' files dependent on %DIRSTAMP%, because
+## `info' files are distributed and %DIRSTAMP% isn't: a distributed file
+## should never be dependent upon a non-distributed built file.
+## Therefore we ensure that %DIRSTAMP% exists in the rule.
+?!INSRC??DIRSTAMP?	@test -f %DIRSTAMP% || $(MAKE) %DIRSTAMP%
+## Back up the info files before running makeinfo. This is the cheapest
+## way to ensure that
+## 1) If the texinfo file shrinks (or if you start using --no-split),
+##    you'll not be left with some dead info files lying around -- dead
+##    files which would end up in the distribution.
+## 2) If the texinfo file has some minor mistakes which cause makeinfo
+##    to fail, the info files are not removed.  (They are needed by the
+##    developer while he writes documentation.)
+## *.iNN files are used on DJGPP.  See the comments in install-info-am
+	restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+?INSRC?	am__cwd=`pwd` && cd $(srcdir) && \
+	rm -rf $$backupdir && mkdir $$backupdir && \
+## If makeinfo is not installed we must not backup the files so
+##`missing' can do its job and touch $@ if it exists.
+	if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
+	  for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
+	    if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
+	  done; \
+	else :; fi && \
+?INSRC?	cd "$$am__cwd"; \
+	if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS% \
+?!INSRC?	 -o $@ `test -f '%SOURCE_INFO%' || echo '$(srcdir)/'`%SOURCE_INFO%; \
+?INSRC??!GENERIC_INFO?	 -o $@ $(srcdir)/%SOURCE_INFO%; \
+?INSRC??GENERIC_INFO?	 -o $@ $<; \
+	then \
+	  rc=0; \
+?INSRC?	  cd $(srcdir); \
+	else \
+	  rc=$$?; \
+## Beware that backup info files might come from a subdirectory.
+?INSRC?	  cd $(srcdir) && \
+	  $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+	fi; \
+	rm -rf $$backupdir; exit $$rc
+
+INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX%
+
+?GENERIC?%SOURCE_SUFFIX%.dvi:
+?!GENERIC?%DEST_PREFIX%.dvi: %SOURCE% %DEPS% %DIRSTAMP%
+	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+## Must set MAKEINFO like this so that version.texi will be found even
+## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
+	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS%' \
+## Do not use `-o' unless necessary: it is only supported since Texinfo 4.1.
+?GENERIC?	$(TEXI2DVI) %SOURCE%
+?!GENERIC?	$(TEXI2DVI) -o $@ `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+
+?GENERIC?%SOURCE_SUFFIX%.pdf:
+?!GENERIC?%DEST_PREFIX%.pdf: %SOURCE% %DEPS% %DIRSTAMP%
+	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+## Must set MAKEINFO like this so that version.texi will be found even
+## if it is in srcdir (-I $(srcdir) is set in %MAKEINFOFLAGS%).
+	MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS%' \
+## Do not use `-o' unless necessary: it is only supported since Texinfo 4.1.
+?GENERIC?	$(TEXI2PDF) %SOURCE%
+?!GENERIC?	$(TEXI2PDF) -o $@ `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+
+?GENERIC?%SOURCE_SUFFIX%.html:
+?!GENERIC?%DEST_PREFIX%.html: %SOURCE% %DEPS% %DIRSTAMP%
+## When --split (the default) is used, makeinfo will output a
+## directory.  However it will not update the time stamp of a
+## previously existing directory, and when the names of the nodes
+## in the manual change, it may leave unused pages.  Our fix
+## is to build under a temporary name, and replace the target on
+## success.
+	rm -rf $(@:.html=.htp)
+	if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) %MAKEINFOFLAGS% \
+?GENERIC?	 -o $(@:.html=.htp) %SOURCE%; \
+?!GENERIC?	 -o $(@:.html=.htp) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%; \
+	then \
+	  rm -rf $@; \
+## Work around a bug in Texinfo 4.1 (-o foo.html outputs files in foo/
+## instead of foo.html/).
+	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+	    mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \
+	else \
+	  if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \
+	    rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
+	  exit 1; \
+	fi
+
+## If we are using the generic rules, we need separate dependencies.
+## (Don't wonder about %DIRSTAMP% here, this is used only by non-generic
+## rules.)
+if %?GENERIC_INFO%
+%DEST_INFO_PREFIX%%DEST_SUFFIX%: %SOURCE_REAL% %DEPS%
+endif %?GENERIC_INFO%
+if %?GENERIC%
+%DEST_PREFIX%.dvi: %SOURCE_REAL% %DEPS%
+%DEST_PREFIX%.pdf: %SOURCE_REAL% %DEPS%
+%DEST_PREFIX%.html: %SOURCE_REAL% %DEPS%
+endif %?GENERIC%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/texinfos.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/texinfos.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/texinfos.am	(revision 3089)
@@ -0,0 +1,277 @@
+## automake - create Makefile.in from Makefile.am
+
+## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+## 2003, 2004, 2005 Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+## ----------- ##
+## Variables.  ##
+## ----------- ##
+
+if %?LOCAL-TEXIS%
+if ! %?CYGNUS%
+TEXI2DVI = texi2dvi
+
+else %?CYGNUS%
+
+## Find these programs wherever they may lie.  Yes, this has
+## intimate knowledge of the structure of the texinfo distribution.
+MAKEINFO = `if test -f $(top_builddir)/../texinfo/makeinfo/makeinfo; then \
+            echo $(top_builddir)/../texinfo/makeinfo/makeinfo; \
+          else \
+            echo makeinfo; \
+          fi`
+
+TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then \
+             echo $(top_srcdir)/../texinfo/util/texi2dvi; \
+           else \
+             echo texi2dvi; \
+           fi`
+endif %?CYGNUS%
+
+TEXI2PDF = $(TEXI2DVI) --pdf --batch
+MAKEINFOHTML = $(MAKEINFO) --html
+AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
+endif %?LOCAL-TEXIS%
+
+
+## ---------- ##
+## Building.  ##
+## ---------- ##
+
+## The way to make PostScript, for those who want it.
+if %?LOCAL-TEXIS%
+DVIPS = dvips
+.dvi.ps:
+	TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
+	$(DVIPS) -o $@ $<
+endif %?LOCAL-TEXIS%
+
+.PHONY: dvi dvi-am html html-am info info-am pdf pdf-am ps ps-am
+if %?SUBDIRS%
+RECURSIVE_TARGETS += dvi-recursive html-recursive info-recursive
+RECURSIVE_TARGETS += pdf-recursive ps-recursive
+dvi: dvi-recursive
+html: html-recursive
+info: info-recursive
+pdf: pdf-recursive
+ps: ps-recursive
+else !%?SUBDIRS%
+dvi: dvi-am
+html: html-am
+info: info-am
+pdf: pdf-am
+ps: ps-am
+endif !%?SUBDIRS%
+
+if %?LOCAL-TEXIS%
+dvi-am: $(DVIS)
+html-am: $(HTMLS)
+info-am: $(INFO_DEPS)
+pdf-am: $(PDFS)
+ps-am: $(PSS)
+else ! %?LOCAL-TEXIS%
+dvi-am:
+html-am:
+info-am:
+pdf-am:
+ps-am:
+endif ! %?LOCAL-TEXIS%
+
+
+## ------------ ##
+## Installing.  ##
+## ------------ ##
+
+## Look in both . and srcdir because the info pages might have been
+## rebuilt in the build directory.  Can't cd to srcdir; that might
+## break a possible install-sh reference.
+##
+## Funny name due to --cygnus influence; we want to reserve
+## `install-info' for the user.
+##
+## TEXINFOS primary are always installed in infodir, hence install-data
+## is hard coded.
+if %?INSTALL-INFO%
+if %?LOCAL-TEXIS%
+am__installdirs += "$(DESTDIR)$(infodir)"
+install-data-am: install-info-am
+endif %?LOCAL-TEXIS%
+endif %?INSTALL-INFO%
+.PHONY: install-info
+if %?SUBDIRS%
+RECURSIVE_TARGETS += install-info-recursive
+install-info: install-info-recursive
+else !%?SUBDIRS%
+install-info: install-info-am
+endif !%?SUBDIRS%
+
+.PHONY: install-info-am
+if %?LOCAL-TEXIS%
+install-info-am: $(INFO_DEPS)
+	@$(NORMAL_INSTALL)
+	test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	list='$(INFO_DEPS)'; \
+	for file in $$list; do \
+## Strip possible $(srcdir) prefix.
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	  esac; \
+	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
+## 8+3 filesystems cannot deal with foo.info-N filenames: they all
+## conflict.  DJGPP comes with a tool, DJTAR, that will rename these
+## files to foo.iNN while extracting the archive.  DJGPP's makeinfo
+## is patched to grok these filenames.  However we have to account
+## for the renaming when installing the info files.
+##
+## If $file == foo.info, then $file_i == foo.i.  The reason we use two
+## shell commands instead of one ('s|\.info$$|.i|') is so that a suffix-less
+## `foo' becomes `foo.i' too.
+	  file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
+	  for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
+                       $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+	    if test -f $$ifile; then \
+## Strip directory
+	      relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
+	      echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
+	      $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
+	    else : ; fi; \
+	  done; \
+	done
+	@$(POST_INSTALL)
+## Only run this code if install-info actually exists, and it is not
+## the Debian install-info.  FIXME: once Debian install-info goes
+## away, we can remove this hack.  Some versions of Debian install-info
+## print their version on stderr (e.g. 1.8.3), other do it in
+## on stdout (e.g. 1.10.15).
+##
+## Do not use
+##    install-info --version 2>&1 | sed 1q | grep -v -i debian
+## as if install-info does not exist, grep -v will be happy, and
+## therefore the code will be triggered although install-info is missing.
+	@if (install-info --version && \
+	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+	  list='$(INFO_DEPS)'; \
+	  for file in $$list; do \
+## Strip directory
+	    relfile=`echo "$$file" | sed 's|^.*/||'`; \
+## Run `:' after install-info in case install-info fails.  We really
+## don't care about failures here, because they can be spurious.  For
+## instance if you don't have a dir file, install-info will fail.  I
+## think instead it should create a new dir file for you.  This bug
+## causes the `make distcheck' target to fail reliably.
+	    echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
+## Use `|| :' here because Sun make passes -e to sh; if install-info
+## fails then we'd fail if we used `;'.
+	    install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
+	  done; \
+	else : ; fi
+else ! %?LOCAL-TEXIS%
+install-info-am:
+endif ! %?LOCAL-TEXIS%
+
+
+## -------------- ##
+## Uninstalling.  ##
+## -------------- ##
+
+?SUBDIRS?RECURSIVE_TARGETS += uninstall-info-recursive
+?SUBDIRS?uninstall-info: uninstall-info-recursive
+?INSTALL-INFO?uninstall-am: uninstall-info-am
+
+.PHONY: uninstall-info-am
+
+if %?LOCAL-TEXIS%
+uninstall-info-am:
+	@$(PRE_UNINSTALL)
+## Run two loops here so that we can handle PRE_UNINSTALL and
+## NORMAL_UNINSTALL correctly.
+	@if (install-info --version && \
+	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
+	  list='$(INFO_DEPS)'; \
+	  for file in $$list; do \
+	    relfile=`echo "$$file" | sed 's|^.*/||'`; \
+## install-info needs the actual info file.  We use the installed one,
+## rather than relying on one still being in srcdir or builddir.
+	    echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
+	    install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+	  done; \
+	else :; fi
+	@$(NORMAL_UNINSTALL)
+	@list='$(INFO_DEPS)'; \
+	for file in $$list; do \
+	  relfile=`echo "$$file" | sed 's|^.*/||'`; \
+## DJGPP-style info files.  See comment in install-info-am.
+	  relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
+	  (if cd "$(DESTDIR)$(infodir)"; then \
+	     echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
+	     rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
+	   else :; fi); \
+	done
+else ! %?LOCAL-TEXIS%
+uninstall-info-am:
+endif ! %?LOCAL-TEXIS%
+
+if %?LOCAL-TEXIS%
+.PHONY: dist-info
+dist-info: $(INFO_DEPS)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	list='$(INFO_DEPS)'; \
+	for base in $$list; do \
+## Strip possible $(srcdir) prefix.
+	  case $$base in \
+	    $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
+	  esac; \
+	  if test -f $$base; then d=.; else d=$(srcdir); fi; \
+	  for file in $$d/$$base*; do \
+## Strip leading '$$d/'.
+	    relfile=`expr "$$file" : "$$d/\(.*\)"`; \
+	    test -f $(distdir)/$$relfile || \
+	      cp -p $$file $(distdir)/$$relfile; \
+	  done; \
+	done
+endif %?LOCAL-TEXIS%
+
+
+## ---------- ##
+## Cleaning.  ##
+## ---------- ##
+
+## The funny name is due to --cygnus influence; in Cygnus mode,
+## `clean-info' is a target that users can use.
+
+if %?LOCAL-TEXIS%
+.PHONY mostlyclean-am: mostlyclean-aminfo
+.PHONY: mostlyclean-aminfo
+mostlyclean-aminfo:
+## Use `-rf', not just `-f', because %TEXICLEAN% also contains
+## any directory created by `makeinfo --html'.
+	-rm -rf %TEXICLEAN%
+
+.PHONY maintainer-clean-am: maintainer-clean-aminfo
+maintainer-clean-aminfo:
+	@list='$(INFO_DEPS)'; for i in $$list; do \
+## .iNN files are DJGPP-style info files.
+	  i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
+	  echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
+	  rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
+	done
+
+?CYGNUS?.PHONY: clean-info
+?CYGNUS?clean-info: mostlyclean-aminfo
+endif %?LOCAL-TEXIS%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/am/yacc.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/am/yacc.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/am/yacc.am	(revision 3089)
@@ -0,0 +1,52 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004
+##   Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+?GENERIC?%EXT%%DERIVED-EXT%:
+?!GENERIC?%OBJ%: %SOURCE%
+if %?MORE-THAN-ONE%
+?GENERIC?	$(SHELL) $(YLWRAP) %SOURCE% y.tab.c %OBJ% y.tab.h %BASE%.h y.output %BASE%.output -- %COMPILE%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	$(SHELL) $(YLWRAP) `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE% y.tab.c %OBJ% y.tab.h %BASE%.h y.output %BASE%.output -- %COMPILE%
+else !%?MORE-THAN-ONE%
+?GENERIC?	%COMPILE% %SOURCE%
+## For non-suffix rules, we must emulate a VPATH search on %SOURCE%.
+?!GENERIC?	%COMPILE% `test -f '%SOURCE%' || echo '$(srcdir)/'`%SOURCE%
+## Edit out Bison multiple inclusion guards.  It may be BISON_Y_TAB_H,
+## or Y_TAB_H depending upon the version, that's why the regexp is
+## so loose.
+	if test -f y.tab.h; then \
+	  to=`echo "%BASE%_H" | sed \
+                -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
+                -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
+	  sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|%BASE%.h|" \
+            y.tab.h >%BASE%.ht; \
+	  rm -f y.tab.h; \
+	  if cmp -s %BASE%.ht %BASE%.h; then \
+	    rm -f %BASE%.ht ;\
+	  else \
+	    mv %BASE%.ht %BASE%.h; \
+	  fi; \
+	fi
+	if test -f y.output; then \
+	  mv y.output %BASE%.output; \
+	fi
+## Edit out `#line' or `#' directives.
+	sed '/^#/ s|y\.tab\.c|%OBJ%|' y.tab.c >%OBJ%t && mv %OBJ%t %OBJ%
+	rm -f y.tab.c
+endif !%?MORE-THAN-ONE%
Index: /trunk/essentials/sys-devel/automake-1.9/lib/ansi2knr.1
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/ansi2knr.1	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/ansi2knr.1	(revision 3089)
@@ -0,0 +1,36 @@
+.TH ANSI2KNR 1 "19 Jan 1996"
+.SH NAME
+ansi2knr \- convert ANSI C to Kernighan & Ritchie C
+.SH SYNOPSIS
+.I ansi2knr
+[--varargs] input_file [output_file]
+.SH DESCRIPTION
+If no output_file is supplied, output goes to stdout.
+.br
+There are no error messages.
+.sp
+.I ansi2knr
+recognizes function definitions by seeing a non-keyword identifier at the left
+margin, followed by a left parenthesis, with a right parenthesis as the last
+character on the line, and with a left brace as the first token on the
+following line (ignoring possible intervening comments).  It will recognize a
+multi-line header provided that no intervening line ends with a left or right
+brace or a semicolon.  These algorithms ignore whitespace and comments, except
+that the function name must be the first thing on the line.
+.sp
+The following constructs will confuse it:
+.br
+     - Any other construct that starts at the left margin and follows the
+above syntax (such as a macro or function call).
+.br
+     - Some macros that tinker with the syntax of the function header.
+.sp
+The --varargs switch is obsolete, and is recognized only for
+backwards compatibility.  The present version of
+.I ansi2knr
+will always attempt to convert a ... argument to va_alist and va_dcl.
+.SH AUTHOR
+L. Peter Deutsch <ghost@aladdin.com> wrote the original ansi2knr and
+continues to maintain the current version; most of the code in the current
+version is his work.  ansi2knr also includes contributions by Francois
+Pinard <pinard@iro.umontreal.ca> and Jim Avera <jima@netcom.com>.
Index: /trunk/essentials/sys-devel/automake-1.9/lib/ansi2knr.c
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/ansi2knr.c	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/ansi2knr.c	(revision 3089)
@@ -0,0 +1,739 @@
+/* Copyright (C) 1989, 2000 Aladdin Enterprises.  All rights reserved. */
+
+/*$Id: ansi2knr.c,v 1.3 2000/04/13 03:41:48 lpd Exp $*/
+/* Convert ANSI C function definitions to K&R ("traditional C") syntax */
+
+/*
+ansi2knr is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY.  No author or distributor accepts responsibility to anyone for the
+consequences of using it or for whether it serves any particular purpose or
+works at all, unless he says so in writing.  Refer to the GNU General Public
+License (the "GPL") for full details.
+
+Everyone is granted permission to copy, modify and redistribute ansi2knr,
+but only under the conditions described in the GPL.  A copy of this license
+is supposed to have been given to you along with ansi2knr so you can know
+your rights and responsibilities.  It should be in a file named COPYLEFT,
+or, if there is no file named COPYLEFT, a file named COPYING.  Among other
+things, the copyright notice and this notice must be preserved on all
+copies.
+
+We explicitly state here what we believe is already implied by the GPL: if
+the ansi2knr program is distributed as a separate set of sources and a
+separate executable file which are aggregated on a storage medium together
+with another program, this in itself does not bring the other program under
+the GPL, nor does the mere fact that such a program or the procedures for
+constructing it invoke the ansi2knr executable bring any other part of the
+program under the GPL.
+*/
+
+/*
+ * Usage:
+	ansi2knr [--filename FILENAME] [INPUT_FILE [OUTPUT_FILE]]
+ * --filename provides the file name for the #line directive in the output,
+ * overriding input_file (if present).
+ * If no input_file is supplied, input is read from stdin.
+ * If no output_file is supplied, output goes to stdout.
+ * There are no error messages.
+ *
+ * ansi2knr recognizes function definitions by seeing a non-keyword
+ * identifier at the left margin, followed by a left parenthesis, with a
+ * right parenthesis as the last character on the line, and with a left
+ * brace as the first token on the following line (ignoring possible
+ * intervening comments and/or preprocessor directives), except that a line
+ * consisting of only
+ *	identifier1(identifier2)
+ * will not be considered a function definition unless identifier2 is
+ * the word "void", and a line consisting of
+ *	identifier1(identifier2, <<arbitrary>>)
+ * will not be considered a function definition.
+ * ansi2knr will recognize a multi-line header provided that no intervening
+ * line ends with a left or right brace or a semicolon.  These algorithms
+ * ignore whitespace, comments, and preprocessor directives, except that
+ * the function name must be the first thing on the line.  The following
+ * constructs will confuse it:
+ *	- Any other construct that starts at the left margin and
+ *	    follows the above syntax (such as a macro or function call).
+ *	- Some macros that tinker with the syntax of function headers.
+ */
+
+/*
+ * The original and principal author of ansi2knr is L. Peter Deutsch
+ * <ghost@aladdin.com>.  Other authors are noted in the change history
+ * that follows (in reverse chronological order):
+
+	lpd 2000-04-12 backs out Eggert's changes because of bugs:
+	- concatlits didn't declare the type of its bufend argument;
+	- concatlits didn't recognize when it was inside a comment;
+	- scanstring could scan backward past the beginning of the string; when
+	- the check for \ + newline in scanstring was unnecessary.
+
+	2000-03-05  Paul Eggert  <eggert@twinsun.com>
+
+	Add support for concatenated string literals.
+	* ansi2knr.c (concatlits): New decl.
+	(main): Invoke concatlits to concatenate string literals.
+	(scanstring): Handle backslash-newline correctly.  Work with
+	character constants.  Fix bug when scanning backwards through
+	backslash-quote.  Check for unterminated strings.
+	(convert1): Parse character constants, too.
+	(appendline, concatlits): New functions.
+	* ansi2knr.1: Document this.
+
+	lpd 1999-08-17 added code to allow preprocessor directives
+		wherever comments are allowed
+	lpd 1999-04-12 added minor fixes from Pavel Roskin
+		<pavel_roskin@geocities.com> for clean compilation with
+		gcc -W -Wall
+	lpd 1999-03-22 added hack to recognize lines consisting of
+		identifier1(identifier2, xxx) as *not* being procedures
+	lpd 1999-02-03 made indentation of preprocessor commands consistent
+	lpd 1999-01-28 fixed two bugs: a '/' in an argument list caused an
+		endless loop; quoted strings within an argument list
+		confused the parser
+	lpd 1999-01-24 added a check for write errors on the output,
+		suggested by Jim Meyering <meyering@ascend.com>
+	lpd 1998-11-09 added further hack to recognize identifier(void)
+		as being a procedure
+	lpd 1998-10-23 added hack to recognize lines consisting of
+		identifier1(identifier2) as *not* being procedures
+	lpd 1997-12-08 made input_file optional; only closes input and/or
+		output file if not stdin or stdout respectively; prints
+		usage message on stderr rather than stdout; adds
+		--filename switch (changes suggested by
+		<ceder@lysator.liu.se>)
+	lpd 1996-01-21 added code to cope with not HAVE_CONFIG_H and with
+		compilers that don't understand void, as suggested by
+		Tom Lane
+	lpd 1996-01-15 changed to require that the first non-comment token
+		on the line following a function header be a left brace,
+		to reduce sensitivity to macros, as suggested by Tom Lane
+		<tgl@sss.pgh.pa.us>
+	lpd 1995-06-22 removed #ifndefs whose sole purpose was to define
+		undefined preprocessor symbols as 0; changed all #ifdefs
+		for configuration symbols to #ifs
+	lpd 1995-04-05 changed copyright notice to make it clear that
+		including ansi2knr in a program does not bring the entire
+		program under the GPL
+	lpd 1994-12-18 added conditionals for systems where ctype macros
+		don't handle 8-bit characters properly, suggested by
+		Francois Pinard <pinard@iro.umontreal.ca>;
+		removed --varargs switch (this is now the default)
+	lpd 1994-10-10 removed CONFIG_BROKETS conditional
+	lpd 1994-07-16 added some conditionals to help GNU `configure',
+		suggested by Francois Pinard <pinard@iro.umontreal.ca>;
+		properly erase prototype args in function parameters,
+		contributed by Jim Avera <jima@netcom.com>;
+		correct error in writeblanks (it shouldn't erase EOLs)
+	lpd 1989-xx-xx original version
+ */
+
+/* Most of the conditionals here are to make ansi2knr work with */
+/* or without the GNU configure machinery. */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <ctype.h>
+
+#if HAVE_CONFIG_H
+
+/*
+   For properly autoconfiguring ansi2knr, use AC_CONFIG_HEADER(config.h).
+   This will define HAVE_CONFIG_H and so, activate the following lines.
+ */
+
+# if STDC_HEADERS || HAVE_STRING_H
+#  include <string.h>
+# else
+#  include <strings.h>
+# endif
+
+#else /* not HAVE_CONFIG_H */
+
+/* Otherwise do it the hard way */
+
+# ifdef BSD
+#  include <strings.h>
+# else
+#  ifdef VMS
+    extern int strlen(), strncmp();
+#  else
+#   include <string.h>
+#  endif
+# endif
+
+#endif /* not HAVE_CONFIG_H */
+
+#if STDC_HEADERS
+# include <stdlib.h>
+#else
+/*
+   malloc and free should be declared in stdlib.h,
+   but if you've got a K&R compiler, they probably aren't.
+ */
+# ifdef MSDOS
+#  include <malloc.h>
+# else
+#  ifdef VMS
+     extern char *malloc();
+     extern void free();
+#  else
+     extern char *malloc();
+     extern int free();
+#  endif
+# endif
+
+#endif
+
+/* Define NULL (for *very* old compilers). */
+#ifndef NULL
+# define NULL (0)
+#endif
+
+/*
+ * The ctype macros don't always handle 8-bit characters correctly.
+ * Compensate for this here.
+ */
+#ifdef isascii
+# undef HAVE_ISASCII		/* just in case */
+# define HAVE_ISASCII 1
+#else
+#endif
+#if STDC_HEADERS || !HAVE_ISASCII
+# define is_ascii(c) 1
+#else
+# define is_ascii(c) isascii(c)
+#endif
+
+#define is_space(c) (is_ascii(c) && isspace(c))
+#define is_alpha(c) (is_ascii(c) && isalpha(c))
+#define is_alnum(c) (is_ascii(c) && isalnum(c))
+
+/* Scanning macros */
+#define isidchar(ch) (is_alnum(ch) || (ch) == '_')
+#define isidfirstchar(ch) (is_alpha(ch) || (ch) == '_')
+
+/* Forward references */
+char *ppdirforward();
+char *ppdirbackward();
+char *skipspace();
+char *scanstring();
+int writeblanks();
+int test1();
+int convert1();
+
+/* The main program */
+int
+main(argc, argv)
+    int argc;
+    char *argv[];
+{	FILE *in = stdin;
+	FILE *out = stdout;
+	char *filename = 0;
+	char *program_name = argv[0];
+	char *output_name = 0;
+#define bufsize 5000			/* arbitrary size */
+	char *buf;
+	char *line;
+	char *more;
+	char *usage =
+	  "Usage: ansi2knr [--filename FILENAME] [INPUT_FILE [OUTPUT_FILE]]\n";
+	/*
+	 * In previous versions, ansi2knr recognized a --varargs switch.
+	 * If this switch was supplied, ansi2knr would attempt to convert
+	 * a ... argument to va_alist and va_dcl; if this switch was not
+	 * supplied, ansi2knr would simply drop any such arguments.
+	 * Now, ansi2knr always does this conversion, and we only
+	 * check for this switch for backward compatibility.
+	 */
+	int convert_varargs = 1;
+	int output_error;
+
+	while ( argc > 1 && argv[1][0] == '-' ) {
+	  if ( !strcmp(argv[1], "--varargs") ) {
+	    convert_varargs = 1;
+	    argc--;
+	    argv++;
+	    continue;
+	  }
+	  if ( !strcmp(argv[1], "--filename") && argc > 2 ) {
+	    filename = argv[2];
+	    argc -= 2;
+	    argv += 2;
+	    continue;
+	  }
+	  fprintf(stderr, "%s: Unrecognized switch: %s\n", program_name,
+		  argv[1]);
+	  fprintf(stderr, usage);
+	  exit(1);
+	}
+	switch ( argc )
+	   {
+	default:
+		fprintf(stderr, usage);
+		exit(0);
+	case 3:
+		output_name = argv[2];
+		out = fopen(output_name, "w");
+		if ( out == NULL ) {
+		  fprintf(stderr, "%s: Cannot open output file %s\n",
+			  program_name, output_name);
+		  exit(1);
+		}
+		/* falls through */
+	case 2:
+		in = fopen(argv[1], "r");
+		if ( in == NULL ) {
+		  fprintf(stderr, "%s: Cannot open input file %s\n",
+			  program_name, argv[1]);
+		  exit(1);
+		}
+		if ( filename == 0 )
+		  filename = argv[1];
+		/* falls through */
+	case 1:
+		break;
+	   }
+	if ( filename )
+	  fprintf(out, "#line 1 \"%s\"\n", filename);
+	buf = malloc(bufsize);
+	if ( buf == NULL )
+	   {
+		fprintf(stderr, "Unable to allocate read buffer!\n");
+		exit(1);
+	   }
+	line = buf;
+	while ( fgets(line, (unsigned)(buf + bufsize - line), in) != NULL )
+	   {
+test:		line += strlen(line);
+		switch ( test1(buf) )
+		   {
+		case 2:			/* a function header */
+			convert1(buf, out, 1, convert_varargs);
+			break;
+		case 1:			/* a function */
+			/* Check for a { at the start of the next line. */
+			more = ++line;
+f:			if ( line >= buf + (bufsize - 1) ) /* overflow check */
+			  goto wl;
+			if ( fgets(line, (unsigned)(buf + bufsize - line), in) == NULL )
+			  goto wl;
+			switch ( *skipspace(ppdirforward(more), 1) )
+			  {
+			  case '{':
+			    /* Definitely a function header. */
+			    convert1(buf, out, 0, convert_varargs);
+			    fputs(more, out);
+			    break;
+			  case 0:
+			    /* The next line was blank or a comment: */
+			    /* keep scanning for a non-comment. */
+			    line += strlen(line);
+			    goto f;
+			  default:
+			    /* buf isn't a function header, but */
+			    /* more might be. */
+			    fputs(buf, out);
+			    strcpy(buf, more);
+			    line = buf;
+			    goto test;
+			  }
+			break;
+		case -1:		/* maybe the start of a function */
+			if ( line != buf + (bufsize - 1) ) /* overflow check */
+			  continue;
+			/* falls through */
+		default:		/* not a function */
+wl:			fputs(buf, out);
+			break;
+		   }
+		line = buf;
+	   }
+	if ( line != buf )
+	  fputs(buf, out);
+	free(buf);
+	if ( output_name ) {
+	  output_error = ferror(out);
+	  output_error |= fclose(out);
+	} else {		/* out == stdout */
+	  fflush(out);
+	  output_error = ferror(out);
+	}
+	if ( output_error ) {
+	  fprintf(stderr, "%s: error writing to %s\n", program_name,
+		  (output_name ? output_name : "stdout"));
+	  exit(1);
+	}
+	if ( in != stdin )
+	  fclose(in);
+	return 0;
+}
+
+/*
+ * Skip forward or backward over one or more preprocessor directives.
+ */
+char *
+ppdirforward(p)
+    char *p;
+{
+    for (; *p == '#'; ++p) {
+	for (; *p != '\r' && *p != '\n'; ++p)
+	    if (*p == 0)
+		return p;
+	if (*p == '\r' && p[1] == '\n')
+	    ++p;
+    }
+    return p;
+}
+char *
+ppdirbackward(p, limit)
+    char *p;
+    char *limit;
+{
+    char *np = p;
+
+    for (;; p = --np) {
+	if (*np == '\n' && np[-1] == '\r')
+	    --np;
+	for (; np > limit && np[-1] != '\r' && np[-1] != '\n'; --np)
+	    if (np[-1] == 0)
+		return np;
+	if (*np != '#')
+	    return p;
+    }
+}
+
+/*
+ * Skip over whitespace, comments, and preprocessor directives,
+ * in either direction.
+ */
+char *
+skipspace(p, dir)
+    char *p;
+    int dir;			/* 1 for forward, -1 for backward */
+{
+    for ( ; ; ) {
+	while ( is_space(*p) )
+	    p += dir;
+	if ( !(*p == '/' && p[dir] == '*') )
+	    break;
+	p += dir;  p += dir;
+	while ( !(*p == '*' && p[dir] == '/') ) {
+	    if ( *p == 0 )
+		return p;	/* multi-line comment?? */
+	    p += dir;
+	}
+	p += dir;  p += dir;
+    }
+    return p;
+}
+
+/* Scan over a quoted string, in either direction. */
+char *
+scanstring(p, dir)
+    char *p;
+    int dir;
+{
+    for (p += dir; ; p += dir)
+	if (*p == '"' && p[-dir] != '\\')
+	    return p + dir;
+}
+
+/*
+ * Write blanks over part of a string.
+ * Don't overwrite end-of-line characters.
+ */
+int
+writeblanks(start, end)
+    char *start;
+    char *end;
+{	char *p;
+	for ( p = start; p < end; p++ )
+	  if ( *p != '\r' && *p != '\n' )
+	    *p = ' ';
+	return 0;
+}
+
+/*
+ * Test whether the string in buf is a function definition.
+ * The string may contain and/or end with a newline.
+ * Return as follows:
+ *	0 - definitely not a function definition;
+ *	1 - definitely a function definition;
+ *	2 - definitely a function prototype (NOT USED);
+ *	-1 - may be the beginning of a function definition,
+ *		append another line and look again.
+ * The reason we don't attempt to convert function prototypes is that
+ * Ghostscript's declaration-generating macros look too much like
+ * prototypes, and confuse the algorithms.
+ */
+int
+test1(buf)
+    char *buf;
+{	char *p = buf;
+	char *bend;
+	char *endfn;
+	int contin;
+
+	if ( !isidfirstchar(*p) )
+	  return 0;		/* no name at left margin */
+	bend = skipspace(ppdirbackward(buf + strlen(buf) - 1, buf), -1);
+	switch ( *bend )
+	   {
+	   case ';': contin = 0 /*2*/; break;
+	   case ')': contin = 1; break;
+	   case '{': return 0;		/* not a function */
+	   case '}': return 0;		/* not a function */
+	   default: contin = -1;
+	   }
+	while ( isidchar(*p) )
+	  p++;
+	endfn = p;
+	p = skipspace(p, 1);
+	if ( *p++ != '(' )
+	  return 0;		/* not a function */
+	p = skipspace(p, 1);
+	if ( *p == ')' )
+	  return 0;		/* no parameters */
+	/* Check that the apparent function name isn't a keyword. */
+	/* We only need to check for keywords that could be followed */
+	/* by a left parenthesis (which, unfortunately, is most of them). */
+	   {	static char *words[] =
+		   {	"asm", "auto", "case", "char", "const", "double",
+			"extern", "float", "for", "if", "int", "long",
+			"register", "return", "short", "signed", "sizeof",
+			"static", "switch", "typedef", "unsigned",
+			"void", "volatile", "while", 0
+		   };
+		char **key = words;
+		char *kp;
+		unsigned len = endfn - buf;
+
+		while ( (kp = *key) != 0 )
+		   {	if ( strlen(kp) == len && !strncmp(kp, buf, len) )
+			  return 0;	/* name is a keyword */
+			key++;
+		   }
+	   }
+	   {
+	       char *id = p;
+	       int len;
+	       /*
+		* Check for identifier1(identifier2) and not
+		* identifier1(void), or identifier1(identifier2, xxxx).
+		*/
+
+	       while ( isidchar(*p) )
+		   p++;
+	       len = p - id;
+	       p = skipspace(p, 1);
+	       if (*p == ',' ||
+		   (*p == ')' && (len != 4 || strncmp(id, "void", 4)))
+		   )
+		   return 0;	/* not a function */
+	   }
+	/*
+	 * If the last significant character was a ), we need to count
+	 * parentheses, because it might be part of a formal parameter
+	 * that is a procedure.
+	 */
+	if (contin > 0) {
+	    int level = 0;
+
+	    for (p = skipspace(buf, 1); *p; p = skipspace(p + 1, 1))
+		level += (*p == '(' ? 1 : *p == ')' ? -1 : 0);
+	    if (level > 0)
+		contin = -1;
+	}
+	return contin;
+}
+
+/* Convert a recognized function definition or header to K&R syntax. */
+int
+convert1(buf, out, header, convert_varargs)
+    char *buf;
+    FILE *out;
+    int header;			/* Boolean */
+    int convert_varargs;	/* Boolean */
+{	char *endfn;
+	char *p;
+	/*
+	 * The breaks table contains pointers to the beginning and end
+	 * of each argument.
+	 */
+	char **breaks;
+	unsigned num_breaks = 2;	/* for testing */
+	char **btop;
+	char **bp;
+	char **ap;
+	char *vararg = 0;
+
+	/* Pre-ANSI implementations don't agree on whether strchr */
+	/* is called strchr or index, so we open-code it here. */
+	for ( endfn = buf; *(endfn++) != '('; )
+	  ;
+top:	p = endfn;
+	breaks = (char **)malloc(sizeof(char *) * num_breaks * 2);
+	if ( breaks == NULL )
+	   {	/* Couldn't allocate break table, give up */
+		fprintf(stderr, "Unable to allocate break table!\n");
+		fputs(buf, out);
+		return -1;
+	   }
+	btop = breaks + num_breaks * 2 - 2;
+	bp = breaks;
+	/* Parse the argument list */
+	do
+	   {	int level = 0;
+		char *lp = NULL;
+		char *rp = NULL;
+		char *end = NULL;
+
+		if ( bp >= btop )
+		   {	/* Filled up break table. */
+			/* Allocate a bigger one and start over. */
+			free((char *)breaks);
+			num_breaks <<= 1;
+			goto top;
+		   }
+		*bp++ = p;
+		/* Find the end of the argument */
+		for ( ; end == NULL; p++ )
+		   {	switch(*p)
+			   {
+			   case ',':
+				if ( !level ) end = p;
+				break;
+			   case '(':
+				if ( !level ) lp = p;
+				level++;
+				break;
+			   case ')':
+				if ( --level < 0 ) end = p;
+				else rp = p;
+				break;
+			   case '/':
+				if (p[1] == '*')
+				    p = skipspace(p, 1) - 1;
+				break;
+			   case '"':
+			       p = scanstring(p, 1) - 1;
+			       break;
+			   default:
+				;
+			   }
+		   }
+		/* Erase any embedded prototype parameters. */
+		if ( lp && rp )
+		  writeblanks(lp + 1, rp);
+		p--;			/* back up over terminator */
+		/* Find the name being declared. */
+		/* This is complicated because of procedure and */
+		/* array modifiers. */
+		for ( ; ; )
+		   {	p = skipspace(p - 1, -1);
+			switch ( *p )
+			   {
+			   case ']':	/* skip array dimension(s) */
+			   case ')':	/* skip procedure args OR name */
+			   {	int level = 1;
+				while ( level )
+				 switch ( *--p )
+				   {
+				   case ']': case ')':
+				       level++;
+				       break;
+				   case '[': case '(':
+				       level--;
+				       break;
+				   case '/':
+				       if (p > buf && p[-1] == '*')
+					   p = skipspace(p, -1) + 1;
+				       break;
+				   case '"':
+				       p = scanstring(p, -1) + 1;
+				       break;
+				   default: ;
+				   }
+			   }
+				if ( *p == '(' && *skipspace(p + 1, 1) == '*' )
+				   {	/* We found the name being declared */
+					while ( !isidfirstchar(*p) )
+					  p = skipspace(p, 1) + 1;
+					goto found;
+				   }
+				break;
+			   default:
+				goto found;
+			   }
+		   }
+found:		if ( *p == '.' && p[-1] == '.' && p[-2] == '.' )
+		  {	if ( convert_varargs )
+			  {	*bp++ = "va_alist";
+				vararg = p-2;
+			  }
+			else
+			  {	p++;
+				if ( bp == breaks + 1 )	/* sole argument */
+				  writeblanks(breaks[0], p);
+				else
+				  writeblanks(bp[-1] - 1, p);
+				bp--;
+			  }
+		   }
+		else
+		   {	while ( isidchar(*p) ) p--;
+			*bp++ = p+1;
+		   }
+		p = end;
+	   }
+	while ( *p++ == ',' );
+	*bp = p;
+	/* Make a special check for 'void' arglist */
+	if ( bp == breaks+2 )
+	   {	p = skipspace(breaks[0], 1);
+		if ( !strncmp(p, "void", 4) )
+		   {	p = skipspace(p+4, 1);
+			if ( p == breaks[2] - 1 )
+			   {	bp = breaks;	/* yup, pretend arglist is empty */
+				writeblanks(breaks[0], p + 1);
+			   }
+		   }
+	   }
+	/* Put out the function name and left parenthesis. */
+	p = buf;
+	while ( p != endfn ) putc(*p, out), p++;
+	/* Put out the declaration. */
+	if ( header )
+	  {	fputs(");", out);
+		for ( p = breaks[0]; *p; p++ )
+		  if ( *p == '\r' || *p == '\n' )
+		    putc(*p, out);
+	  }
+	else
+	  {	for ( ap = breaks+1; ap < bp; ap += 2 )
+		  {	p = *ap;
+			while ( isidchar(*p) )
+			  putc(*p, out), p++;
+			if ( ap < bp - 1 )
+			  fputs(", ", out);
+		  }
+		fputs(")  ", out);
+		/* Put out the argument declarations */
+		for ( ap = breaks+2; ap <= bp; ap += 2 )
+		  (*ap)[-1] = ';';
+		if ( vararg != 0 )
+		  {	*vararg = 0;
+			fputs(breaks[0], out);		/* any prior args */
+			fputs("va_dcl", out);		/* the final arg */
+			fputs(bp[0], out);
+		  }
+		else
+		  fputs(breaks[0], out);
+	  }
+	free((char *)breaks);
+	return 0;
+}
Index: /trunk/essentials/sys-devel/automake-1.9/lib/compile
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/compile	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/compile	(revision 3089)
@@ -0,0 +1,142 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand `-c -o'.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand `-c -o'.
+Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file `INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "compile $scriptversion"
+    exit $?
+    ;;
+esac
+
+ofile=
+cfile=
+eat=
+
+for arg
+do
+  if test -n "$eat"; then
+    eat=
+  else
+    case $1 in
+      -o)
+	# configure might choose to run compile as `compile cc -o foo foo.c'.
+	# So we strip `-o arg' only if arg is an object.
+	eat=1
+	case $2 in
+	  *.o | *.obj)
+	    ofile=$2
+	    ;;
+	  *)
+	    set x "$@" -o "$2"
+	    shift
+	    ;;
+	esac
+	;;
+      *.c)
+	cfile=$1
+	set x "$@" "$1"
+	shift
+	;;
+      *)
+	set x "$@" "$1"
+	shift
+	;;
+    esac
+  fi
+  shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+  # If no `-o' option was seen then we might have been invoked from a
+  # pattern rule where we don't need one.  That is ok -- this is a
+  # normal compilation that the losing compiler can handle.  If no
+  # `.c' file was seen then we are probably linking.  That is also
+  # ok.
+  exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use `[/.-]' here to ensure that we don't use the same name
+# that we are using for the .o file.  Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
+while true; do
+  if mkdir "$lockdir" >/dev/null 2>&1; then
+    break
+  fi
+  sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+  mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+  mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/config-ml.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/config-ml.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/config-ml.in	(revision 3089)
@@ -0,0 +1,911 @@
+# Configure fragment invoked in the post-target section for subdirs
+# wanting multilib support.
+#
+# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+#   Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+#
+# Please report bugs to <gcc-bugs@gnu.org>
+# and send patches to <gcc-patches@gnu.org>.
+
+# It is advisable to support a few --enable/--disable options to let the
+# user select which libraries s/he really wants.
+#
+# Subdirectories wishing to use multilib should put the following lines
+# in the "post-target" section of configure.in.
+#
+# if [ "${srcdir}" = "." ] ; then
+#   if [ "${with_target_subdir}" != "." ] ; then
+#     . ${with_multisrctop}../../config-ml.in
+#   else
+#     . ${with_multisrctop}../config-ml.in
+#   fi
+# else
+#   . ${srcdir}/../config-ml.in
+# fi
+#
+#
+# Things are complicated because 6 separate cases must be handled:
+# 2 (native, cross) x 3 (absolute-path, relative-not-dot, dot) = 6.
+#
+# srcdir=. is special.  It must handle make programs that don't handle VPATH.
+# To implement this, a symlink tree is built for each library and for each
+# multilib subdir.
+#
+# The build tree is layed out as
+#
+# ./
+#   newlib
+#   m68020/
+#          newlib
+#          m68881/
+#                 newlib
+#
+# The nice feature about this arrangement is that inter-library references
+# in the build tree work without having to care where you are.  Note that
+# inter-library references also work in the source tree because symlink trees
+# are built when srcdir=.
+#
+# Unfortunately, trying to access the libraries in the build tree requires
+# the user to manually choose which library to use as GCC won't be able to
+# find the right one.  This is viewed as the lesser of two evils.
+#
+# Configure variables:
+# ${with_target_subdir} = "." for native, or ${target_alias} for cross.
+# Set by top level Makefile.
+# ${with_multisrctop} = how many levels of multilibs there are in the source
+# tree.  It exists to handle the case of configuring in the source tree:
+# ${srcdir} is not constant.
+# ${with_multisubdir} = name of multilib subdirectory (eg: m68020/m68881).
+#
+# Makefile variables:
+# MULTISRCTOP = number of multilib levels in source tree (+1 if cross)
+# (FIXME: note that this is different than ${with_multisrctop}.  Check out.).
+# MULTIBUILDTOP = number of multilib levels in build tree
+# MULTIDIRS = list of multilib subdirs (eg: m68000 m68020 ...)
+# (only defined in each library's main Makefile).
+# MULTISUBDIR = installed subdirectory name with leading '/' (eg: /m68000)
+# (only defined in each multilib subdir).
+
+# FIXME: Multilib is currently disabled by default for everything other than
+# newlib.  It is up to each target to turn on multilib support for the other
+# libraries as desired.
+
+# Autoconf incoming variables:
+# srcdir, host, ac_configure_args
+#
+# We *could* figure srcdir and host out, but we'd have to do work that
+# our caller has already done to figure them out and requiring these two
+# seems reasonable.
+# Note that `host' in this case is GCC's `target'.  Target libraries are
+# configured for a particular host.
+
+Makefile=${ac_file-Makefile}
+ml_config_shell=${CONFIG_SHELL-/bin/sh}
+ml_realsrcdir=${srcdir}
+
+# Scan all the arguments and set all the ones we need.
+
+ml_verbose=--verbose
+for option in ${ac_configure_args}
+do
+  # strip single quotes surrounding individual options
+  case $option in
+  \'*\') eval option=$option ;;
+  esac
+
+  case $option in
+  --*) ;;
+  -*) option=-$option ;;
+  esac
+
+  case $option in
+  --*=*)
+	optarg=`echo $option | sed -e 's/^[^=]*=//'`
+	;;
+  esac
+
+  case $option in
+  --disable-*)
+	enableopt=`echo ${option} | sed 's:^--disable-:enable_:;s:-:_:g'`
+	eval $enableopt=no
+	;;
+  --enable-*)
+	case "$option" in
+	*=*)	;;
+	*)	optarg=yes ;;
+	esac
+	enableopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
+	eval $enableopt="$optarg"
+	;;
+  --norecursion | --no-recursion)
+	ml_norecursion=yes
+	;;
+  --silent | --sil* | --quiet | --q*)
+	ml_verbose=--silent
+	;;
+  --verbose | --v | --verb*)
+	ml_verbose=--verbose
+	;;
+  --with-*)
+	case "$option" in
+	*=*)	;;
+	*)	optarg=yes ;;
+	esac
+	withopt=`echo ${option} | sed 's:^--::;s:=.*$::;s:-:_:g'`
+	eval $withopt="$optarg"
+	;;
+  --without-*)
+	withopt=`echo ${option} | sed 's:^--::;s:out::;s:-:_:g'`
+	eval $withopt=no
+	;;
+  esac
+done
+
+# Only do this if --enable-multilib.
+if [ "${enable_multilib}" = yes ]; then
+
+# Compute whether this is the library's top level directory
+# (ie: not a multilib subdirectory, and not a subdirectory like newlib/src).
+# ${with_multisubdir} tells us we're in the right branch, but we could be
+# in a subdir of that.
+# ??? The previous version could void this test by separating the process into
+# two files: one that only the library's toplevel configure.in ran (to
+# configure the multilib subdirs), and another that all configure.in's ran to
+# update the Makefile.  It seemed reasonable to collapse all multilib support
+# into one file, but it does leave us with having to perform this test.
+ml_toplevel_p=no
+if [ -z "${with_multisubdir}" ]; then
+  if [ "${srcdir}" = "." ]; then
+    # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
+    # ${with_target_subdir} = "." for native, otherwise target alias.
+    if [ "${with_target_subdir}" = "." ]; then
+      if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
+	ml_toplevel_p=yes
+      fi
+    else
+      if [ -f ${ml_realsrcdir}/../../config-ml.in ]; then
+	ml_toplevel_p=yes
+      fi
+    fi
+  else
+    # Use ${ml_realsrcdir} instead of ${srcdir} here to account for ${subdir}.
+    if [ -f ${ml_realsrcdir}/../config-ml.in ]; then
+      ml_toplevel_p=yes
+    fi
+  fi
+fi
+
+# If this is the library's top level directory, set multidirs to the
+# multilib subdirs to support.  This lives at the top because we need
+# `multidirs' set right away.
+
+if [ "${ml_toplevel_p}" = yes ]; then
+
+multidirs=
+for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
+  dir=`echo $i | sed -e 's/;.*$//'`
+  if [ "${dir}" = "." ]; then
+    true
+  else
+    if [ -z "${multidirs}" ]; then
+      multidirs="${dir}"
+    else
+      multidirs="${multidirs} ${dir}"
+    fi
+  fi
+done
+
+# Target libraries are configured for the host they run on, so we check
+# $host here, not $target.
+
+case "${host}" in
+arc-*-elf*)
+	if [ x$enable_biendian != xyes ]
+	then
+	  old_multidirs=${multidirs}
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "${x}" in
+	      *be*) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	;;
+arm-*-*)
+	if [ x"$enable_fpu" = xno ]
+	then
+	  old_multidirs=${multidirs}
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "${x}" in
+	      *fpu*) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x"$enable_26bit" = xno ]
+	then
+	  old_multidirs=${multidirs}
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "${x}" in
+	      *26bit*) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x"$enable_underscore" = xno ]
+	then
+	  old_multidirs=${multidirs}
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "${x}" in
+	      *under*) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x"$enable_interwork" = xno ]
+	then
+	  old_multidirs=${multidirs}
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "${x}" in
+	      *interwork*) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_biendian = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *le* ) : ;;
+	      *be* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x"$enable_nofmult" = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *nofmult* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	;;
+m68*-*-*)
+	if [ x$enable_softfloat = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *soft-float* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_m68881 = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *m68881* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_m68000 = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *m68000* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_m68020 = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *m68020* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	;;
+mips*-*-*)
+	if [ x$enable_single_float = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *single* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_biendian = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *el* ) : ;;
+	      *eb* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_softfloat = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *soft-float* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	case " $multidirs " in
+	*" mabi=64 "*)
+	  # We will not be able to create libraries with -mabi=64 if
+	  # we cannot even link a trivial program.  It usually
+	  # indicates the 64bit libraries are missing.
+	  if echo 'main() {}' > conftest.c &&
+	     ${CC-gcc} -mabi=64 conftest.c -o conftest; then
+	    :
+	  else
+	    echo Could not link program with -mabi=64, disabling it.
+	    old_multidirs="${multidirs}"
+	    multidirs=""
+	    for x in ${old_multidirs}; do
+	      case "$x" in
+	      *mabi=64* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	      esac
+	    done
+	  fi
+	  rm -f conftest.c conftest
+	  ;;
+	esac
+	;;
+powerpc*-*-* | rs6000*-*-*)
+	if [ x$enable_aix64 = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *ppc64* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_pthread = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *pthread* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_softfloat = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *soft-float* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_powercpu = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      power | */power | */power/* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_powerpccpu = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *powerpc* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_powerpcos = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *mcall-linux* | *mcall-solaris* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_biendian = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *mlittle* | *mbig* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	if [ x$enable_sysv = xno ]
+	then
+	  old_multidirs="${multidirs}"
+	  multidirs=""
+	  for x in ${old_multidirs}; do
+	    case "$x" in
+	      *mcall-sysv* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	    esac
+	  done
+	fi
+	;;
+sparc*-*-*)
+	case " $multidirs " in
+	*" m64 "*)
+	  # We will not be able to create libraries with -m64 if
+	  # we cannot even link a trivial program.  It usually
+	  # indicates the 64bit libraries are missing.
+	  if echo 'main() {}' > conftest.c &&
+	     ${CC-gcc} -m64 conftest.c -o conftest; then
+	    :
+	  else
+	    echo Could not link program with -m64, disabling it.
+	    old_multidirs="${multidirs}"
+	    multidirs=""
+	    for x in ${old_multidirs}; do
+	      case "$x" in
+	      *m64* ) : ;;
+	      *) multidirs="${multidirs} ${x}" ;;
+	      esac
+	    done
+	  fi
+	  rm -f conftest.c conftest
+	  ;;
+	esac
+	;;
+esac
+
+# Remove extraneous blanks from multidirs.
+# Tests like `if [ -n "$multidirs" ]' require it.
+multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
+
+# Add code to library's top level makefile to handle building the multilib
+# subdirs.
+
+cat > Multi.tem <<\EOF
+
+PWD_COMMAND=$${PWDCMD-pwd}
+
+# FIXME: There should be an @-sign in front of the `if'.
+# Leave out until this is tested a bit more.
+multi-do:
+	if [ -z "$(MULTIDIRS)" ]; then \
+	  true; \
+	else \
+	  rootpre=`${PWD_COMMAND}`/; export rootpre; \
+	  srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \
+	  lib=`echo $${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
+	  compiler="$(CC)"; \
+	  for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
+	    dir=`echo $$i | sed -e 's/;.*$$//'`; \
+	    if [ "$${dir}" = "." ]; then \
+	      true; \
+	    else \
+	      if [ -d ../$${dir}/$${lib} ]; then \
+		flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
+		if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) \
+				CFLAGS="$(CFLAGS) $${flags}" \
+				FCFLAGS="$(FCFLAGS) $${flags}" \
+				FFLAGS="$(FFLAGS) $${flags}" \
+				ADAFLAGS="$(ADAFLAGS) $${flags}" \
+				prefix="$(prefix)" \
+				exec_prefix="$(exec_prefix)" \
+				GCJFLAGS="$(GCJFLAGS) $${flags}" \
+				CXXFLAGS="$(CXXFLAGS) $${flags}" \
+				LIBCFLAGS="$(LIBCFLAGS) $${flags}" \
+				LIBCXXFLAGS="$(LIBCXXFLAGS) $${flags}" \
+				LDFLAGS="$(LDFLAGS) $${flags}" \
+				MULTIFLAGS="$${flags}" \
+				DESTDIR="$(DESTDIR)" \
+				INSTALL="$(INSTALL)" \
+				INSTALL_DATA="$(INSTALL_DATA)" \
+				INSTALL_PROGRAM="$(INSTALL_PROGRAM)" \
+				INSTALL_SCRIPT="$(INSTALL_SCRIPT)" \
+				$(DO)); then \
+		  true; \
+		else \
+		  exit 1; \
+		fi; \
+	      else true; \
+	      fi; \
+	    fi; \
+	  done; \
+	fi
+
+# FIXME: There should be an @-sign in front of the `if'.
+# Leave out until this is tested a bit more.
+multi-clean:
+	if [ -z "$(MULTIDIRS)" ]; then \
+	  true; \
+	else \
+	  lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
+	  for dir in Makefile $(MULTIDIRS); do \
+	    if [ -f ../$${dir}/$${lib}/Makefile ]; then \
+	      if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
+	      then true; \
+	      else exit 1; \
+	      fi; \
+	    else true; \
+	    fi; \
+	  done; \
+	fi
+EOF
+
+cat ${Makefile} Multi.tem > Makefile.tem
+rm -f ${Makefile} Multi.tem
+mv Makefile.tem ${Makefile}
+
+fi # ${ml_toplevel_p} = yes
+
+if [ "${ml_verbose}" = --verbose ]; then
+  echo "Adding multilib support to Makefile in ${ml_realsrcdir}"
+  if [ "${ml_toplevel_p}" = yes ]; then
+    echo "multidirs=${multidirs}"
+  fi
+  echo "with_multisubdir=${with_multisubdir}"
+fi
+
+if [ "${srcdir}" = "." ]; then
+  if [ "${with_target_subdir}" != "." ]; then
+    ml_srcdotdot="../"
+  else
+    ml_srcdotdot=""
+  fi
+else
+  ml_srcdotdot=""
+fi
+
+if [ -z "${with_multisubdir}" ]; then
+  ml_subdir=
+  ml_builddotdot=
+  : # ml_srcdotdot= # already set
+else
+  ml_subdir="/${with_multisubdir}"
+  # The '[^/][^/]*' appears that way to work around a SunOS sed bug.
+  ml_builddotdot=`echo ${with_multisubdir} | sed -e 's:[^/][^/]*:..:g'`/
+  if [ "$srcdir" = "." ]; then
+    ml_srcdotdot=${ml_srcdotdot}${ml_builddotdot}
+  else
+    : # ml_srcdotdot= # already set
+  fi
+fi
+
+if [ "${ml_toplevel_p}" = yes ]; then
+  ml_do='$(MAKE)'
+  ml_clean='$(MAKE)'
+else
+  ml_do=true
+  ml_clean=true
+fi
+
+# TOP is used by newlib and should not be used elsewhere for this purpose.
+# MULTI{SRC,BUILD}TOP are the proper ones to use.  MULTISRCTOP is empty
+# when srcdir != builddir.  MULTIBUILDTOP is always some number of ../'s.
+# FIXME: newlib needs to be updated to use MULTI{SRC,BUILD}TOP so we can
+# delete TOP.  Newlib may wish to continue to use TOP for its own purposes
+# of course.
+# MULTIDIRS is non-empty for the cpu top level Makefile (eg: newlib/Makefile)
+# and lists the subdirectories to recurse into.
+# MULTISUBDIR is non-empty in each cpu subdirectory's Makefile
+# (eg: newlib/h8300h/Makefile) and is the installed subdirectory name with
+# a leading '/'.
+# MULTIDO is used for targets like all, install, and check where
+# $(FLAGS_TO_PASS) augmented with the subdir's compiler option is needed.
+# MULTICLEAN is used for the *clean targets.
+#
+# ??? It is possible to merge MULTIDO and MULTICLEAN into one.  They are
+# currently kept separate because we don't want the *clean targets to require
+# the existence of the compiler (which MULTIDO currently requires) and
+# therefore we'd have to record the directory options as well as names
+# (currently we just record the names and use --print-multi-lib to get the
+# options).
+
+sed -e "s:^TOP[ 	]*=[ 	]*\([./]*\)[ 	]*$:TOP = ${ml_builddotdot}\1:" \
+    -e "s:^MULTISRCTOP[ 	]*=.*$:MULTISRCTOP = ${ml_srcdotdot}:" \
+    -e "s:^MULTIBUILDTOP[ 	]*=.*$:MULTIBUILDTOP = ${ml_builddotdot}:" \
+    -e "s:^MULTIDIRS[ 	]*=.*$:MULTIDIRS = ${multidirs}:" \
+    -e "s:^MULTISUBDIR[ 	]*=.*$:MULTISUBDIR = ${ml_subdir}:" \
+    -e "s:^MULTIDO[ 	]*=.*$:MULTIDO = $ml_do:" \
+    -e "s:^MULTICLEAN[ 	]*=.*$:MULTICLEAN = $ml_clean:" \
+	${Makefile} > Makefile.tem
+rm -f ${Makefile}
+mv Makefile.tem ${Makefile}
+
+# If this is the library's top level, configure each multilib subdir.
+# This is done at the end because this is the loop that runs configure
+# in each multilib subdir and it seemed reasonable to finish updating the
+# Makefile before going on to configure the subdirs.
+
+if [ "${ml_toplevel_p}" = yes ]; then
+
+# We must freshly configure each subdirectory.  This bit of code is
+# actually partially stolen from the main configure script.  FIXME.
+
+if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
+
+  if [ "${ml_verbose}" = --verbose ]; then
+    echo "Running configure in multilib subdirs ${multidirs}"
+    echo "pwd: `${PWDCMD-pwd}`"
+  fi
+
+  ml_origdir=`${PWDCMD-pwd}`
+  ml_libdir=`echo $ml_origdir | sed -e 's,^.*/,,'`
+  # cd to top-level-build-dir/${with_target_subdir}
+  cd ..
+
+  for ml_dir in ${multidirs}; do
+
+    if [ "${ml_verbose}" = --verbose ]; then
+      echo "Running configure in multilib subdir ${ml_dir}"
+      echo "pwd: `${PWDCMD-pwd}`"
+    fi
+
+    if [ -d ${ml_dir} ]; then true; else
+      # ``mkdir -p ${ml_dir}'' See also mkinstalldirs.
+      pathcomp=""
+      for d in `echo ":${ml_dir}" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`; do
+        pathcomp="$pathcomp$d"
+        case "$pathcomp" in
+          -* ) pathcomp=./$pathcomp ;;
+        esac
+        if test ! -d "$pathcomp"; then
+           echo "mkdir $pathcomp" 1>&2
+           mkdir "$pathcomp" > /dev/null 2>&1 || lasterr=$?
+        fi
+        if test ! -d "$pathcomp"; then
+	   exit $lasterr
+        fi
+        pathcomp="$pathcomp/"
+      done
+    fi
+    if [ -d ${ml_dir}/${ml_libdir} ]; then true; else mkdir ${ml_dir}/${ml_libdir}; fi
+
+    # Eg: if ${ml_dir} = m68000/m68881, dotdot = ../../
+    dotdot=../`echo ${ml_dir} | sed -e 's|[^/]||g' -e 's|/|../|g'`
+
+    case ${srcdir} in
+    ".")
+      echo Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}
+      if [ "${with_target_subdir}" != "." ]; then
+	ml_unsubdir="../"
+      else
+	ml_unsubdir=""
+      fi
+      (cd ${ml_dir}/${ml_libdir};
+       ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "")
+      if [ -f ${ml_dir}/${ml_libdir}/Makefile ]; then
+	if [ x"${MAKE}" = x ]; then
+	  (cd ${ml_dir}/${ml_libdir}; make distclean)
+	else
+	  (cd ${ml_dir}/${ml_libdir}; ${MAKE} distclean)
+	fi
+      fi
+      ml_newsrcdir="."
+      ml_srcdiroption=
+      multisrctop=${dotdot}
+      ;;
+    *)
+      case "${srcdir}" in
+      /* | [A-Za-z]:[\\/]* ) # absolute path
+        ml_newsrcdir=${srcdir}
+        ;;
+      *) # otherwise relative
+        ml_newsrcdir=${dotdot}${srcdir}
+        ;;
+      esac
+      ml_srcdiroption="-srcdir=${ml_newsrcdir}"
+      multisrctop=
+      ;;
+    esac
+
+    case "${progname}" in
+    /* | [A-Za-z]:[\\/]* )     ml_recprog=${progname} ;;
+    *)      ml_recprog=${dotdot}${progname} ;;
+    esac
+
+    # FIXME: POPDIR=${PWD=`pwd`} doesn't work here.
+    ML_POPDIR=`${PWDCMD-pwd}`
+    cd ${ml_dir}/${ml_libdir}
+
+    if [ -f ${ml_newsrcdir}/configure ]; then
+      ml_recprog="${ml_newsrcdir}/configure"
+    fi
+
+    # find compiler flag corresponding to ${ml_dir}
+    for i in `${CC-gcc} --print-multi-lib 2>/dev/null`; do
+      dir=`echo $i | sed -e 's/;.*$//'`
+      if [ "${dir}" = "${ml_dir}" ]; then
+        flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`
+        break
+      fi
+    done
+    ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags"'
+
+    if [ "${with_target_subdir}" = "." ]; then
+	CC_=$CC' '
+	CXX_=$CXX' '
+	F77_=$F77' '
+	GCJ_=$GCJ' '
+	GFORTRAN_=$GFORTRAN' '
+    else
+	# Create a regular expression that matches any string as long
+	# as ML_POPDIR.
+	popdir_rx=`echo ${ML_POPDIR} | sed 's,.,.,g'`
+	CC_=
+	for arg in ${CC}; do
+	  case $arg in
+	  -[BIL]"${ML_POPDIR}"/*)
+	    CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\1/p"`' ' ;;
+	  "${ML_POPDIR}"/*)
+	    CC_="${CC_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  *)
+	    CC_="${CC_}${arg} " ;;
+	  esac
+	done
+
+	CXX_=
+	for arg in ${CXX}; do
+	  case $arg in
+	  -[BIL]"${ML_POPDIR}"/*)
+	    CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  "${ML_POPDIR}"/*)
+	    CXX_="${CXX_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  *)
+	    CXX_="${CXX_}${arg} " ;;
+	  esac
+	done
+
+	F77_=
+	for arg in ${F77}; do
+	  case $arg in
+	  -[BIL]"${ML_POPDIR}"/*)
+	    F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  "${ML_POPDIR}"/*)
+	    F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  *)
+	    F77_="${F77_}${arg} " ;;
+	  esac
+	done
+
+	GCJ_=
+	for arg in ${GCJ}; do
+	  case $arg in
+	  -[BIL]"${ML_POPDIR}"/*)
+	    GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  "${ML_POPDIR}"/*)
+	    GCJ_="${GCJ_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  *)
+	    GCJ_="${GCJ_}${arg} " ;;
+	  esac
+	done
+
+	GFORTRAN_=
+	for arg in ${GFORTRAN}; do
+	  case $arg in
+	  -[BIL]"${ML_POPDIR}"/*)
+	    GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  "${ML_POPDIR}"/*)
+	    GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+	  *)
+	    GFORTRAN_="${GFORTRAN_}${arg} " ;;
+	  esac
+	done
+
+	if test "x${LD_LIBRARY_PATH+set}" = xset; then
+	  LD_LIBRARY_PATH_=
+	  for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
+	    case "$arg" in
+	    "${ML_POPDIR}"/*)
+	      arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`
+	      ;;
+	    esac
+	    if test "x$LD_LIBRARY_PATH_" != x; then
+	      LD_LIBRARY_PATH_=$LD_LIBRARY_PATH_:$arg
+	    else
+	      LD_LIBRARY_PATH_=$arg
+	    fi
+          done
+	  ml_config_env="$ml_config_env LD_LIBRARY_PATH=$LD_LIBRARY_PATH_"
+	fi
+
+	if test "x${SHLIB_PATH+set}" = xset; then
+	  SHLIB_PATH_=
+	  for arg in `echo "$SHLIB_PATH" | tr ':' ' '`; do
+	    case "$arg" in
+	    "${ML_POPDIR}"/*)
+	      arg=`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`
+	      ;;
+	    esac
+	    if test "x$SHLIB_PATH_" != x; then
+	      SHLIB_PATH_=$SHLIB_PATH_:$arg
+	    else
+	      SHLIB_PATH_=$arg
+	    fi
+          done
+	  ml_config_env="$ml_config_env SHLIB_PATH=$SHLIB_PATH_"
+	fi
+    fi
+
+    if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
+	--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
+	${ac_configure_args} ${ml_srcdiroption} ; then
+      true
+    else
+      exit 1
+    fi
+
+    cd ${ML_POPDIR}
+
+  done
+
+  cd ${ml_origdir}
+fi
+
+fi # ${ml_toplevel_p} = yes
+fi # ${enable_multilib} = yes
Index: /trunk/essentials/sys-devel/automake-1.9/lib/config.guess
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/config.guess	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/config.guess	(revision 3089)
@@ -0,0 +1,1463 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[34]*)
+	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-gnu
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-gnu
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/config.sub
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/config.sub	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/config.sub	(revision 3089)
@@ -0,0 +1,1579 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+timestamp='2005-07-08'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| ms1 \
+	| msp430 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m32c)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| ms1-* \
+	| msp430-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	m32c-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+    c4x-* | tic4x-*)
+        os=-coff
+        ;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/depcomp
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/depcomp	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/depcomp	(revision 3089)
@@ -0,0 +1,530 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2005-07-09.11
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+  "$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> $depfile
+    echo >> $depfile
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> $depfile
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
+  tmpdepfile="$stripped.u"
+  if test "$libtool" = yes; then
+    "$@" -Wc,-M
+  else
+    "$@" -M
+  fi
+  stat=$?
+
+  if test -f "$tmpdepfile"; then :
+  else
+    stripped=`echo "$stripped" | sed 's,^.*/,,'`
+    tmpdepfile="$stripped.u"
+  fi
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+
+  if test -f "$tmpdepfile"; then
+    outname="$stripped.o"
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
+    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mecanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no
+  for arg in "$@"; do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix="`echo $object | sed 's/^.*\././'`"
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test $1 != '--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o,
+  # because we must use -o when running libtool.
+  "$@" || exit $?
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+	set fnord "$@"
+	shift
+	shift
+	;;
+    *)
+	set fnord "$@" "$arg"
+	shift
+	shift
+	;;
+    esac
+  done
+  "$@" -E |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
+  echo "	" >> "$depfile"
+  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/elisp-comp
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/elisp-comp	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/elisp-comp	(revision 3089)
@@ -0,0 +1,89 @@
+#!/bin/sh
+# Copyright (C) 1995, 2000, 2003, 2004, 2005  Free Software Foundation, Inc.
+
+scriptversion=2005-05-14.22
+
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1995.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+  '')
+     echo "$0: No files.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: elisp-comp [--help] [--version] FILES...
+
+This script byte-compiles all `.el' files listed as FILES using GNU
+Emacs, and put the resulting `.elc' files into the current directory,
+so disregarding the original directories used in `.el' arguments.
+
+This script manages in such a way that all Emacs LISP files to
+be compiled are made visible between themselves, in the event
+they require or load-library one another.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "elisp-comp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$EMACS" || test "$EMACS" = "t"; then
+  # Value of "t" means we are running in a shell under Emacs.
+  # Just assume Emacs is called "emacs".
+  EMACS=emacs
+fi
+
+tempdir=elc.$$
+
+# Cleanup the temporary directory on exit.
+trap 'ret=$?; rm -rf "$tempdir" && exit $ret' 0
+trap '(exit $?); exit' 1 2 13 15
+
+mkdir $tempdir
+cp "$@" $tempdir
+
+(
+  cd $tempdir
+  echo "(setq load-path (cons nil load-path))" > script
+  $EMACS -batch -q -l script -f batch-byte-compile *.el || exit $?
+  mv *.elc ..
+) || exit $?
+
+(exit 0); exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/gnupload
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/gnupload	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/gnupload	(revision 3089)
@@ -0,0 +1,166 @@
+#!/bin/sh
+# Sign files and upload them.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 2004, 2005  Free Software Foundation
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Originally written by Alexandre Duret-Lutz <adl@gnu.org>.
+
+set -e
+
+GPG='/usr/bin/gpg --batch --no-tty'
+to=
+
+usage="Usage: $0 [OPTIONS]... FILES...
+
+Sign all FILES, and upload them to selected destinations.
+
+Options:
+  --help                   print this help text and exit
+  --to DEST                specify one destination for FILES
+                           (multiple --to options are allowed)
+  --user NAME              sign with key NAME
+  --version                output version information and exit
+
+Recognized destinations are:
+  alpha.gnu.org:DIRECTORY  build directive files and upload files by FTP
+  ftp.gnu.org:DIRECTORY    build directive files and upload files by FTP
+  [user@]host:DIRECTORY    upload files with scp
+
+Example:
+  gnupload --to sources.redhat.com:~ftp/pub/automake \\
+           --to alpha.gnu.org:automake \\
+           automake-1.8.2b.tar.gz automake-1.8.2b.tar.bz2
+
+Report bugs to <bug-automake@gnu.org>.
+Send patches to <automake-patches@gnu.org>."
+
+while test -n "$1"; do
+  case $1 in
+    --help)
+      echo "$usage"
+      exit $?
+      ;;
+    --to)
+      if test -z "$2"; then
+	echo "$0: Missing argument for --to" 1>&2
+        exit 1
+      else
+        to="$to $2"
+        shift 2
+      fi
+      ;;
+    --user)
+      if test -z "$2"; then
+	echo "$0: Missing argument for --user" 1>&2
+        exit 1
+      else
+        GPG="$GPG --local-user $2"
+        shift 2
+      fi
+      ;;
+    --version)
+      echo "gnupload $scriptversion"
+      exit $?
+      ;;
+    -*)
+      echo "$0: Unknown option \`$1', try \`$0 --help'" 1>&2
+      exit 1
+      ;;
+    *)
+      break
+      ;;
+  esac
+done
+
+if test $# = 0; then
+  echo "$0: No file to upload" 1>&2
+  exit 1
+else
+  :
+fi
+
+# Make sure all files exist.  We don't want to ask
+# for the passphrase if the script will fail.
+for file;
+do
+  if test ! -f $file; then
+    echo "$0: Cannot find \`$file'" 1>&2
+    exit 1
+  else
+    :
+  fi
+done
+
+# Make sure passphrase is not exported in the environment.
+unset passphrase
+
+# Reset PATH to be sure that echo is a built-in.  We will later use
+# `echo $passphrase' to output the passphrase, so it is important that
+# it is a built-in (third-party programs tend to appear in `ps'
+# listings with their arguments...).
+# Remember this script runs with `set -e', so if echo is not built-in
+# it will exit now.
+PATH=/empty echo -n "Enter GPG passphrase: "
+stty -echo
+read -r passphrase
+stty echo
+echo
+
+for file;
+do
+  echo "Signing $file..."
+  rm -f $file.sig
+  echo $passphrase | $GPG --passphrase-fd 0 -ba -o $file.sig $file
+done
+
+for dest in $to;
+do
+  for file;
+  do
+    echo "Uploading $file to $dest..."
+    files="$file $file.sig"
+    case $dest in
+      alpha.gnu.org:*)
+	rm -f $file.directive $file.directive.asc
+	echo directory: `echo $dest | sed 's/[^:]*://'` >$file.directive
+	echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
+        ncftpput ftp-upload.gnu.org /incoming/alpha $files $file.directive.asc
+	rm -f $file.directive $file.directive.asc
+	;;
+      ftp.gnu.org:*)
+	rm -f $file.directive $file.directive.asc
+	echo directory: `echo $dest | sed 's/[^:]*://'` >$file.directive
+	echo "$passphrase" | $GPG --passphrase-fd 0 --clearsign $file.directive
+        ncftpput ftp-upload.gnu.org /incoming/ftp $files $file.directive.asc
+	rm -f $file.directive $file.directive.asc
+	;;
+      *)
+	scp $files $dest
+	;;
+    esac
+  done
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/install-sh
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/install-sh	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/install-sh	(revision 3089)
@@ -0,0 +1,323 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2005-05-14.22
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+chmodcmd="$chmodprog 0755"
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test -n "$1"; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) chmodcmd="$chmodprog $2"
+        shift
+        shift
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    *)  # When -d is used, all remaining arguments are directories to create.
+	# When -t is used, the destination is already specified.
+	test -n "$dir_arg$dstarg" && break
+        # Otherwise, the last argument is the destination.  Remove it from $@.
+	for arg
+	do
+          if test -n "$dstarg"; then
+	    # $@ is not empty: it contains at least $arg.
+	    set fnord "$@" "$dstarg"
+	    shift # fnord
+	  fi
+	  shift # arg
+	  dstarg=$arg
+	done
+	break;;
+  esac
+done
+
+if test -z "$1"; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    src=
+
+    if test -d "$dst"; then
+      mkdircmd=:
+      chmodcmd=
+    else
+      mkdircmd=$mkdirprog
+    fi
+  else
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dst=$dst/`basename "$src"`
+    fi
+  fi
+
+  # This sed command emulates the dirname command.
+  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
+
+  # Make sure that the destination directory exists.
+
+  # Skip lots of stat calls in the usual case.
+  if test ! -d "$dstdir"; then
+    defaultIFS='
+	 '
+    IFS="${IFS-$defaultIFS}"
+
+    oIFS=$IFS
+    # Some sh's can't handle IFS=/ for some reason.
+    IFS='%'
+    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
+    shift
+    IFS=$oIFS
+
+    pathcomp=
+
+    while test $# -ne 0 ; do
+      pathcomp=$pathcomp$1
+      shift
+      if test ! -d "$pathcomp"; then
+        $mkdirprog "$pathcomp"
+	# mkdir can fail with a `File exist' error in case several
+	# install-sh are creating the directory concurrently.  This
+	# is OK.
+	test -d "$pathcomp" || exit
+      fi
+      pathcomp=$pathcomp/
+    done
+  fi
+
+  if test -n "$dir_arg"; then
+    $doit $mkdircmd "$dst" \
+      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
+
+  else
+    dstfile=`basename "$dst"`
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+    trap '(exit $?); exit' 1 2 13 15
+
+    # Copy the file name to the temp name.
+    $doit $cpprog "$src" "$dsttmp" &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dstdir/$dstfile"; then
+	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
+	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
+	       || {
+		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+	 }
+    }
+  fi || { (exit 1); exit 1; }
+done
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+{
+  (exit 0); exit 0
+}
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/mdate-sh
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/mdate-sh	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/mdate-sh	(revision 3089)
@@ -0,0 +1,201 @@
+#!/bin/sh
+# Get modification time of a file or directory and pretty-print it.
+
+scriptversion=2005-06-29.22
+
+# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software
+# Foundation, Inc.
+# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case $1 in
+  '')
+     echo "$0: No file.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: mdate-sh [--help] [--version] FILE
+
+Pretty-print the modification time of FILE.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "mdate-sh $scriptversion"
+    exit $?
+    ;;
+esac
+
+# Prevent date giving response in another language.
+LANG=C
+export LANG
+LC_ALL=C
+export LC_ALL
+LC_TIME=C
+export LC_TIME
+
+# GNU ls changes its time format in response to the TIME_STYLE
+# variable.  Since we cannot assume `unset' works, revert this
+# variable to its documented default.
+if test "${TIME_STYLE+set}" = set; then
+  TIME_STYLE=posix-long-iso
+  export TIME_STYLE
+fi
+
+save_arg1=$1
+
+# Find out how to get the extended ls output of a file or directory.
+if ls -L /dev/null 1>/dev/null 2>&1; then
+  ls_command='ls -L -l -d'
+else
+  ls_command='ls -l -d'
+fi
+
+# A `ls -l' line looks as follows on OS/2.
+#  drwxrwx---        0 Aug 11  2001 foo
+# This differs from Unix, which adds ownership information.
+#  drwxrwx---   2 root  root      4096 Aug 11  2001 foo
+#
+# To find the date, we split the line on spaces and iterate on words
+# until we find a month.  This cannot work with files whose owner is a
+# user named `Jan', or `Feb', etc.  However, it's unlikely that `/'
+# will be owned by a user whose name is a month.  So we first look at
+# the extended ls output of the root directory to decide how many
+# words should be skipped to get the date.
+
+# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
+set x`ls -l -d /`
+
+# Find which argument is the month.
+month=
+command=
+until test $month
+do
+  shift
+  # Add another shift to the command.
+  command="$command shift;"
+  case $1 in
+    Jan) month=January; nummonth=1;;
+    Feb) month=February; nummonth=2;;
+    Mar) month=March; nummonth=3;;
+    Apr) month=April; nummonth=4;;
+    May) month=May; nummonth=5;;
+    Jun) month=June; nummonth=6;;
+    Jul) month=July; nummonth=7;;
+    Aug) month=August; nummonth=8;;
+    Sep) month=September; nummonth=9;;
+    Oct) month=October; nummonth=10;;
+    Nov) month=November; nummonth=11;;
+    Dec) month=December; nummonth=12;;
+  esac
+done
+
+# Get the extended ls output of the file or directory.
+set dummy x`eval "$ls_command \"\$save_arg1\""`
+
+# Remove all preceding arguments
+eval $command
+
+# Because of the dummy argument above, month is in $2.
+#
+# On a POSIX system, we should have
+#
+# $# = 5
+# $1 = file size
+# $2 = month
+# $3 = day
+# $4 = year or time
+# $5 = filename
+#
+# On Darwin 7.7.0 and 7.6.0, we have
+#
+# $# = 4
+# $1 = day
+# $2 = month
+# $3 = year or time
+# $4 = filename
+
+# Get the month.
+case $2 in
+  Jan) month=January; nummonth=1;;
+  Feb) month=February; nummonth=2;;
+  Mar) month=March; nummonth=3;;
+  Apr) month=April; nummonth=4;;
+  May) month=May; nummonth=5;;
+  Jun) month=June; nummonth=6;;
+  Jul) month=July; nummonth=7;;
+  Aug) month=August; nummonth=8;;
+  Sep) month=September; nummonth=9;;
+  Oct) month=October; nummonth=10;;
+  Nov) month=November; nummonth=11;;
+  Dec) month=December; nummonth=12;;
+esac
+
+case $3 in
+  ???*) day=$1;;
+  *) day=$3; shift;;
+esac
+
+# Here we have to deal with the problem that the ls output gives either
+# the time of day or the year.
+case $3 in
+  *:*) set `date`; eval year=\$$#
+       case $2 in
+	 Jan) nummonthtod=1;;
+	 Feb) nummonthtod=2;;
+	 Mar) nummonthtod=3;;
+	 Apr) nummonthtod=4;;
+	 May) nummonthtod=5;;
+	 Jun) nummonthtod=6;;
+	 Jul) nummonthtod=7;;
+	 Aug) nummonthtod=8;;
+	 Sep) nummonthtod=9;;
+	 Oct) nummonthtod=10;;
+	 Nov) nummonthtod=11;;
+	 Dec) nummonthtod=12;;
+       esac
+       # For the first six month of the year the time notation can also
+       # be used for files modified in the last year.
+       if (expr $nummonth \> $nummonthtod) > /dev/null;
+       then
+	 year=`expr $year - 1`
+       fi;;
+  *) year=$3;;
+esac
+
+# The result.
+echo $day $month $year
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/missing
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/missing	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/missing	(revision 3089)
@@ -0,0 +1,360 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2005-06-08.21
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case "$1" in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case "$1" in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case "$1" in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
+    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
+    fi
+    if [ -f "$file" ]; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case "$firstarg" in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case "$firstarg" in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/mkinstalldirs
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/mkinstalldirs	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/mkinstalldirs	(revision 3089)
@@ -0,0 +1,158 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2005-06-29.22
+
+# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+errstatus=0
+dirmode=
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake@gnu.org>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+  case $1 in
+    -h | --help | --h*)         # -h for help
+      echo "$usage"
+      exit $?
+      ;;
+    -m)                         # -m PERM arg
+      shift
+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+      dirmode=$1
+      shift
+      ;;
+    --version)
+      echo "$0 $scriptversion"
+      exit $?
+      ;;
+    --)                         # stop option processing
+      shift
+      break
+      ;;
+    -*)                         # unknown option
+      echo "$usage" 1>&2
+      exit 1
+      ;;
+    *)                          # first non-opt arg
+      break
+      ;;
+  esac
+done
+
+for file
+do
+  if test -d "$file"; then
+    shift
+  else
+    break
+  fi
+done
+
+case $# in
+  0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error.  This is a problem when calling mkinstalldirs
+# from a parallel make.  We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+  '')
+    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+      echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    else
+      # On NextStep and OpenStep, the `mkdir' command does not
+      # recognize any option.  It will interpret all options as
+      # directories to create, and then abort because `.' already
+      # exists.
+      test -d ./-p && rmdir ./-p
+      test -d ./--version && rmdir ./--version
+    fi
+    ;;
+  *)
+    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+       test ! -d ./--version; then
+      echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    else
+      # Clean up after NextStep and OpenStep mkdir.
+      for d in ./-m ./-p ./--version "./$dirmode";
+      do
+        test -d $d && rmdir $d
+      done
+    fi
+    ;;
+esac
+
+for file
+do
+  case $file in
+    /*) pathcomp=/ ;;
+    *)  pathcomp= ;;
+  esac
+  oIFS=$IFS
+  IFS=/
+  set fnord $file
+  shift
+  IFS=$oIFS
+
+  for d
+  do
+    test "x$d" = x && continue
+
+    pathcomp=$pathcomp$d
+    case $pathcomp in
+      -*) pathcomp=./$pathcomp ;;
+    esac
+
+    if test ! -d "$pathcomp"; then
+      echo "mkdir $pathcomp"
+
+      mkdir "$pathcomp" || lasterr=$?
+
+      if test ! -d "$pathcomp"; then
+	errstatus=$lasterr
+      else
+	if test ! -z "$dirmode"; then
+	  echo "chmod $dirmode $pathcomp"
+	  lasterr=
+	  chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+	  if test ! -z "$lasterr"; then
+	    errstatus=$lasterr
+	  fi
+	fi
+      fi
+    fi
+
+    pathcomp=$pathcomp/
+  done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/py-compile
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/py-compile	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/py-compile	(revision 3089)
@@ -0,0 +1,146 @@
+#!/bin/sh
+# py-compile - Compile a Python program
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 2000, 2001, 2003, 2004, 2005  Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+if [ -z "$PYTHON" ]; then
+  PYTHON=python
+fi
+
+basedir=
+destdir=
+files=
+while test $# -ne 0; do
+  case "$1" in
+    --basedir)
+      basedir=$2
+      if test -z "$basedir"; then
+        echo "$0: Missing argument to --basedir." 1>&2
+        exit 1
+      fi
+      shift
+      ;;
+    --destdir)
+      destdir=$2
+      if test -z "$destdir"; then
+        echo "$0: Missing argument to --destdir." 1>&2
+        exit 1
+      fi
+      shift
+      ;;
+    -h|--h*)
+      cat <<\EOF
+Usage: py-compile [--help] [--version] [--basedir DIR] [--destdir DIR] FILES..."
+
+Byte compile some python scripts FILES.  Use --destdir to specify any
+leading directory path to the FILES that you don't want to include in the
+byte compiled file.  Specify --basedir for any additional path information you
+do want to be shown in the byte compiled file.
+
+Example:
+  py-compile --destdir /tmp/pkg-root --basedir /usr/share/test test.py test2.py
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+      exit $?
+      ;;
+    -v|--v*)
+      echo "py-compile $scriptversion"
+      exit $?
+      ;;
+    *)
+      files="$files $1"
+      ;;
+  esac
+  shift
+done
+
+if test -z "$files"; then
+    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
+    exit 1
+fi
+
+# if basedir was given, then it should be prepended to filenames before
+# byte compilation.
+if [ -z "$basedir" ]; then
+    pathtrans="path = file"
+else
+    pathtrans="path = os.path.join('$basedir', file)"
+fi
+
+# if destdir was given, then it needs to be prepended to the filename to
+# byte compile but not go into the compiled file.
+if [ -z "$destdir" ]; then
+    filetrans="filepath = path"
+else
+    filetrans="filepath = os.path.normpath('$destdir' + os.sep + path)"
+fi
+
+$PYTHON -c "
+import sys, os, string, py_compile
+
+files = '''$files'''
+
+print 'Byte-compiling python modules...'
+for file in string.split(files):
+    $pathtrans
+    $filetrans
+    if not os.path.exists(filepath) or not (len(filepath) >= 3
+                                            and filepath[-3:] == '.py'):
+	continue
+    print file,
+    sys.stdout.flush()
+    py_compile.compile(filepath, filepath + 'c', path)
+print" || exit $?
+
+# this will fail for python < 1.5, but that doesn't matter ...
+$PYTHON -O -c "
+import sys, os, string, py_compile
+
+files = '''$files'''
+print 'Byte-compiling python modules (optimized versions) ...'
+for file in string.split(files):
+    $pathtrans
+    $filetrans
+    if not os.path.exists(filepath) or not (len(filepath) >= 3
+                                            and filepath[-3:] == '.py'):
+	continue
+    print file,
+    sys.stdout.flush()
+    py_compile.compile(filepath, filepath + 'o', path)
+print" 2>/dev/null || :
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/lib/symlink-tree
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/symlink-tree	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/symlink-tree	(revision 3089)
@@ -0,0 +1,78 @@
+#!/bin/sh
+# Create a symlink tree.
+#
+# Copyright (C) 1995, 2000, 2003  Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+#
+# Please report bugs to <gcc-bugs@gnu.org>
+# and send patches to <gcc-patches@gnu.org>.
+
+# Syntax: symlink-tree srcdir "ignore1 ignore2 ..."
+#
+# where srcdir is the directory to create a symlink tree to,
+# and "ignoreN" is a list of files/directories to ignore.
+
+prog=$0
+srcdir=$1
+ignore="$2"
+
+if test $# -lt 1; then
+  echo "symlink-tree error:  Usage: symlink-tree srcdir \"ignore1 ignore2 ...\""
+  exit 1
+fi
+
+ignore_additional=". .. CVS"
+
+# If we were invoked with a relative path name, adjust ${prog} to work
+# in subdirs.
+case ${prog} in
+/* | [A-Za-z]:[\\/]*) ;;
+*) prog=../${prog} ;;
+esac
+
+# Set newsrcdir to something subdirectories can use.
+case ${srcdir} in
+/* | [A-Za-z]:[\\/]*) newsrcdir=${srcdir} ;;
+*) newsrcdir=../${srcdir} ;;
+esac
+
+for f in `ls -a ${srcdir}`; do
+  if [ -d ${srcdir}/$f ]; then
+    found=
+    for i in ${ignore} ${ignore_additional}; do
+      if [ "$f" = "$i" ]; then
+	found=yes
+      fi
+    done
+    if [ -z "${found}" ]; then
+      echo "$f		..working in"
+      if [ -d $f ]; then true; else mkdir $f; fi
+      (cd $f; ${prog} ${newsrcdir}/$f "${ignore}")
+    fi
+  else
+    echo "$f		..linked"
+    rm -f $f
+    ln -s ${srcdir}/$f .
+  fi
+done
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/lib/texinfo.tex
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/texinfo.tex	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/texinfo.tex	(revision 3089)
@@ -0,0 +1,7210 @@
+% texinfo.tex -- TeX macros to handle Texinfo files.
+%
+% Load plain if necessary, i.e., if running under initex.
+\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+%
+\def\texinfoversion{2005-07-05.19}
+%
+% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software
+% Foundation, Inc.
+%
+% This texinfo.tex file is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License as
+% published by the Free Software Foundation; either version 2, or (at
+% your option) any later version.
+%
+% This texinfo.tex file is distributed in the hope that it will be
+% useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+% General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with this texinfo.tex file; see the file COPYING.  If not, write
+% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+% Boston, MA 02110-1301, USA.
+%
+% As a special exception, when this file is read by TeX when processing
+% a Texinfo source document, you may use the result without
+% restriction.  (This has been our intent since Texinfo was invented.)
+%
+% Please try the latest version of texinfo.tex before submitting bug
+% reports; you can get the latest version from:
+%   http://www.gnu.org/software/texinfo/ (the Texinfo home page), or
+%   ftp://tug.org/tex/texinfo.tex
+%     (and all CTAN mirrors, see http://www.ctan.org).
+% The texinfo.tex in any given distribution could well be out
+% of date, so if that's what you're using, please check.
+%
+% Send bug reports to bug-texinfo@gnu.org.  Please include including a
+% complete document in each bug report with which we can reproduce the
+% problem.  Patches are, of course, greatly appreciated.
+%
+% To process a Texinfo manual with TeX, it's most reliable to use the
+% texi2dvi shell script that comes with the distribution.  For a simple
+% manual foo.texi, however, you can get away with this:
+%   tex foo.texi
+%   texindex foo.??
+%   tex foo.texi
+%   tex foo.texi
+%   dvips foo.dvi -o  # or whatever; this makes foo.ps.
+% The extra TeX runs get the cross-reference information correct.
+% Sometimes one run after texindex suffices, and sometimes you need more
+% than two; texi2dvi does it as many times as necessary.
+%
+% It is possible to adapt texinfo.tex for other languages, to some
+% extent.  You can get the existing language-specific files from the
+% full Texinfo distribution.
+%
+% The GNU Texinfo home page is http://www.gnu.org/software/texinfo.
+
+
+\message{Loading texinfo [version \texinfoversion]:}
+
+% If in a .fmt file, print the version number
+% and turn on active characters that we couldn't do earlier because
+% they might have appeared in the input file name.
+\everyjob{\message{[Texinfo version \texinfoversion]}%
+  \catcode`+=\active \catcode`\_=\active}
+
+\message{Basics,}
+\chardef\other=12
+
+% We never want plain's \outer definition of \+ in Texinfo.
+% For @tex, we can use \tabalign.
+\let\+ = \relax
+
+% Save some plain tex macros whose names we will redefine.
+\let\ptexb=\b
+\let\ptexbullet=\bullet
+\let\ptexc=\c
+\let\ptexcomma=\,
+\let\ptexdot=\.
+\let\ptexdots=\dots
+\let\ptexend=\end
+\let\ptexequiv=\equiv
+\let\ptexexclam=\!
+\let\ptexfootnote=\footnote
+\let\ptexgtr=>
+\let\ptexhat=^
+\let\ptexi=\i
+\let\ptexindent=\indent
+\let\ptexinsert=\insert
+\let\ptexlbrace=\{
+\let\ptexless=<
+\let\ptexnewwrite\newwrite
+\let\ptexnoindent=\noindent
+\let\ptexplus=+
+\let\ptexrbrace=\}
+\let\ptexslash=\/
+\let\ptexstar=\*
+\let\ptext=\t
+
+% If this character appears in an error message or help string, it
+% starts a new line in the output.
+\newlinechar = `^^J
+
+% Use TeX 3.0's \inputlineno to get the line number, for better error
+% messages, but if we're using an old version of TeX, don't do anything.
+%
+\ifx\inputlineno\thisisundefined
+  \let\linenumber = \empty % Pre-3.0.
+\else
+  \def\linenumber{l.\the\inputlineno:\space}
+\fi
+
+% Set up fixed words for English if not already set.
+\ifx\putwordAppendix\undefined  \gdef\putwordAppendix{Appendix}\fi
+\ifx\putwordChapter\undefined   \gdef\putwordChapter{Chapter}\fi
+\ifx\putwordfile\undefined      \gdef\putwordfile{file}\fi
+\ifx\putwordin\undefined        \gdef\putwordin{in}\fi
+\ifx\putwordIndexIsEmpty\undefined     \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
+\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
+\ifx\putwordInfo\undefined      \gdef\putwordInfo{Info}\fi
+\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
+\ifx\putwordMethodon\undefined  \gdef\putwordMethodon{Method on}\fi
+\ifx\putwordNoTitle\undefined   \gdef\putwordNoTitle{No Title}\fi
+\ifx\putwordof\undefined        \gdef\putwordof{of}\fi
+\ifx\putwordon\undefined        \gdef\putwordon{on}\fi
+\ifx\putwordpage\undefined      \gdef\putwordpage{page}\fi
+\ifx\putwordsection\undefined   \gdef\putwordsection{section}\fi
+\ifx\putwordSection\undefined   \gdef\putwordSection{Section}\fi
+\ifx\putwordsee\undefined       \gdef\putwordsee{see}\fi
+\ifx\putwordSee\undefined       \gdef\putwordSee{See}\fi
+\ifx\putwordShortTOC\undefined  \gdef\putwordShortTOC{Short Contents}\fi
+\ifx\putwordTOC\undefined       \gdef\putwordTOC{Table of Contents}\fi
+%
+\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
+\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
+\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
+\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
+\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
+\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
+\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
+\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
+\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
+\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
+\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
+\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
+%
+\ifx\putwordDefmac\undefined    \gdef\putwordDefmac{Macro}\fi
+\ifx\putwordDefspec\undefined   \gdef\putwordDefspec{Special Form}\fi
+\ifx\putwordDefvar\undefined    \gdef\putwordDefvar{Variable}\fi
+\ifx\putwordDefopt\undefined    \gdef\putwordDefopt{User Option}\fi
+\ifx\putwordDeffunc\undefined   \gdef\putwordDeffunc{Function}\fi
+
+% In some macros, we cannot use the `\? notation---the left quote is
+% in some cases the escape char.
+\chardef\backChar  = `\\
+\chardef\colonChar = `\:
+\chardef\commaChar = `\,
+\chardef\dotChar   = `\.
+\chardef\exclamChar= `\!
+\chardef\plusChar  = `\+
+\chardef\questChar = `\?
+\chardef\semiChar  = `\;
+\chardef\underChar = `\_
+
+\chardef\spaceChar = `\ %
+\chardef\spacecat = 10
+\def\spaceisspace{\catcode\spaceChar=\spacecat}
+
+{% for help with debugging.
+ % example usage: \expandafter\show\activebackslash
+ \catcode`\! = 0 \catcode`\\ = \active
+ !global!def!activebackslash{\}
+}
+
+% Ignore a token.
+%
+\def\gobble#1{}
+
+% The following is used inside several \edef's.
+\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
+
+% Hyphenation fixes.
+\hyphenation{
+  Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
+  ap-pen-dix bit-map bit-maps
+  data-base data-bases eshell fall-ing half-way long-est man-u-script
+  man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
+  par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
+  spell-ing spell-ings
+  stand-alone strong-est time-stamp time-stamps which-ever white-space
+  wide-spread wrap-around
+}
+
+% Margin to add to right of even pages, to left of odd pages.
+\newdimen\bindingoffset
+\newdimen\normaloffset
+\newdimen\pagewidth \newdimen\pageheight
+
+% For a final copy, take out the rectangles
+% that mark overfull boxes (in case you have decided
+% that the text looks ok even though it passes the margin).
+%
+\def\finalout{\overfullrule=0pt}
+
+% @| inserts a changebar to the left of the current line.  It should
+% surround any changed text.  This approach does *not* work if the
+% change spans more than two lines of output.  To handle that, we would
+% have adopt a much more difficult approach (putting marks into the main
+% vertical list for the beginning and end of each change).
+%
+\def\|{%
+  % \vadjust can only be used in horizontal mode.
+  \leavevmode
+  %
+  % Append this vertical mode material after the current line in the output.
+  \vadjust{%
+    % We want to insert a rule with the height and depth of the current
+    % leading; that is exactly what \strutbox is supposed to record.
+    \vskip-\baselineskip
+    %
+    % \vadjust-items are inserted at the left edge of the type.  So
+    % the \llap here moves out into the left-hand margin.
+    \llap{%
+      %
+      % For a thicker or thinner bar, change the `1pt'.
+      \vrule height\baselineskip width1pt
+      %
+      % This is the space between the bar and the text.
+      \hskip 12pt
+    }%
+  }%
+}
+
+% Sometimes it is convenient to have everything in the transcript file
+% and nothing on the terminal.  We don't just call \tracingall here,
+% since that produces some useless output on the terminal.  We also make
+% some effort to order the tracing commands to reduce output in the log
+% file; cf. trace.sty in LaTeX.
+%
+\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
+\def\loggingall{%
+  \tracingstats2
+  \tracingpages1
+  \tracinglostchars2  % 2 gives us more in etex
+  \tracingparagraphs1
+  \tracingoutput1
+  \tracingmacros2
+  \tracingrestores1
+  \showboxbreadth\maxdimen \showboxdepth\maxdimen
+  \ifx\eTeXversion\undefined\else % etex gives us more logging
+    \tracingscantokens1
+    \tracingifs1
+    \tracinggroups1
+    \tracingnesting2
+    \tracingassigns1
+  \fi
+  \tracingcommands3  % 3 gives us more in etex
+  \errorcontextlines16
+}%
+
+% add check for \lastpenalty to plain's definitions.  If the last thing
+% we did was a \nobreak, we don't want to insert more space.
+%
+\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
+  \removelastskip\penalty-50\smallskip\fi\fi}
+\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
+  \removelastskip\penalty-100\medskip\fi\fi}
+\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
+  \removelastskip\penalty-200\bigskip\fi\fi}
+
+% For @cropmarks command.
+% Do @cropmarks to get crop marks.
+%
+\newif\ifcropmarks
+\let\cropmarks = \cropmarkstrue
+%
+% Dimensions to add cropmarks at corners.
+% Added by P. A. MacKay, 12 Nov. 1986
+%
+\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
+\newdimen\cornerlong  \cornerlong=1pc
+\newdimen\cornerthick \cornerthick=.3pt
+\newdimen\topandbottommargin \topandbottommargin=.75in
+
+% Main output routine.
+\chardef\PAGE = 255
+\output = {\onepageout{\pagecontents\PAGE}}
+
+\newbox\headlinebox
+\newbox\footlinebox
+
+% \onepageout takes a vbox as an argument.  Note that \pagecontents
+% does insertions, but you have to call it yourself.
+\def\onepageout#1{%
+  \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
+  %
+  \ifodd\pageno  \advance\hoffset by \bindingoffset
+  \else \advance\hoffset by -\bindingoffset\fi
+  %
+  % Do this outside of the \shipout so @code etc. will be expanded in
+  % the headline as they should be, not taken literally (outputting ''code).
+  \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
+  \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
+  %
+  {%
+    % Have to do this stuff outside the \shipout because we want it to
+    % take effect in \write's, yet the group defined by the \vbox ends
+    % before the \shipout runs.
+    %
+    \indexdummies         % don't expand commands in the output.
+    \shipout\vbox{%
+      % Do this early so pdf references go to the beginning of the page.
+      \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
+      %
+      \ifcropmarks \vbox to \outervsize\bgroup
+        \hsize = \outerhsize
+        \vskip-\topandbottommargin
+        \vtop to0pt{%
+          \line{\ewtop\hfil\ewtop}%
+          \nointerlineskip
+          \line{%
+            \vbox{\moveleft\cornerthick\nstop}%
+            \hfill
+            \vbox{\moveright\cornerthick\nstop}%
+          }%
+          \vss}%
+        \vskip\topandbottommargin
+        \line\bgroup
+          \hfil % center the page within the outer (page) hsize.
+          \ifodd\pageno\hskip\bindingoffset\fi
+          \vbox\bgroup
+      \fi
+      %
+      \unvbox\headlinebox
+      \pagebody{#1}%
+      \ifdim\ht\footlinebox > 0pt
+        % Only leave this space if the footline is nonempty.
+        % (We lessened \vsize for it in \oddfootingxxx.)
+        % The \baselineskip=24pt in plain's \makefootline has no effect.
+        \vskip 2\baselineskip
+        \unvbox\footlinebox
+      \fi
+      %
+      \ifcropmarks
+          \egroup % end of \vbox\bgroup
+        \hfil\egroup % end of (centering) \line\bgroup
+        \vskip\topandbottommargin plus1fill minus1fill
+        \boxmaxdepth = \cornerthick
+        \vbox to0pt{\vss
+          \line{%
+            \vbox{\moveleft\cornerthick\nsbot}%
+            \hfill
+            \vbox{\moveright\cornerthick\nsbot}%
+          }%
+          \nointerlineskip
+          \line{\ewbot\hfil\ewbot}%
+        }%
+      \egroup % \vbox from first cropmarks clause
+      \fi
+    }% end of \shipout\vbox
+  }% end of group with \indexdummies
+  \advancepageno
+  \ifnum\outputpenalty>-20000 \else\dosupereject\fi
+}
+
+\newinsert\margin \dimen\margin=\maxdimen
+
+\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
+{\catcode`\@ =11
+\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
+% marginal hacks, juha@viisa.uucp (Juha Takala)
+\ifvoid\margin\else % marginal info is present
+  \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
+\dimen@=\dp#1 \unvbox#1
+\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
+\ifr@ggedbottom \kern-\dimen@ \vfil \fi}
+}
+
+% Here are the rules for the cropmarks.  Note that they are
+% offset so that the space between them is truly \outerhsize or \outervsize
+% (P. A. MacKay, 12 November, 1986)
+%
+\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
+\def\nstop{\vbox
+  {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
+\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
+\def\nsbot{\vbox
+  {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
+
+% Parse an argument, then pass it to #1.  The argument is the rest of
+% the input line (except we remove a trailing comment).  #1 should be a
+% macro which expects an ordinary undelimited TeX argument.
+%
+\def\parsearg{\parseargusing{}}
+\def\parseargusing#1#2{%
+  \def\next{#2}%
+  \begingroup
+    \obeylines
+    \spaceisspace
+    #1%
+    \parseargline\empty% Insert the \empty token, see \finishparsearg below.
+}
+
+{\obeylines %
+  \gdef\parseargline#1^^M{%
+    \endgroup % End of the group started in \parsearg.
+    \argremovecomment #1\comment\ArgTerm%
+  }%
+}
+
+% First remove any @comment, then any @c comment.
+\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
+
+% Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space.
+%
+% \argremovec might leave us with trailing space, e.g.,
+%    @end itemize  @c foo
+% This space token undergoes the same procedure and is eventually removed
+% by \finishparsearg.
+%
+\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
+\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
+\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
+  \def\temp{#3}%
+  \ifx\temp\empty
+    % We cannot use \next here, as it holds the macro to run;
+    % thus we reuse \temp.
+    \let\temp\finishparsearg
+  \else
+    \let\temp\argcheckspaces
+  \fi
+  % Put the space token in:
+  \temp#1 #3\ArgTerm
+}
+
+% If a _delimited_ argument is enclosed in braces, they get stripped; so
+% to get _exactly_ the rest of the line, we had to prevent such situation.
+% We prepended an \empty token at the very beginning and we expand it now,
+% just before passing the control to \next.
+% (Similarily, we have to think about #3 of \argcheckspacesY above: it is
+% either the null string, or it ends with \^^M---thus there is no danger
+% that a pair of braces would be stripped.
+%
+% But first, we have to remove the trailing space token.
+%
+\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}}
+
+% \parseargdef\foo{...}
+%	is roughly equivalent to
+% \def\foo{\parsearg\Xfoo}
+% \def\Xfoo#1{...}
+%
+% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
+% favourite TeX trick.  --kasal, 16nov03
+
+\def\parseargdef#1{%
+  \expandafter \doparseargdef \csname\string#1\endcsname #1%
+}
+\def\doparseargdef#1#2{%
+  \def#2{\parsearg#1}%
+  \def#1##1%
+}
+
+% Several utility definitions with active space:
+{
+  \obeyspaces
+  \gdef\obeyedspace{ }
+
+  % Make each space character in the input produce a normal interword
+  % space in the output.  Don't allow a line break at this space, as this
+  % is used only in environments like @example, where each line of input
+  % should produce a line of output anyway.
+  %
+  \gdef\sepspaces{\obeyspaces\let =\tie}
+
+  % If an index command is used in an @example environment, any spaces
+  % therein should become regular spaces in the raw index file, not the
+  % expansion of \tie (\leavevmode \penalty \@M \ ).
+  \gdef\unsepspaces{\let =\space}
+}
+
+
+\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
+
+% Define the framework for environments in texinfo.tex.  It's used like this:
+%
+%   \envdef\foo{...}
+%   \def\Efoo{...}
+%
+% It's the responsibility of \envdef to insert \begingroup before the
+% actual body; @end closes the group after calling \Efoo.  \envdef also
+% defines \thisenv, so the current environment is known; @end checks
+% whether the environment name matches.  The \checkenv macro can also be
+% used to check whether the current environment is the one expected.
+%
+% Non-false conditionals (@iftex, @ifset) don't fit into this, so they
+% are not treated as enviroments; they don't open a group.  (The
+% implementation of @end takes care not to call \endgroup in this
+% special case.)
+
+
+% At runtime, environments start with this:
+\def\startenvironment#1{\begingroup\def\thisenv{#1}}
+% initialize
+\let\thisenv\empty
+
+% ... but they get defined via ``\envdef\foo{...}'':
+\long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
+\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
+
+% Check whether we're in the right environment:
+\def\checkenv#1{%
+  \def\temp{#1}%
+  \ifx\thisenv\temp
+  \else
+    \badenverr
+  \fi
+}
+
+% Evironment mismatch, #1 expected:
+\def\badenverr{%
+  \errhelp = \EMsimple
+  \errmessage{This command can appear only \inenvironment\temp,
+    not \inenvironment\thisenv}%
+}
+\def\inenvironment#1{%
+  \ifx#1\empty
+    out of any environment%
+  \else
+    in environment \expandafter\string#1%
+  \fi
+}
+
+% @end foo executes the definition of \Efoo.
+% But first, it executes a specialized version of \checkenv
+%
+\parseargdef\end{%
+  \if 1\csname iscond.#1\endcsname
+  \else
+    % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03
+    \expandafter\checkenv\csname#1\endcsname
+    \csname E#1\endcsname
+    \endgroup
+  \fi
+}
+
+\newhelp\EMsimple{Press RETURN to continue.}
+
+
+%% Simple single-character @ commands
+
+% @@ prints an @
+% Kludge this until the fonts are right (grr).
+\def\@{{\tt\char64}}
+
+% This is turned off because it was never documented
+% and you can use @w{...} around a quote to suppress ligatures.
+%% Define @` and @' to be the same as ` and '
+%% but suppressing ligatures.
+%\def\`{{`}}
+%\def\'{{'}}
+
+% Used to generate quoted braces.
+\def\mylbrace {{\tt\char123}}
+\def\myrbrace {{\tt\char125}}
+\let\{=\mylbrace
+\let\}=\myrbrace
+\begingroup
+  % Definitions to produce \{ and \} commands for indices,
+  % and @{ and @} for the aux/toc files.
+  \catcode`\{ = \other \catcode`\} = \other
+  \catcode`\[ = 1 \catcode`\] = 2
+  \catcode`\! = 0 \catcode`\\ = \other
+  !gdef!lbracecmd[\{]%
+  !gdef!rbracecmd[\}]%
+  !gdef!lbraceatcmd[@{]%
+  !gdef!rbraceatcmd[@}]%
+!endgroup
+
+% @comma{} to avoid , parsing problems.
+\let\comma = ,
+
+% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
+% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
+\let\, = \c
+\let\dotaccent = \.
+\def\ringaccent#1{{\accent23 #1}}
+\let\tieaccent = \t
+\let\ubaraccent = \b
+\let\udotaccent = \d
+
+% Other special characters: @questiondown @exclamdown @ordf @ordm
+% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
+\def\questiondown{?`}
+\def\exclamdown{!`}
+\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
+\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
+
+% Dotless i and dotless j, used for accents.
+\def\imacro{i}
+\def\jmacro{j}
+\def\dotless#1{%
+  \def\temp{#1}%
+  \ifx\temp\imacro \ptexi
+  \else\ifx\temp\jmacro \j
+  \else \errmessage{@dotless can be used only with i or j}%
+  \fi\fi
+}
+
+% The \TeX{} logo, as in plain, but resetting the spacing so that a
+% period following counts as ending a sentence.  (Idea found in latex.)
+%
+\edef\TeX{\TeX \spacefactor=1000 }
+
+% @LaTeX{} logo.  Not quite the same results as the definition in
+% latex.ltx, since we use a different font for the raised A; it's most
+% convenient for us to use an explicitly smaller font, rather than using
+% the \scriptstyle font (since we don't reset \scriptstyle and
+% \scriptscriptstyle).
+%
+\def\LaTeX{%
+  L\kern-.36em
+  {\setbox0=\hbox{T}%
+   \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}%
+  \kern-.15em
+  \TeX
+}
+
+% Be sure we're in horizontal mode when doing a tie, since we make space
+% equivalent to this in @example-like environments. Otherwise, a space
+% at the beginning of a line will start with \penalty -- and
+% since \penalty is valid in vertical mode, we'd end up putting the
+% penalty on the vertical list instead of in the new paragraph.
+{\catcode`@ = 11
+ % Avoid using \@M directly, because that causes trouble
+ % if the definition is written into an index file.
+ \global\let\tiepenalty = \@M
+ \gdef\tie{\leavevmode\penalty\tiepenalty\ }
+}
+
+% @: forces normal size whitespace following.
+\def\:{\spacefactor=1000 }
+
+% @* forces a line break.
+\def\*{\hfil\break\hbox{}\ignorespaces}
+
+% @/ allows a line break.
+\let\/=\allowbreak
+
+% @. is an end-of-sentence period.
+\def\.{.\spacefactor=\endofsentencespacefactor\space}
+
+% @! is an end-of-sentence bang.
+\def\!{!\spacefactor=\endofsentencespacefactor\space}
+
+% @? is an end-of-sentence query.
+\def\?{?\spacefactor=\endofsentencespacefactor\space}
+
+% @frenchspacing on|off  says whether to put extra space after punctuation.
+% 
+\def\onword{on}
+\def\offword{off}
+%
+\parseargdef\frenchspacing{%
+  \def\temp{#1}%
+  \ifx\temp\onword \plainfrenchspacing
+  \else\ifx\temp\offword \plainnonfrenchspacing
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @frenchspacing option `\temp', must be on/off}%
+  \fi\fi
+}
+
+% @w prevents a word break.  Without the \leavevmode, @w at the
+% beginning of a paragraph, when TeX is still in vertical mode, would
+% produce a whole line of output instead of starting the paragraph.
+\def\w#1{\leavevmode\hbox{#1}}
+
+% @group ... @end group forces ... to be all on one page, by enclosing
+% it in a TeX vbox.  We use \vtop instead of \vbox to construct the box
+% to keep its height that of a normal line.  According to the rules for
+% \topskip (p.114 of the TeXbook), the glue inserted is
+% max (\topskip - \ht (first item), 0).  If that height is large,
+% therefore, no glue is inserted, and the space between the headline and
+% the text is small, which looks bad.
+%
+% Another complication is that the group might be very large.  This can
+% cause the glue on the previous page to be unduly stretched, because it
+% does not have much material.  In this case, it's better to add an
+% explicit \vfill so that the extra space is at the bottom.  The
+% threshold for doing this is if the group is more than \vfilllimit
+% percent of a page (\vfilllimit can be changed inside of @tex).
+%
+\newbox\groupbox
+\def\vfilllimit{0.7}
+%
+\envdef\group{%
+  \ifnum\catcode`\^^M=\active \else
+    \errhelp = \groupinvalidhelp
+    \errmessage{@group invalid in context where filling is enabled}%
+  \fi
+  \startsavinginserts
+  %
+  \setbox\groupbox = \vtop\bgroup
+    % Do @comment since we are called inside an environment such as
+    % @example, where each end-of-line in the input causes an
+    % end-of-line in the output.  We don't want the end-of-line after
+    % the `@group' to put extra space in the output.  Since @group
+    % should appear on a line by itself (according to the Texinfo
+    % manual), we don't worry about eating any user text.
+    \comment
+}
+%
+% The \vtop produces a box with normal height and large depth; thus, TeX puts
+% \baselineskip glue before it, and (when the next line of text is done)
+% \lineskip glue after it.  Thus, space below is not quite equal to space
+% above.  But it's pretty close.
+\def\Egroup{%
+    % To get correct interline space between the last line of the group
+    % and the first line afterwards, we have to propagate \prevdepth.
+    \endgraf % Not \par, as it may have been set to \lisppar.
+    \global\dimen1 = \prevdepth
+  \egroup           % End the \vtop.
+  % \dimen0 is the vertical size of the group's box.
+  \dimen0 = \ht\groupbox  \advance\dimen0 by \dp\groupbox
+  % \dimen2 is how much space is left on the page (more or less).
+  \dimen2 = \pageheight   \advance\dimen2 by -\pagetotal
+  % if the group doesn't fit on the current page, and it's a big big
+  % group, force a page break.
+  \ifdim \dimen0 > \dimen2
+    \ifdim \pagetotal < \vfilllimit\pageheight
+      \page
+    \fi
+  \fi
+  \box\groupbox
+  \prevdepth = \dimen1
+  \checkinserts
+}
+%
+% TeX puts in an \escapechar (i.e., `@') at the beginning of the help
+% message, so this ends up printing `@group can only ...'.
+%
+\newhelp\groupinvalidhelp{%
+group can only be used in environments such as @example,^^J%
+where each line of input produces a line of output.}
+
+% @need space-in-mils
+% forces a page break if there is not space-in-mils remaining.
+
+\newdimen\mil  \mil=0.001in
+
+% Old definition--didn't work.
+%\parseargdef\need{\par %
+%% This method tries to make TeX break the page naturally
+%% if the depth of the box does not fit.
+%{\baselineskip=0pt%
+%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
+%\prevdepth=-1000pt
+%}}
+
+\parseargdef\need{%
+  % Ensure vertical mode, so we don't make a big box in the middle of a
+  % paragraph.
+  \par
+  %
+  % If the @need value is less than one line space, it's useless.
+  \dimen0 = #1\mil
+  \dimen2 = \ht\strutbox
+  \advance\dimen2 by \dp\strutbox
+  \ifdim\dimen0 > \dimen2
+    %
+    % Do a \strut just to make the height of this box be normal, so the
+    % normal leading is inserted relative to the preceding line.
+    % And a page break here is fine.
+    \vtop to #1\mil{\strut\vfil}%
+    %
+    % TeX does not even consider page breaks if a penalty added to the
+    % main vertical list is 10000 or more.  But in order to see if the
+    % empty box we just added fits on the page, we must make it consider
+    % page breaks.  On the other hand, we don't want to actually break the
+    % page after the empty box.  So we use a penalty of 9999.
+    %
+    % There is an extremely small chance that TeX will actually break the
+    % page at this \penalty, if there are no other feasible breakpoints in
+    % sight.  (If the user is using lots of big @group commands, which
+    % almost-but-not-quite fill up a page, TeX will have a hard time doing
+    % good page breaking, for example.)  However, I could not construct an
+    % example where a page broke at this \penalty; if it happens in a real
+    % document, then we can reconsider our strategy.
+    \penalty9999
+    %
+    % Back up by the size of the box, whether we did a page break or not.
+    \kern -#1\mil
+    %
+    % Do not allow a page break right after this kern.
+    \nobreak
+  \fi
+}
+
+% @br   forces paragraph break (and is undocumented).
+
+\let\br = \par
+
+% @page forces the start of a new page.
+%
+\def\page{\par\vfill\supereject}
+
+% @exdent text....
+% outputs text on separate line in roman font, starting at standard page margin
+
+% This records the amount of indent in the innermost environment.
+% That's how much \exdent should take out.
+\newskip\exdentamount
+
+% This defn is used inside fill environments such as @defun.
+\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
+
+% This defn is used inside nofill environments such as @example.
+\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
+  \leftline{\hskip\leftskip{\rm#1}}}}
+
+% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
+% paragraph.  For more general purposes, use the \margin insertion
+% class.  WHICH is `l' or `r'.
+%
+\newskip\inmarginspacing \inmarginspacing=1cm
+\def\strutdepth{\dp\strutbox}
+%
+\def\doinmargin#1#2{\strut\vadjust{%
+  \nobreak
+  \kern-\strutdepth
+  \vtop to \strutdepth{%
+    \baselineskip=\strutdepth
+    \vss
+    % if you have multiple lines of stuff to put here, you'll need to
+    % make the vbox yourself of the appropriate size.
+    \ifx#1l%
+      \llap{\ignorespaces #2\hskip\inmarginspacing}%
+    \else
+      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
+    \fi
+    \null
+  }%
+}}
+\def\inleftmargin{\doinmargin l}
+\def\inrightmargin{\doinmargin r}
+%
+% @inmargin{TEXT [, RIGHT-TEXT]}
+% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
+% else use TEXT for both).
+%
+\def\inmargin#1{\parseinmargin #1,,\finish}
+\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
+  \setbox0 = \hbox{\ignorespaces #2}%
+  \ifdim\wd0 > 0pt
+    \def\lefttext{#1}%  have both texts
+    \def\righttext{#2}%
+  \else
+    \def\lefttext{#1}%  have only one text
+    \def\righttext{#1}%
+  \fi
+  %
+  \ifodd\pageno
+    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
+  \else
+    \def\temp{\inleftmargin\lefttext}%
+  \fi
+  \temp
+}
+
+% @include file    insert text of that file as input.
+%
+\def\include{\parseargusing\filenamecatcodes\includezzz}
+\def\includezzz#1{%
+  \pushthisfilestack
+  \def\thisfile{#1}%
+  {%
+    \makevalueexpandable
+    \def\temp{\input #1 }%
+    \expandafter
+  }\temp
+  \popthisfilestack
+}
+\def\filenamecatcodes{%
+  \catcode`\\=\other
+  \catcode`~=\other
+  \catcode`^=\other
+  \catcode`_=\other
+  \catcode`|=\other
+  \catcode`<=\other
+  \catcode`>=\other
+  \catcode`+=\other
+  \catcode`-=\other
+}
+
+\def\pushthisfilestack{%
+  \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
+}
+\def\pushthisfilestackX{%
+  \expandafter\pushthisfilestackY\thisfile\StackTerm
+}
+\def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
+  \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
+}
+
+\def\popthisfilestack{\errthisfilestackempty}
+\def\errthisfilestackempty{\errmessage{Internal error:
+  the stack of filenames is empty.}}
+
+\def\thisfile{}
+
+% @center line
+% outputs that line, centered.
+%
+\parseargdef\center{%
+  \ifhmode
+    \let\next\centerH
+  \else
+    \let\next\centerV
+  \fi
+  \next{\hfil \ignorespaces#1\unskip \hfil}%
+}
+\def\centerH#1{%
+  {%
+    \hfil\break
+    \advance\hsize by -\leftskip
+    \advance\hsize by -\rightskip
+    \line{#1}%
+    \break
+  }%
+}
+\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}}
+
+% @sp n   outputs n lines of vertical space
+
+\parseargdef\sp{\vskip #1\baselineskip}
+
+% @comment ...line which is ignored...
+% @c is the same as @comment
+% @ignore ... @end ignore  is another way to write a comment
+
+\def\comment{\begingroup \catcode`\^^M=\other%
+\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
+\commentxxx}
+{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
+
+\let\c=\comment
+
+% @paragraphindent NCHARS
+% We'll use ems for NCHARS, close enough.
+% NCHARS can also be the word `asis' or `none'.
+% We cannot feasibly implement @paragraphindent asis, though.
+%
+\def\asisword{asis} % no translation, these are keywords
+\def\noneword{none}
+%
+\parseargdef\paragraphindent{%
+  \def\temp{#1}%
+  \ifx\temp\asisword
+  \else
+    \ifx\temp\noneword
+      \defaultparindent = 0pt
+    \else
+      \defaultparindent = #1em
+    \fi
+  \fi
+  \parindent = \defaultparindent
+}
+
+% @exampleindent NCHARS
+% We'll use ems for NCHARS like @paragraphindent.
+% It seems @exampleindent asis isn't necessary, but
+% I preserve it to make it similar to @paragraphindent.
+\parseargdef\exampleindent{%
+  \def\temp{#1}%
+  \ifx\temp\asisword
+  \else
+    \ifx\temp\noneword
+      \lispnarrowing = 0pt
+    \else
+      \lispnarrowing = #1em
+    \fi
+  \fi
+}
+
+% @firstparagraphindent WORD
+% If WORD is `none', then suppress indentation of the first paragraph
+% after a section heading.  If WORD is `insert', then do indent at such
+% paragraphs.
+%
+% The paragraph indentation is suppressed or not by calling
+% \suppressfirstparagraphindent, which the sectioning commands do.
+% We switch the definition of this back and forth according to WORD.
+% By default, we suppress indentation.
+%
+\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
+\def\insertword{insert}
+%
+\parseargdef\firstparagraphindent{%
+  \def\temp{#1}%
+  \ifx\temp\noneword
+    \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
+  \else\ifx\temp\insertword
+    \let\suppressfirstparagraphindent = \relax
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @firstparagraphindent option `\temp'}%
+  \fi\fi
+}
+
+% Here is how we actually suppress indentation.  Redefine \everypar to
+% \kern backwards by \parindent, and then reset itself to empty.
+%
+% We also make \indent itself not actually do anything until the next
+% paragraph.
+%
+\gdef\dosuppressfirstparagraphindent{%
+  \gdef\indent{%
+    \restorefirstparagraphindent
+    \indent
+  }%
+  \gdef\noindent{%
+    \restorefirstparagraphindent
+    \noindent
+  }%
+  \global\everypar = {%
+    \kern -\parindent
+    \restorefirstparagraphindent
+  }%
+}
+
+\gdef\restorefirstparagraphindent{%
+  \global \let \indent = \ptexindent
+  \global \let \noindent = \ptexnoindent
+  \global \everypar = {}%
+}
+
+
+% @asis just yields its argument.  Used with @table, for example.
+%
+\def\asis#1{#1}
+
+% @math outputs its argument in math mode.
+%
+% One complication: _ usually means subscripts, but it could also mean
+% an actual _ character, as in @math{@var{some_variable} + 1}.  So make
+% _ active, and distinguish by seeing if the current family is \slfam,
+% which is what @var uses.
+{
+  \catcode\underChar = \active
+  \gdef\mathunderscore{%
+    \catcode\underChar=\active
+    \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
+  }
+}
+% Another complication: we want \\ (and @\) to output a \ character.
+% FYI, plain.tex uses \\ as a temporary control sequence (why?), but
+% this is not advertised and we don't care.  Texinfo does not
+% otherwise define @\.
+%
+% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
+\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
+%
+\def\math{%
+  \tex
+  \mathunderscore
+  \let\\ = \mathbackslash
+  \mathactive
+  $\finishmath
+}
+\def\finishmath#1{#1$\endgroup}  % Close the group opened by \tex.
+
+% Some active characters (such as <) are spaced differently in math.
+% We have to reset their definitions in case the @math was an argument
+% to a command which sets the catcodes (such as @item or @section).
+%
+{
+  \catcode`^ = \active
+  \catcode`< = \active
+  \catcode`> = \active
+  \catcode`+ = \active
+  \gdef\mathactive{%
+    \let^ = \ptexhat
+    \let< = \ptexless
+    \let> = \ptexgtr
+    \let+ = \ptexplus
+  }
+}
+
+% @bullet and @minus need the same treatment as @math, just above.
+\def\bullet{$\ptexbullet$}
+\def\minus{$-$}
+
+% @dots{} outputs an ellipsis using the current font.
+% We do .5em per period so that it has the same spacing in a typewriter
+% font as three actual period characters.
+%
+\def\dots{%
+  \leavevmode
+  \hbox to 1.5em{%
+    \hskip 0pt plus 0.25fil
+    .\hfil.\hfil.%
+    \hskip 0pt plus 0.5fil
+  }%
+}
+
+% @enddots{} is an end-of-sentence ellipsis.
+%
+\def\enddots{%
+  \dots
+  \spacefactor=\endofsentencespacefactor
+}
+
+% @comma{} is so commas can be inserted into text without messing up
+% Texinfo's parsing.
+%
+\let\comma = ,
+
+% @refill is a no-op.
+\let\refill=\relax
+
+% If working on a large document in chapters, it is convenient to
+% be able to disable indexing, cross-referencing, and contents, for test runs.
+% This is done with @novalidate (before @setfilename).
+%
+\newif\iflinks \linkstrue % by default we want the aux files.
+\let\novalidate = \linksfalse
+
+% @setfilename is done at the beginning of every texinfo file.
+% So open here the files we need to have open while reading the input.
+% This makes it possible to make a .fmt file for texinfo.
+\def\setfilename{%
+   \fixbackslash  % Turn off hack to swallow `\input texinfo'.
+   \iflinks
+     \tryauxfile
+     % Open the new aux file.  TeX will close it automatically at exit.
+     \immediate\openout\auxfile=\jobname.aux
+   \fi % \openindices needs to do some work in any case.
+   \openindices
+   \let\setfilename=\comment % Ignore extra @setfilename cmds.
+   %
+   % If texinfo.cnf is present on the system, read it.
+   % Useful for site-wide @afourpaper, etc.
+   \openin 1 texinfo.cnf
+   \ifeof 1 \else \input texinfo.cnf \fi
+   \closein 1
+   %
+   \comment % Ignore the actual filename.
+}
+
+% Called from \setfilename.
+%
+\def\openindices{%
+  \newindex{cp}%
+  \newcodeindex{fn}%
+  \newcodeindex{vr}%
+  \newcodeindex{tp}%
+  \newcodeindex{ky}%
+  \newcodeindex{pg}%
+}
+
+% @bye.
+\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
+
+
+\message{pdf,}
+% adobe `portable' document format
+\newcount\tempnum
+\newcount\lnkcount
+\newtoks\filename
+\newcount\filenamelength
+\newcount\pgn
+\newtoks\toksA
+\newtoks\toksB
+\newtoks\toksC
+\newtoks\toksD
+\newbox\boxA
+\newcount\countA
+\newif\ifpdf
+\newif\ifpdfmakepagedest
+
+% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+% can be set).  So we test for \relax and 0 as well as \undefined,
+% borrowed from ifpdf.sty.
+\ifx\pdfoutput\undefined
+\else
+  \ifx\pdfoutput\relax
+  \else
+    \ifcase\pdfoutput
+    \else
+      \pdftrue
+    \fi
+  \fi
+\fi
+
+% PDF uses PostScript string constants for the names of xref targets, to
+% for display in the outlines, and in other places.  Thus, we have to
+% double any backslashes.  Otherwise, a name like "\node" will be
+% interpreted as a newline (\n), followed by o, d, e.  Not good.
+% http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html
+% (and related messages, the final outcome is that it is up to the TeX
+% user to double the backslashes and otherwise make the string valid, so
+% that's we do).
+
+% double active backslashes.
+% 
+{\catcode`\@=0 \catcode`\\=\active
+ @gdef@activebackslash{@catcode`@\=@active @otherbackslash}
+ @gdef@activebackslashdouble{%
+   @catcode@backChar=@active
+   @let\=@doublebackslash}
+}
+
+% To handle parens, we must adopt a different approach, since parens are
+% not active characters.  hyperref.dtx (which has the same problem as
+% us) handles it with this amazing macro to replace tokens.  I've
+% tinkered with it a little for texinfo, but it's definitely from there.
+% 
+% #1 is the tokens to replace.
+% #2 is the replacement.
+% #3 is the control sequence with the string.
+% 
+\def\HyPsdSubst#1#2#3{%
+  \def\HyPsdReplace##1#1##2\END{%
+    ##1%
+    \ifx\\##2\\%
+    \else
+      #2%
+      \HyReturnAfterFi{%
+        \HyPsdReplace##2\END
+      }%
+    \fi
+  }%
+  \xdef#3{\expandafter\HyPsdReplace#3#1\END}%
+}
+\long\def\HyReturnAfterFi#1\fi{\fi#1}
+
+% #1 is a control sequence in which to do the replacements.
+\def\backslashparens#1{%
+  \xdef#1{#1}% redefine it as its expansion; the definition is simply
+             % \lastnode when called from \setref -> \pdfmkdest.
+  \HyPsdSubst{(}{\backslashlparen}{#1}%
+  \HyPsdSubst{)}{\backslashrparen}{#1}%
+}
+
+{\catcode\exclamChar = 0 \catcode\backChar = \other
+ !gdef!backslashlparen{\(}%
+ !gdef!backslashrparen{\)}%
+}
+
+\ifpdf
+  \input pdfcolor
+  \pdfcatalog{/PageMode /UseOutlines}%
+  \def\dopdfimage#1#2#3{%
+    \def\imagewidth{#2}%
+    \def\imageheight{#3}%
+    % without \immediate, pdftex seg faults when the same image is
+    % included twice.  (Version 3.14159-pre-1.0-unofficial-20010704.)
+    \ifnum\pdftexversion < 14
+      \immediate\pdfimage
+    \else
+      \immediate\pdfximage
+    \fi
+      \ifx\empty\imagewidth\else width \imagewidth \fi
+      \ifx\empty\imageheight\else height \imageheight \fi
+      \ifnum\pdftexversion<13
+         #1.pdf%
+       \else
+         {#1.pdf}%
+       \fi
+    \ifnum\pdftexversion < 14 \else
+      \pdfrefximage \pdflastximage
+    \fi}
+  \def\pdfmkdest#1{{%
+    % We have to set dummies so commands such as @code, and characters
+    % such as \, aren't expanded when present in a section title.
+    \atdummies
+    \activebackslashdouble
+    \def\pdfdestname{#1}%
+    \backslashparens\pdfdestname
+    \pdfdest name{\pdfdestname} xyz%
+  }}%
+  %
+  % used to mark target names; must be expandable.
+  \def\pdfmkpgn#1{#1}%
+  %
+  \let\linkcolor = \Blue  % was Cyan, but that seems light?
+  \def\endlink{\Black\pdfendlink}
+  % Adding outlines to PDF; macros for calculating structure of outlines
+  % come from Petr Olsak
+  \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
+    \else \csname#1\endcsname \fi}
+  \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
+    \advance\tempnum by 1
+    \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
+  %
+  % #1 is the section text, which is what will be displayed in the
+  % outline by the pdf viewer.  #2 is the pdf expression for the number
+  % of subentries (or empty, for subsubsections).  #3 is the node text,
+  % which might be empty if this toc entry had no corresponding node.
+  % #4 is the page number
+  %
+  \def\dopdfoutline#1#2#3#4{%
+    % Generate a link to the node text if that exists; else, use the
+    % page number.  We could generate a destination for the section
+    % text in the case where a section has no node, but it doesn't
+    % seem worth the trouble, since most documents are normally structured.
+    \def\pdfoutlinedest{#3}%
+    \ifx\pdfoutlinedest\empty
+      \def\pdfoutlinedest{#4}%
+    \else
+      % Doubled backslashes in the name.
+      {\activebackslashdouble \xdef\pdfoutlinedest{#3}%
+       \backslashparens\pdfoutlinedest}%
+    \fi
+    %
+    % Also double the backslashes in the display string.
+    {\activebackslashdouble \xdef\pdfoutlinetext{#1}%
+     \backslashparens\pdfoutlinetext}%
+    %
+    \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
+  }
+  %
+  \def\pdfmakeoutlines{%
+    \begingroup
+      % Thanh's hack / proper braces in bookmarks
+      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
+      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
+      %
+      % Read toc silently, to get counts of subentries for \pdfoutline.
+      \def\numchapentry##1##2##3##4{%
+	\def\thischapnum{##2}%
+	\def\thissecnum{0}%
+	\def\thissubsecnum{0}%
+      }%
+      \def\numsecentry##1##2##3##4{%
+	\advancenumber{chap\thischapnum}%
+	\def\thissecnum{##2}%
+	\def\thissubsecnum{0}%
+      }%
+      \def\numsubsecentry##1##2##3##4{%
+	\advancenumber{sec\thissecnum}%
+	\def\thissubsecnum{##2}%
+      }%
+      \def\numsubsubsecentry##1##2##3##4{%
+	\advancenumber{subsec\thissubsecnum}%
+      }%
+      \def\thischapnum{0}%
+      \def\thissecnum{0}%
+      \def\thissubsecnum{0}%
+      %
+      % use \def rather than \let here because we redefine \chapentry et
+      % al. a second time, below.
+      \def\appentry{\numchapentry}%
+      \def\appsecentry{\numsecentry}%
+      \def\appsubsecentry{\numsubsecentry}%
+      \def\appsubsubsecentry{\numsubsubsecentry}%
+      \def\unnchapentry{\numchapentry}%
+      \def\unnsecentry{\numsecentry}%
+      \def\unnsubsecentry{\numsubsecentry}%
+      \def\unnsubsubsecentry{\numsubsubsecentry}%
+      \readdatafile{toc}%
+      %
+      % Read toc second time, this time actually producing the outlines.
+      % The `-' means take the \expnumber as the absolute number of
+      % subentries, which we calculated on our first read of the .toc above.
+      %
+      % We use the node names as the destinations.
+      \def\numchapentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+      \def\numsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
+      \def\numsubsecentry##1##2##3##4{%
+        \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+      \def\numsubsubsecentry##1##2##3##4{% count is always zero
+        \dopdfoutline{##1}{}{##3}{##4}}%
+      %
+      % PDF outlines are displayed using system fonts, instead of
+      % document fonts.  Therefore we cannot use special characters,
+      % since the encoding is unknown.  For example, the eogonek from
+      % Latin 2 (0xea) gets translated to a | character.  Info from
+      % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+      %
+      % xx to do this right, we have to translate 8-bit characters to
+      % their "best" equivalent, based on the @documentencoding.  Right
+      % now, I guess we'll just let the pdf reader have its way.
+      \indexnofonts
+      \setupdatafile
+      \activebackslash
+      \input \jobname.toc
+    \endgroup
+  }
+  %
+  \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+    \ifx\PP\D\let\nextsp\relax
+    \else\let\nextsp\skipspaces
+      \ifx\p\space\else\addtokens{\filename}{\PP}%
+        \advance\filenamelength by 1
+      \fi
+    \fi
+    \nextsp}
+  \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
+  \ifnum\pdftexversion < 14
+    \let \startlink \pdfannotlink
+  \else
+    \let \startlink \pdfstartlink
+  \fi
+  \def\pdfurl#1{%
+    \begingroup
+      \normalturnoffactive\def\@{@}%
+      \makevalueexpandable
+      \leavevmode\Red
+      \startlink attr{/Border [0 0 0]}%
+        user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+    \endgroup}
+  \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+  \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+  \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+  \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+  \def\maketoks{%
+    \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+    \ifx\first0\adn0
+    \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+    \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+    \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+    \else
+      \ifnum0=\countA\else\makelink\fi
+      \ifx\first.\let\next=\done\else
+        \let\next=\maketoks
+        \addtokens{\toksB}{\the\toksD}
+        \ifx\first,\addtokens{\toksB}{\space}\fi
+      \fi
+    \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+    \next}
+  \def\makelink{\addtokens{\toksB}%
+    {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+  \def\pdflink#1{%
+    \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
+    \linkcolor #1\endlink}
+  \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+\else
+  \let\pdfmkdest = \gobble
+  \let\pdfurl = \gobble
+  \let\endlink = \relax
+  \let\linkcolor = \relax
+  \let\pdfmakeoutlines = \relax
+\fi  % \ifx\pdfoutput
+
+
+\message{fonts,}
+
+% Change the current font style to #1, remembering it in \curfontstyle.
+% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
+% italics, not bold italics.
+%
+\def\setfontstyle#1{%
+  \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
+  \csname ten#1\endcsname  % change the current font
+}
+
+% Select #1 fonts with the current style.
+%
+\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
+
+\def\rm{\fam=0 \setfontstyle{rm}}
+\def\it{\fam=\itfam \setfontstyle{it}}
+\def\sl{\fam=\slfam \setfontstyle{sl}}
+\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
+\def\tt{\fam=\ttfam \setfontstyle{tt}}
+
+% Texinfo sort of supports the sans serif font style, which plain TeX does not.
+% So we set up a \sf.
+\newfam\sffam
+\def\sf{\fam=\sffam \setfontstyle{sf}}
+\let\li = \sf % Sometimes we call it \li, not \sf.
+
+% We don't need math for this font style.
+\def\ttsl{\setfontstyle{ttsl}}
+
+% Default leading.
+\newdimen\textleading  \textleading = 13.2pt
+
+% Set the baselineskip to #1, and the lineskip and strut size
+% correspondingly.  There is no deep meaning behind these magic numbers
+% used as factors; they just match (closely enough) what Knuth defined.
+%
+\def\lineskipfactor{.08333}
+\def\strutheightpercent{.70833}
+\def\strutdepthpercent {.29167}
+%
+\def\setleading#1{%
+  \normalbaselineskip = #1\relax
+  \normallineskip = \lineskipfactor\normalbaselineskip
+  \normalbaselines
+  \setbox\strutbox =\hbox{%
+    \vrule width0pt height\strutheightpercent\baselineskip
+                    depth \strutdepthpercent \baselineskip
+  }%
+}
+
+% Set the font macro #1 to the font named #2, adding on the
+% specified font prefix (normally `cm').
+% #3 is the font's design size, #4 is a scale factor
+\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4}
+
+% Use cm as the default font prefix.
+% To specify the font prefix, you must define \fontprefix
+% before you read in texinfo.tex.
+\ifx\fontprefix\undefined
+\def\fontprefix{cm}
+\fi
+% Support font families that don't use the same naming scheme as CM.
+\def\rmshape{r}
+\def\rmbshape{bx}               %where the normal face is bold
+\def\bfshape{b}
+\def\bxshape{bx}
+\def\ttshape{tt}
+\def\ttbshape{tt}
+\def\ttslshape{sltt}
+\def\itshape{ti}
+\def\itbshape{bxti}
+\def\slshape{sl}
+\def\slbshape{bxsl}
+\def\sfshape{ss}
+\def\sfbshape{ss}
+\def\scshape{csc}
+\def\scbshape{csc}
+
+% Text fonts (11.2pt, magstep1).
+\def\textnominalsize{11pt}
+\edef\mainmagstep{\magstephalf}
+\setfont\textrm\rmshape{10}{\mainmagstep}
+\setfont\texttt\ttshape{10}{\mainmagstep}
+\setfont\textbf\bfshape{10}{\mainmagstep}
+\setfont\textit\itshape{10}{\mainmagstep}
+\setfont\textsl\slshape{10}{\mainmagstep}
+\setfont\textsf\sfshape{10}{\mainmagstep}
+\setfont\textsc\scshape{10}{\mainmagstep}
+\setfont\textttsl\ttslshape{10}{\mainmagstep}
+\font\texti=cmmi10 scaled \mainmagstep
+\font\textsy=cmsy10 scaled \mainmagstep
+
+% A few fonts for @defun names and args.
+\setfont\defbf\bfshape{10}{\magstep1}
+\setfont\deftt\ttshape{10}{\magstep1}
+\setfont\defttsl\ttslshape{10}{\magstep1}
+\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
+
+% Fonts for indices, footnotes, small examples (9pt).
+\def\smallnominalsize{9pt}
+\setfont\smallrm\rmshape{9}{1000}
+\setfont\smalltt\ttshape{9}{1000}
+\setfont\smallbf\bfshape{10}{900}
+\setfont\smallit\itshape{9}{1000}
+\setfont\smallsl\slshape{9}{1000}
+\setfont\smallsf\sfshape{9}{1000}
+\setfont\smallsc\scshape{10}{900}
+\setfont\smallttsl\ttslshape{10}{900}
+\font\smalli=cmmi9
+\font\smallsy=cmsy9
+
+% Fonts for small examples (8pt).
+\def\smallernominalsize{8pt}
+\setfont\smallerrm\rmshape{8}{1000}
+\setfont\smallertt\ttshape{8}{1000}
+\setfont\smallerbf\bfshape{10}{800}
+\setfont\smallerit\itshape{8}{1000}
+\setfont\smallersl\slshape{8}{1000}
+\setfont\smallersf\sfshape{8}{1000}
+\setfont\smallersc\scshape{10}{800}
+\setfont\smallerttsl\ttslshape{10}{800}
+\font\smalleri=cmmi8
+\font\smallersy=cmsy8
+
+% Fonts for title page (20.4pt):
+\def\titlenominalsize{20pt}
+\setfont\titlerm\rmbshape{12}{\magstep3}
+\setfont\titleit\itbshape{10}{\magstep4}
+\setfont\titlesl\slbshape{10}{\magstep4}
+\setfont\titlett\ttbshape{12}{\magstep3}
+\setfont\titlettsl\ttslshape{10}{\magstep4}
+\setfont\titlesf\sfbshape{17}{\magstep1}
+\let\titlebf=\titlerm
+\setfont\titlesc\scbshape{10}{\magstep4}
+\font\titlei=cmmi12 scaled \magstep3
+\font\titlesy=cmsy10 scaled \magstep4
+\def\authorrm{\secrm}
+\def\authortt{\sectt}
+
+% Chapter (and unnumbered) fonts (17.28pt).
+\def\chapnominalsize{17pt}
+\setfont\chaprm\rmbshape{12}{\magstep2}
+\setfont\chapit\itbshape{10}{\magstep3}
+\setfont\chapsl\slbshape{10}{\magstep3}
+\setfont\chaptt\ttbshape{12}{\magstep2}
+\setfont\chapttsl\ttslshape{10}{\magstep3}
+\setfont\chapsf\sfbshape{17}{1000}
+\let\chapbf=\chaprm
+\setfont\chapsc\scbshape{10}{\magstep3}
+\font\chapi=cmmi12 scaled \magstep2
+\font\chapsy=cmsy10 scaled \magstep3
+
+% Section fonts (14.4pt).
+\def\secnominalsize{14pt}
+\setfont\secrm\rmbshape{12}{\magstep1}
+\setfont\secit\itbshape{10}{\magstep2}
+\setfont\secsl\slbshape{10}{\magstep2}
+\setfont\sectt\ttbshape{12}{\magstep1}
+\setfont\secttsl\ttslshape{10}{\magstep2}
+\setfont\secsf\sfbshape{12}{\magstep1}
+\let\secbf\secrm
+\setfont\secsc\scbshape{10}{\magstep2}
+\font\seci=cmmi12 scaled \magstep1
+\font\secsy=cmsy10 scaled \magstep2
+
+% Subsection fonts (13.15pt).
+\def\ssecnominalsize{13pt}
+\setfont\ssecrm\rmbshape{12}{\magstephalf}
+\setfont\ssecit\itbshape{10}{1315}
+\setfont\ssecsl\slbshape{10}{1315}
+\setfont\ssectt\ttbshape{12}{\magstephalf}
+\setfont\ssecttsl\ttslshape{10}{1315}
+\setfont\ssecsf\sfbshape{12}{\magstephalf}
+\let\ssecbf\ssecrm
+\setfont\ssecsc\scbshape{10}{1315}
+\font\sseci=cmmi12 scaled \magstephalf
+\font\ssecsy=cmsy10 scaled 1315
+
+% Reduced fonts for @acro in text (10pt).
+\def\reducednominalsize{10pt}
+\setfont\reducedrm\rmshape{10}{1000}
+\setfont\reducedtt\ttshape{10}{1000}
+\setfont\reducedbf\bfshape{10}{1000}
+\setfont\reducedit\itshape{10}{1000}
+\setfont\reducedsl\slshape{10}{1000}
+\setfont\reducedsf\sfshape{10}{1000}
+\setfont\reducedsc\scshape{10}{1000}
+\setfont\reducedttsl\ttslshape{10}{1000}
+\font\reducedi=cmmi10
+\font\reducedsy=cmsy10
+
+% In order for the font changes to affect most math symbols and letters,
+% we have to define the \textfont of the standard families.  Since
+% texinfo doesn't allow for producing subscripts and superscripts except
+% in the main text, we don't bother to reset \scriptfont and
+% \scriptscriptfont (which would also require loading a lot more fonts).
+%
+\def\resetmathfonts{%
+  \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
+  \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
+  \textfont\ttfam=\tentt \textfont\sffam=\tensf
+}
+
+% The font-changing commands redefine the meanings of \tenSTYLE, instead
+% of just \STYLE.  We do this because \STYLE needs to also set the
+% current \fam for math mode.  Our \STYLE (e.g., \rm) commands hardwire
+% \tenSTYLE to set the current font.
+%
+% Each font-changing command also sets the names \lsize (one size lower)
+% and \lllsize (three sizes lower).  These relative commands are used in
+% the LaTeX logo and acronyms.
+%
+% This all needs generalizing, badly.
+%
+\def\textfonts{%
+  \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
+  \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
+  \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
+  \let\tenttsl=\textttsl
+  \def\curfontsize{text}%
+  \def\lsize{reduced}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{\textleading}}
+\def\titlefonts{%
+  \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
+  \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
+  \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
+  \let\tenttsl=\titlettsl
+  \def\curfontsize{title}%
+  \def\lsize{chap}\def\lllsize{subsec}%
+  \resetmathfonts \setleading{25pt}}
+\def\titlefont#1{{\titlefonts\rm #1}}
+\def\chapfonts{%
+  \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
+  \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
+  \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
+  \let\tenttsl=\chapttsl
+  \def\curfontsize{chap}%
+  \def\lsize{sec}\def\lllsize{text}%
+  \resetmathfonts \setleading{19pt}}
+\def\secfonts{%
+  \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
+  \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
+  \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
+  \let\tenttsl=\secttsl
+  \def\curfontsize{sec}%
+  \def\lsize{subsec}\def\lllsize{reduced}%
+  \resetmathfonts \setleading{16pt}}
+\def\subsecfonts{%
+  \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
+  \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
+  \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
+  \let\tenttsl=\ssecttsl
+  \def\curfontsize{ssec}%
+  \def\lsize{text}\def\lllsize{small}%
+  \resetmathfonts \setleading{15pt}}
+\let\subsubsecfonts = \subsecfonts
+\def\reducedfonts{%
+  \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
+  \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
+  \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
+  \let\tenttsl=\reducedttsl
+  \def\curfontsize{reduced}%
+  \def\lsize{small}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{10.5pt}}
+\def\smallfonts{%
+  \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
+  \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
+  \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
+  \let\tenttsl=\smallttsl
+  \def\curfontsize{small}%
+  \def\lsize{smaller}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{10.5pt}}
+\def\smallerfonts{%
+  \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
+  \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
+  \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
+  \let\tenttsl=\smallerttsl
+  \def\curfontsize{smaller}%
+  \def\lsize{smaller}\def\lllsize{smaller}%
+  \resetmathfonts \setleading{9.5pt}}
+
+% Set the fonts to use with the @small... environments.
+\let\smallexamplefonts = \smallfonts
+
+% About \smallexamplefonts.  If we use \smallfonts (9pt), @smallexample
+% can fit this many characters:
+%   8.5x11=86   smallbook=72  a4=90  a5=69
+% If we use \scriptfonts (8pt), then we can fit this many characters:
+%   8.5x11=90+  smallbook=80  a4=90+  a5=77
+% For me, subjectively, the few extra characters that fit aren't worth
+% the additional smallness of 8pt.  So I'm making the default 9pt.
+%
+% By the way, for comparison, here's what fits with @example (10pt):
+%   8.5x11=71  smallbook=60  a4=75  a5=58
+%
+% I wish the USA used A4 paper.
+% --karl, 24jan03.
+
+
+% Set up the default fonts, so we can use them for creating boxes.
+%
+\textfonts \rm
+
+% Define these so they can be easily changed for other fonts.
+\def\angleleft{$\langle$}
+\def\angleright{$\rangle$}
+
+% Count depth in font-changes, for error checks
+\newcount\fontdepth \fontdepth=0
+
+% Fonts for short table of contents.
+\setfont\shortcontrm\rmshape{12}{1000}
+\setfont\shortcontbf\bfshape{10}{\magstep1}  % no cmb12
+\setfont\shortcontsl\slshape{12}{1000}
+\setfont\shortconttt\ttshape{12}{1000}
+
+%% Add scribe-like font environments, plus @l for inline lisp (usually sans
+%% serif) and @ii for TeX italic
+
+% \smartitalic{ARG} outputs arg in italics, followed by an italic correction
+% unless the following character is such as not to need one.
+\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else
+                    \ptexslash\fi\fi\fi}
+\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx}
+\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally uses \ttsl.
+% @var is set to this for defun arguments.
+\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx}
+
+% like \smartslanted except unconditionally use \sl.  We never want
+% ttsl for book titles, do we?
+\def\cite#1{{\sl #1}\futurelet\next\smartitalicx}
+
+\let\i=\smartitalic
+\let\slanted=\smartslanted
+\let\var=\smartslanted
+\let\dfn=\smartslanted
+\let\emph=\smartitalic
+
+% @b, explicit bold.
+\def\b#1{{\bf #1}}
+\let\strong=\b
+
+% @sansserif, explicit sans.
+\def\sansserif#1{{\sf #1}}
+
+% We can't just use \exhyphenpenalty, because that only has effect at
+% the end of a paragraph.  Restore normal hyphenation at the end of the
+% group within which \nohyphenation is presumably called.
+%
+\def\nohyphenation{\hyphenchar\font = -1  \aftergroup\restorehyphenation}
+\def\restorehyphenation{\hyphenchar\font = `- }
+
+% Set sfcode to normal for the chars that usually have another value.
+% Can't use plain's \frenchspacing because it uses the `\x notation, and
+% sometimes \x has an active definition that messes things up.
+%
+\catcode`@=11
+  \def\plainfrenchspacing{%
+    \sfcode\dotChar  =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
+    \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
+    \def\endofsentencespacefactor{1000}% for @. and friends
+  }
+  \def\plainnonfrenchspacing{%
+    \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
+    \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
+    \def\endofsentencespacefactor{3000}% for @. and friends
+  }
+\catcode`@=\other
+\def\endofsentencespacefactor{3000}% default
+
+\def\t#1{%
+  {\tt \rawbackslash \plainfrenchspacing #1}%
+  \null
+}
+\def\samp#1{`\tclose{#1}'\null}
+\setfont\keyrm\rmshape{8}{1000}
+\font\keysy=cmsy9
+\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
+  \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
+    \vbox{\hrule\kern-0.4pt
+     \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
+    \kern-0.4pt\hrule}%
+  \kern-.06em\raise0.4pt\hbox{\angleright}}}}
+% The old definition, with no lozenge:
+%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null}
+\def\ctrl #1{{\tt \rawbackslash \hat}#1}
+
+% @file, @option are the same as @samp.
+\let\file=\samp
+\let\option=\samp
+
+% @code is a modification of @t,
+% which makes spaces the same size as normal in the surrounding text.
+\def\tclose#1{%
+  {%
+    % Change normal interword space to be same as for the current font.
+    \spaceskip = \fontdimen2\font
+    %
+    % Switch to typewriter.
+    \tt
+    %
+    % But `\ ' produces the large typewriter interword space.
+    \def\ {{\spaceskip = 0pt{} }}%
+    %
+    % Turn off hyphenation.
+    \nohyphenation
+    %
+    \rawbackslash
+    \plainfrenchspacing
+    #1%
+  }%
+  \null
+}
+
+% We *must* turn on hyphenation at `-' and `_' in @code.
+% Otherwise, it is too hard to avoid overfull hboxes
+% in the Emacs manual, the Library manual, etc.
+
+% Unfortunately, TeX uses one parameter (\hyphenchar) to control
+% both hyphenation at - and hyphenation within words.
+% We must therefore turn them both off (\tclose does that)
+% and arrange explicitly to hyphenate at a dash.
+%  -- rms.
+{
+  \catcode`\-=\active
+  \catcode`\_=\active
+  %
+  \global\def\code{\begingroup
+    \catcode`\-=\active  \catcode`\_=\active
+    \ifallowcodebreaks
+     \let-\codedash
+     \let_\codeunder
+    \else
+     \let-\realdash
+     \let_\realunder
+    \fi
+    \codex
+  }
+}
+
+\def\realdash{-}
+\def\codedash{-\discretionary{}{}{}}
+\def\codeunder{%
+  % this is all so @math{@code{var_name}+1} can work.  In math mode, _
+  % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
+  % will therefore expand the active definition of _, which is us
+  % (inside @code that is), therefore an endless loop.
+  \ifusingtt{\ifmmode
+               \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
+             \else\normalunderscore \fi
+             \discretionary{}{}{}}%
+            {\_}%
+}
+\def\codex #1{\tclose{#1}\endgroup}
+
+% An additional complication: the above will allow breaks after, e.g.,
+% each of the four underscores in __typeof__.  This is undesirable in
+% some manuals, especially if they don't have long identifiers in
+% general.  @allowcodebreaks provides a way to control this.
+% 
+\newif\ifallowcodebreaks  \allowcodebreakstrue
+
+\def\keywordtrue{true}
+\def\keywordfalse{false}
+
+\parseargdef\allowcodebreaks{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\keywordtrue
+    \allowcodebreakstrue
+  \else\ifx\txiarg\keywordfalse
+    \allowcodebreaksfalse
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @allowcodebreaks option `\txiarg'}%
+  \fi\fi
+}
+
+% @kbd is like @code, except that if the argument is just one @key command,
+% then @kbd has no effect.
+
+% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
+%   `example' (@kbd uses ttsl only inside of @example and friends),
+%   or `code' (@kbd uses normal tty font always).
+\parseargdef\kbdinputstyle{%
+  \def\txiarg{#1}%
+  \ifx\txiarg\worddistinct
+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
+  \else\ifx\txiarg\wordexample
+    \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
+  \else\ifx\txiarg\wordcode
+    \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
+  \else
+    \errhelp = \EMsimple
+    \errmessage{Unknown @kbdinputstyle option `\txiarg'}%
+  \fi\fi\fi
+}
+\def\worddistinct{distinct}
+\def\wordexample{example}
+\def\wordcode{code}
+
+% Default is `distinct.'
+\kbdinputstyle distinct
+
+\def\xkey{\key}
+\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}%
+\ifx\one\xkey\ifx\threex\three \key{#2}%
+\else{\tclose{\kbdfont\look}}\fi
+\else{\tclose{\kbdfont\look}}\fi}
+
+% For @indicateurl, @env, @command quotes seem unnecessary, so use \code.
+\let\indicateurl=\code
+\let\env=\code
+\let\command=\code
+
+% @uref (abbreviation for `urlref') takes an optional (comma-separated)
+% second argument specifying the text to display and an optional third
+% arg as text to display instead of (rather than in addition to) the url
+% itself.  First (mandatory) arg is the url.  Perhaps eventually put in
+% a hypertex \special here.
+%
+\def\uref#1{\douref #1,,,\finish}
+\def\douref#1,#2,#3,#4\finish{\begingroup
+  \unsepspaces
+  \pdfurl{#1}%
+  \setbox0 = \hbox{\ignorespaces #3}%
+  \ifdim\wd0 > 0pt
+    \unhbox0 % third arg given, show only that
+  \else
+    \setbox0 = \hbox{\ignorespaces #2}%
+    \ifdim\wd0 > 0pt
+      \ifpdf
+        \unhbox0             % PDF: 2nd arg given, show only it
+      \else
+        \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
+      \fi
+    \else
+      \code{#1}% only url given, so show it
+    \fi
+  \fi
+  \endlink
+\endgroup}
+
+% @url synonym for @uref, since that's how everyone uses it.
+%
+\let\url=\uref
+
+% rms does not like angle brackets --karl, 17may97.
+% So now @email is just like @uref, unless we are pdf.
+%
+%\def\email#1{\angleleft{\tt #1}\angleright}
+\ifpdf
+  \def\email#1{\doemail#1,,\finish}
+  \def\doemail#1,#2,#3\finish{\begingroup
+    \unsepspaces
+    \pdfurl{mailto:#1}%
+    \setbox0 = \hbox{\ignorespaces #2}%
+    \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
+    \endlink
+  \endgroup}
+\else
+  \let\email=\uref
+\fi
+
+% Check if we are currently using a typewriter font.  Since all the
+% Computer Modern typewriter fonts have zero interword stretch (and
+% shrink), and it is reasonable to expect all typewriter fonts to have
+% this property, we can check that font parameter.
+%
+\def\ifmonospace{\ifdim\fontdimen3\font=0pt }
+
+% Typeset a dimension, e.g., `in' or `pt'.  The only reason for the
+% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
+%
+\def\dmn#1{\thinspace #1}
+
+\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par}
+
+% @l was never documented to mean ``switch to the Lisp font'',
+% and it is not used as such in any manual I can find.  We need it for
+% Polish suppressed-l.  --karl, 22sep96.
+%\def\l#1{{\li #1}\null}
+
+% Explicit font changes: @r, @sc, undocumented @ii.
+\def\r#1{{\rm #1}}              % roman font
+\def\sc#1{{\smallcaps#1}}       % smallcaps font
+\def\ii#1{{\it #1}}             % italic font
+
+% @acronym for "FBI", "NATO", and the like.
+% We print this one point size smaller, since it's intended for
+% all-uppercase.
+% 
+\def\acronym#1{\doacronym #1,,\finish}
+\def\doacronym#1,#2,#3\finish{%
+  {\selectfonts\lsize #1}%
+  \def\temp{#2}%
+  \ifx\temp\empty \else
+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
+  \fi
+}
+
+% @abbr for "Comput. J." and the like.
+% No font change, but don't do end-of-sentence spacing.
+% 
+\def\abbr#1{\doabbr #1,,\finish}
+\def\doabbr#1,#2,#3\finish{%
+  {\plainfrenchspacing #1}%
+  \def\temp{#2}%
+  \ifx\temp\empty \else
+    \space ({\unsepspaces \ignorespaces \temp \unskip})%
+  \fi
+}
+
+% @pounds{} is a sterling sign, which Knuth put in the CM italic font.
+%
+\def\pounds{{\it\$}}
+
+% @euro{} comes from a separate font, depending on the current style.
+% We use the free feym* fonts from the eurosym package by Henrik
+% Theiling, which support regular, slanted, bold and bold slanted (and
+% "outlined" (blackboard board, sort of) versions, which we don't need).
+% It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
+% 
+% Although only regular is the truly official Euro symbol, we ignore
+% that.  The Euro is designed to be slightly taller than the regular
+% font height.
+% 
+% feymr - regular
+% feymo - slanted
+% feybr - bold
+% feybo - bold slanted
+% 
+% There is no good (free) typewriter version, to my knowledge.
+% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
+% Hmm.
+% 
+% Also doesn't work in math.  Do we need to do math with euro symbols?
+% Hope not.
+% 
+% 
+\def\euro{{\eurofont e}}
+\def\eurofont{%
+  % We set the font at each command, rather than predefining it in
+  % \textfonts and the other font-switching commands, so that
+  % installations which never need the symbol don't have to have the
+  % font installed.
+  % 
+  % There is only one designed size (nominal 10pt), so we always scale
+  % that to the current nominal size.
+  % 
+  % By the way, simply using "at 1em" works for cmr10 and the like, but
+  % does not work for cmbx10 and other extended/shrunken fonts.
+  % 
+  \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
+  %
+  \ifx\curfontstyle\bfstylename 
+    % bold:
+    \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
+  \else 
+    % regular:
+    \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
+  \fi
+  \thiseurofont
+}
+
+% @registeredsymbol - R in a circle.  The font for the R should really
+% be smaller yet, but lllsize is the best we can do for now.
+% Adapted from the plain.tex definition of \copyright.
+%
+\def\registeredsymbol{%
+  $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
+               \hfil\crcr\Orb}}%
+    }$%
+}
+
+% Laurent Siebenmann reports \Orb undefined with:
+%  Textures 1.7.7 (preloaded format=plain 93.10.14)  (68K)  16 APR 2004 02:38
+% so we'll define it if necessary.
+% 
+\ifx\Orb\undefined
+\def\Orb{\mathhexbox20D}
+\fi
+
+
+\message{page headings,}
+
+\newskip\titlepagetopglue \titlepagetopglue = 1.5in
+\newskip\titlepagebottomglue \titlepagebottomglue = 2pc
+
+% First the title page.  Must do @settitle before @titlepage.
+\newif\ifseenauthor
+\newif\iffinishedtitlepage
+
+% Do an implicit @contents or @shortcontents after @end titlepage if the
+% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
+%
+\newif\ifsetcontentsaftertitlepage
+ \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
+\newif\ifsetshortcontentsaftertitlepage
+ \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
+
+\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}%
+        \endgroup\page\hbox{}\page}
+
+\envdef\titlepage{%
+  % Open one extra group, as we want to close it in the middle of \Etitlepage.
+  \begingroup
+    \parindent=0pt \textfonts
+    % Leave some space at the very top of the page.
+    \vglue\titlepagetopglue
+    % No rule at page bottom unless we print one at the top with @title.
+    \finishedtitlepagetrue
+    %
+    % Most title ``pages'' are actually two pages long, with space
+    % at the top of the second.  We don't want the ragged left on the second.
+    \let\oldpage = \page
+    \def\page{%
+      \iffinishedtitlepage\else
+	 \finishtitlepage
+      \fi
+      \let\page = \oldpage
+      \page
+      \null
+    }%
+}
+
+\def\Etitlepage{%
+    \iffinishedtitlepage\else
+	\finishtitlepage
+    \fi
+    % It is important to do the page break before ending the group,
+    % because the headline and footline are only empty inside the group.
+    % If we use the new definition of \page, we always get a blank page
+    % after the title page, which we certainly don't want.
+    \oldpage
+  \endgroup
+  %
+  % Need this before the \...aftertitlepage checks so that if they are
+  % in effect the toc pages will come out with page numbers.
+  \HEADINGSon
+  %
+  % If they want short, they certainly want long too.
+  \ifsetshortcontentsaftertitlepage
+    \shortcontents
+    \contents
+    \global\let\shortcontents = \relax
+    \global\let\contents = \relax
+  \fi
+  %
+  \ifsetcontentsaftertitlepage
+    \contents
+    \global\let\contents = \relax
+    \global\let\shortcontents = \relax
+  \fi
+}
+
+\def\finishtitlepage{%
+  \vskip4pt \hrule height 2pt width \hsize
+  \vskip\titlepagebottomglue
+  \finishedtitlepagetrue
+}
+
+%%% Macros to be used within @titlepage:
+
+\let\subtitlerm=\tenrm
+\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+
+\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines
+		\let\tt=\authortt}
+
+\parseargdef\title{%
+  \checkenv\titlepage
+  \leftline{\titlefonts\rm #1}
+  % print a rule at the page bottom also.
+  \finishedtitlepagefalse
+  \vskip4pt \hrule height 4pt width \hsize \vskip4pt
+}
+
+\parseargdef\subtitle{%
+  \checkenv\titlepage
+  {\subtitlefont \rightline{#1}}%
+}
+
+% @author should come last, but may come many times.
+% It can also be used inside @quotation.
+%
+\parseargdef\author{%
+  \def\temp{\quotation}%
+  \ifx\thisenv\temp
+    \def\quotationauthor{#1}% printed in \Equotation.
+  \else
+    \checkenv\titlepage
+    \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+    {\authorfont \leftline{#1}}%
+  \fi
+}
+
+
+%%% Set up page headings and footings.
+
+\let\thispage=\folio
+
+\newtoks\evenheadline    % headline on even pages
+\newtoks\oddheadline     % headline on odd pages
+\newtoks\evenfootline    % footline on even pages
+\newtoks\oddfootline     % footline on odd pages
+
+% Now make TeX use those variables
+\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
+                            \else \the\evenheadline \fi}}
+\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
+                            \else \the\evenfootline \fi}\HEADINGShook}
+\let\HEADINGShook=\relax
+
+% Commands to set those variables.
+% For example, this is what  @headings on  does
+% @evenheading @thistitle|@thispage|@thischapter
+% @oddheading @thischapter|@thispage|@thistitle
+% @evenfooting @thisfile||
+% @oddfooting ||@thisfile
+
+
+\def\evenheading{\parsearg\evenheadingxxx}
+\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
+\def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
+\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\def\oddheading{\parsearg\oddheadingxxx}
+\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
+\def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
+\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
+
+\def\evenfooting{\parsearg\evenfootingxxx}
+\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
+\def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
+\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
+
+\def\oddfooting{\parsearg\oddfootingxxx}
+\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
+\def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
+  \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
+  %
+  % Leave some space for the footline.  Hopefully ok to assume
+  % @evenfooting will not be used by itself.
+  \global\advance\pageheight by -\baselineskip
+  \global\advance\vsize by -\baselineskip
+}
+
+\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
+
+
+% @headings double      turns headings on for double-sided printing.
+% @headings single      turns headings on for single-sided printing.
+% @headings off         turns them off.
+% @headings on          same as @headings double, retained for compatibility.
+% @headings after       turns on double-sided headings after this page.
+% @headings doubleafter turns on double-sided headings after this page.
+% @headings singleafter turns on single-sided headings after this page.
+% By default, they are off at the start of a document,
+% and turned `on' after @end titlepage.
+
+\def\headings #1 {\csname HEADINGS#1\endcsname}
+
+\def\HEADINGSoff{%
+\global\evenheadline={\hfil} \global\evenfootline={\hfil}
+\global\oddheadline={\hfil} \global\oddfootline={\hfil}}
+\HEADINGSoff
+% When we turn headings on, set the page number to 1.
+% For double-sided printing, put current file name in lower left corner,
+% chapter name on inside top of right hand pages, document
+% title on inside top of left hand pages, and page numbers on outside top
+% edge of all pages.
+\def\HEADINGSdouble{%
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+\let\contentsalignmacro = \chappager
+
+% For single-sided printing, chapter title goes across top left of page,
+% page number on top right.
+\def\HEADINGSsingle{%
+\global\pageno=1
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+\def\HEADINGSon{\HEADINGSdouble}
+
+\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
+\let\HEADINGSdoubleafter=\HEADINGSafter
+\def\HEADINGSdoublex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\folio\hfil\thistitle}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chapoddpage
+}
+
+\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
+\def\HEADINGSsinglex{%
+\global\evenfootline={\hfil}
+\global\oddfootline={\hfil}
+\global\evenheadline={\line{\thischapter\hfil\folio}}
+\global\oddheadline={\line{\thischapter\hfil\folio}}
+\global\let\contentsalignmacro = \chappager
+}
+
+% Subroutines used in generating headings
+% This produces Day Month Year style of output.
+% Only define if not already defined, in case a txi-??.tex file has set
+% up a different format (e.g., txi-cs.tex does this).
+\ifx\today\undefined
+\def\today{%
+  \number\day\space
+  \ifcase\month
+  \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
+  \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
+  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
+  \fi
+  \space\number\year}
+\fi
+
+% @settitle line...  specifies the title of the document, for headings.
+% It generates no output of its own.
+\def\thistitle{\putwordNoTitle}
+\def\settitle{\parsearg{\gdef\thistitle}}
+
+
+\message{tables,}
+% Tables -- @table, @ftable, @vtable, @item(x).
+
+% default indentation of table text
+\newdimen\tableindent \tableindent=.8in
+% default indentation of @itemize and @enumerate text
+\newdimen\itemindent  \itemindent=.3in
+% margin between end of table item and start of table text.
+\newdimen\itemmargin  \itemmargin=.1in
+
+% used internally for \itemindent minus \itemmargin
+\newdimen\itemmax
+
+% Note @table, @ftable, and @vtable define @item, @itemx, etc., with
+% these defs.
+% They also define \itemindex
+% to index the item name in whatever manner is desired (perhaps none).
+
+\newif\ifitemxneedsnegativevskip
+
+\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
+
+\def\internalBitem{\smallbreak \parsearg\itemzzz}
+\def\internalBitemx{\itemxpar \parsearg\itemzzz}
+
+\def\itemzzz #1{\begingroup %
+  \advance\hsize by -\rightskip
+  \advance\hsize by -\tableindent
+  \setbox0=\hbox{\itemindicate{#1}}%
+  \itemindex{#1}%
+  \nobreak % This prevents a break before @itemx.
+  %
+  % If the item text does not fit in the space we have, put it on a line
+  % by itself, and do not allow a page break either before or after that
+  % line.  We do not start a paragraph here because then if the next
+  % command is, e.g., @kindex, the whatsit would get put into the
+  % horizontal list on a line by itself, resulting in extra blank space.
+  \ifdim \wd0>\itemmax
+    %
+    % Make this a paragraph so we get the \parskip glue and wrapping,
+    % but leave it ragged-right.
+    \begingroup
+      \advance\leftskip by-\tableindent
+      \advance\hsize by\tableindent
+      \advance\rightskip by0pt plus1fil
+      \leavevmode\unhbox0\par
+    \endgroup
+    %
+    % We're going to be starting a paragraph, but we don't want the
+    % \parskip glue -- logically it's part of the @item we just started.
+    \nobreak \vskip-\parskip
+    %
+    % Stop a page break at the \parskip glue coming up.  However, if
+    % what follows is an environment such as @example, there will be no
+    % \parskip glue; then the negative vskip we just inserted would
+    % cause the example and the item to crash together.  So we use this
+    % bizarre value of 10001 as a signal to \aboveenvbreak to insert
+    % \parskip glue after all.  Section titles are handled this way also.
+    % 
+    \penalty 10001
+    \endgroup
+    \itemxneedsnegativevskipfalse
+  \else
+    % The item text fits into the space.  Start a paragraph, so that the
+    % following text (if any) will end up on the same line.
+    \noindent
+    % Do this with kerns and \unhbox so that if there is a footnote in
+    % the item text, it can migrate to the main vertical list and
+    % eventually be printed.
+    \nobreak\kern-\tableindent
+    \dimen0 = \itemmax  \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
+    \unhbox0
+    \nobreak\kern\dimen0
+    \endgroup
+    \itemxneedsnegativevskiptrue
+  \fi
+}
+
+\def\item{\errmessage{@item while not in a list environment}}
+\def\itemx{\errmessage{@itemx while not in a list environment}}
+
+% @table, @ftable, @vtable.
+\envdef\table{%
+  \let\itemindex\gobble
+  \tablecheck{table}%
+}
+\envdef\ftable{%
+  \def\itemindex ##1{\doind {fn}{\code{##1}}}%
+  \tablecheck{ftable}%
+}
+\envdef\vtable{%
+  \def\itemindex ##1{\doind {vr}{\code{##1}}}%
+  \tablecheck{vtable}%
+}
+\def\tablecheck#1{%
+  \ifnum \the\catcode`\^^M=\active
+    \endgroup
+    \errmessage{This command won't work in this context; perhaps the problem is
+      that we are \inenvironment\thisenv}%
+    \def\next{\doignore{#1}}%
+  \else
+    \let\next\tablex
+  \fi
+  \next
+}
+\def\tablex#1{%
+  \def\itemindicate{#1}%
+  \parsearg\tabley
+}
+\def\tabley#1{%
+  {%
+    \makevalueexpandable
+    \edef\temp{\noexpand\tablez #1\space\space\space}%
+    \expandafter
+  }\temp \endtablez
+}
+\def\tablez #1 #2 #3 #4\endtablez{%
+  \aboveenvbreak
+  \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
+  \ifnum 0#2>0 \tableindent=#2\mil \fi
+  \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
+  \itemmax=\tableindent
+  \advance \itemmax by -\itemmargin
+  \advance \leftskip by \tableindent
+  \exdentamount=\tableindent
+  \parindent = 0pt
+  \parskip = \smallskipamount
+  \ifdim \parskip=0pt \parskip=2pt \fi
+  \let\item = \internalBitem
+  \let\itemx = \internalBitemx
+}
+\def\Etable{\endgraf\afterenvbreak}
+\let\Eftable\Etable
+\let\Evtable\Etable
+\let\Eitemize\Etable
+\let\Eenumerate\Etable
+
+% This is the counter used by @enumerate, which is really @itemize
+
+\newcount \itemno
+
+\envdef\itemize{\parsearg\doitemize}
+
+\def\doitemize#1{%
+  \aboveenvbreak
+  \itemmax=\itemindent
+  \advance\itemmax by -\itemmargin
+  \advance\leftskip by \itemindent
+  \exdentamount=\itemindent
+  \parindent=0pt
+  \parskip=\smallskipamount
+  \ifdim\parskip=0pt \parskip=2pt \fi
+  \def\itemcontents{#1}%
+  % @itemize with no arg is equivalent to @itemize @bullet.
+  \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
+  \let\item=\itemizeitem
+}
+
+% Definition of @item while inside @itemize and @enumerate.
+%
+\def\itemizeitem{%
+  \advance\itemno by 1  % for enumerations
+  {\let\par=\endgraf \smallbreak}% reasonable place to break
+  {%
+   % If the document has an @itemize directly after a section title, a
+   % \nobreak will be last on the list, and \sectionheading will have
+   % done a \vskip-\parskip.  In that case, we don't want to zero
+   % parskip, or the item text will crash with the heading.  On the
+   % other hand, when there is normal text preceding the item (as there
+   % usually is), we do want to zero parskip, or there would be too much
+   % space.  In that case, we won't have a \nobreak before.  At least
+   % that's the theory.
+   \ifnum\lastpenalty<10000 \parskip=0in \fi
+   \noindent
+   \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
+   \vadjust{\penalty 1200}}% not good to break after first line of item.
+  \flushcr
+}
+
+% \splitoff TOKENS\endmark defines \first to be the first token in
+% TOKENS, and \rest to be the remainder.
+%
+\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
+
+% Allow an optional argument of an uppercase letter, lowercase letter,
+% or number, to specify the first label in the enumerated list.  No
+% argument is the same as `1'.
+%
+\envparseargdef\enumerate{\enumeratey #1  \endenumeratey}
+\def\enumeratey #1 #2\endenumeratey{%
+  % If we were given no argument, pretend we were given `1'.
+  \def\thearg{#1}%
+  \ifx\thearg\empty \def\thearg{1}\fi
+  %
+  % Detect if the argument is a single token.  If so, it might be a
+  % letter.  Otherwise, the only valid thing it can be is a number.
+  % (We will always have one token, because of the test we just made.
+  % This is a good thing, since \splitoff doesn't work given nothing at
+  % all -- the first parameter is undelimited.)
+  \expandafter\splitoff\thearg\endmark
+  \ifx\rest\empty
+    % Only one token in the argument.  It could still be anything.
+    % A ``lowercase letter'' is one whose \lccode is nonzero.
+    % An ``uppercase letter'' is one whose \lccode is both nonzero, and
+    %   not equal to itself.
+    % Otherwise, we assume it's a number.
+    %
+    % We need the \relax at the end of the \ifnum lines to stop TeX from
+    % continuing to look for a <number>.
+    %
+    \ifnum\lccode\expandafter`\thearg=0\relax
+      \numericenumerate % a number (we hope)
+    \else
+      % It's a letter.
+      \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
+        \lowercaseenumerate % lowercase letter
+      \else
+        \uppercaseenumerate % uppercase letter
+      \fi
+    \fi
+  \else
+    % Multiple tokens in the argument.  We hope it's a number.
+    \numericenumerate
+  \fi
+}
+
+% An @enumerate whose labels are integers.  The starting integer is
+% given in \thearg.
+%
+\def\numericenumerate{%
+  \itemno = \thearg
+  \startenumeration{\the\itemno}%
+}
+
+% The starting (lowercase) letter is in \thearg.
+\def\lowercaseenumerate{%
+  \itemno = \expandafter`\thearg
+  \startenumeration{%
+    % Be sure we're not beyond the end of the alphabet.
+    \ifnum\itemno=0
+      \errmessage{No more lowercase letters in @enumerate; get a bigger
+                  alphabet}%
+    \fi
+    \char\lccode\itemno
+  }%
+}
+
+% The starting (uppercase) letter is in \thearg.
+\def\uppercaseenumerate{%
+  \itemno = \expandafter`\thearg
+  \startenumeration{%
+    % Be sure we're not beyond the end of the alphabet.
+    \ifnum\itemno=0
+      \errmessage{No more uppercase letters in @enumerate; get a bigger
+                  alphabet}
+    \fi
+    \char\uccode\itemno
+  }%
+}
+
+% Call \doitemize, adding a period to the first argument and supplying the
+% common last two arguments.  Also subtract one from the initial value in
+% \itemno, since @item increments \itemno.
+%
+\def\startenumeration#1{%
+  \advance\itemno by -1
+  \doitemize{#1.}\flushcr
+}
+
+% @alphaenumerate and @capsenumerate are abbreviations for giving an arg
+% to @enumerate.
+%
+\def\alphaenumerate{\enumerate{a}}
+\def\capsenumerate{\enumerate{A}}
+\def\Ealphaenumerate{\Eenumerate}
+\def\Ecapsenumerate{\Eenumerate}
+
+
+% @multitable macros
+% Amy Hendrickson, 8/18/94, 3/6/96
+%
+% @multitable ... @end multitable will make as many columns as desired.
+% Contents of each column will wrap at width given in preamble.  Width
+% can be specified either with sample text given in a template line,
+% or in percent of \hsize, the current width of text on page.
+
+% Table can continue over pages but will only break between lines.
+
+% To make preamble:
+%
+% Either define widths of columns in terms of percent of \hsize:
+%   @multitable @columnfractions .25 .3 .45
+%   @item ...
+%
+%   Numbers following @columnfractions are the percent of the total
+%   current hsize to be used for each column. You may use as many
+%   columns as desired.
+
+
+% Or use a template:
+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+%   @item ...
+%   using the widest term desired in each column.
+
+% Each new table line starts with @item, each subsequent new column
+% starts with @tab. Empty columns may be produced by supplying @tab's
+% with nothing between them for as many times as empty columns are needed,
+% ie, @tab@tab@tab will produce two empty columns.
+
+% @item, @tab do not need to be on their own lines, but it will not hurt
+% if they are.
+
+% Sample multitable:
+
+%   @multitable {Column 1 template} {Column 2 template} {Column 3 template}
+%   @item first col stuff @tab second col stuff @tab third col
+%   @item
+%   first col stuff
+%   @tab
+%   second col stuff
+%   @tab
+%   third col
+%   @item first col stuff @tab second col stuff
+%   @tab Many paragraphs of text may be used in any column.
+%
+%         They will wrap at the width determined by the template.
+%   @item@tab@tab This will be in third column.
+%   @end multitable
+
+% Default dimensions may be reset by user.
+% @multitableparskip is vertical space between paragraphs in table.
+% @multitableparindent is paragraph indent in table.
+% @multitablecolmargin is horizontal space to be left between columns.
+% @multitablelinespace is space to leave between table items, baseline
+%                                                            to baseline.
+%   0pt means it depends on current normal line spacing.
+%
+\newskip\multitableparskip
+\newskip\multitableparindent
+\newdimen\multitablecolspace
+\newskip\multitablelinespace
+\multitableparskip=0pt
+\multitableparindent=6pt
+\multitablecolspace=12pt
+\multitablelinespace=0pt
+
+% Macros used to set up halign preamble:
+%
+\let\endsetuptable\relax
+\def\xendsetuptable{\endsetuptable}
+\let\columnfractions\relax
+\def\xcolumnfractions{\columnfractions}
+\newif\ifsetpercent
+
+% #1 is the @columnfraction, usually a decimal number like .5, but might
+% be just 1.  We just use it, whatever it is.
+%
+\def\pickupwholefraction#1 {%
+  \global\advance\colcount by 1
+  \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
+  \setuptable
+}
+
+\newcount\colcount
+\def\setuptable#1{%
+  \def\firstarg{#1}%
+  \ifx\firstarg\xendsetuptable
+    \let\go = \relax
+  \else
+    \ifx\firstarg\xcolumnfractions
+      \global\setpercenttrue
+    \else
+      \ifsetpercent
+         \let\go\pickupwholefraction
+      \else
+         \global\advance\colcount by 1
+         \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
+                   % separator; typically that is always in the input, anyway.
+         \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
+      \fi
+    \fi
+    \ifx\go\pickupwholefraction
+      % Put the argument back for the \pickupwholefraction call, so
+      % we'll always have a period there to be parsed.
+      \def\go{\pickupwholefraction#1}%
+    \else
+      \let\go = \setuptable
+    \fi%
+  \fi
+  \go
+}
+
+% multitable-only commands.
+%
+% @headitem starts a heading row, which we typeset in bold.
+% Assignments have to be global since we are inside the implicit group
+% of an alignment entry.  Note that \everycr resets \everytab.
+\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}%
+%
+% A \tab used to include \hskip1sp.  But then the space in a template
+% line is not enough.  That is bad.  So let's go back to just `&' until
+% we encounter the problem it was intended to solve again.
+%					--karl, nathan@acm.org, 20apr99.
+\def\tab{\checkenv\multitable &\the\everytab}%
+
+% @multitable ... @end multitable definitions:
+%
+\newtoks\everytab  % insert after every tab.
+%
+\envdef\multitable{%
+  \vskip\parskip
+  \startsavinginserts
+  %
+  % @item within a multitable starts a normal row.
+  % We use \def instead of \let so that if one of the multitable entries
+  % contains an @itemize, we don't choke on the \item (seen as \crcr aka
+  % \endtemplate) expanding \doitemize.
+  \def\item{\crcr}%
+  %
+  \tolerance=9500
+  \hbadness=9500
+  \setmultitablespacing
+  \parskip=\multitableparskip
+  \parindent=\multitableparindent
+  \overfullrule=0pt
+  \global\colcount=0
+  %
+  \everycr = {%
+    \noalign{%
+      \global\everytab={}%
+      \global\colcount=0 % Reset the column counter.
+      % Check for saved footnotes, etc.
+      \checkinserts
+      % Keeps underfull box messages off when table breaks over pages.
+      %\filbreak
+	% Maybe so, but it also creates really weird page breaks when the
+	% table breaks over pages. Wouldn't \vfil be better?  Wait until the
+	% problem manifests itself, so it can be fixed for real --karl.
+    }%
+  }%
+  %
+  \parsearg\domultitable
+}
+\def\domultitable#1{%
+  % To parse everything between @multitable and @item:
+  \setuptable#1 \endsetuptable
+  %
+  % This preamble sets up a generic column definition, which will
+  % be used as many times as user calls for columns.
+  % \vtop will set a single line and will also let text wrap and
+  % continue for many paragraphs if desired.
+  \halign\bgroup &%
+    \global\advance\colcount by 1
+    \multistrut
+    \vtop{%
+      % Use the current \colcount to find the correct column width:
+      \hsize=\expandafter\csname col\the\colcount\endcsname
+      %
+      % In order to keep entries from bumping into each other
+      % we will add a \leftskip of \multitablecolspace to all columns after
+      % the first one.
+      %
+      % If a template has been used, we will add \multitablecolspace
+      % to the width of each template entry.
+      %
+      % If the user has set preamble in terms of percent of \hsize we will
+      % use that dimension as the width of the column, and the \leftskip
+      % will keep entries from bumping into each other.  Table will start at
+      % left margin and final column will justify at right margin.
+      %
+      % Make sure we don't inherit \rightskip from the outer environment.
+      \rightskip=0pt
+      \ifnum\colcount=1
+	% The first column will be indented with the surrounding text.
+	\advance\hsize by\leftskip
+      \else
+	\ifsetpercent \else
+	  % If user has not set preamble in terms of percent of \hsize
+	  % we will advance \hsize by \multitablecolspace.
+	  \advance\hsize by \multitablecolspace
+	\fi
+       % In either case we will make \leftskip=\multitablecolspace:
+      \leftskip=\multitablecolspace
+      \fi
+      % Ignoring space at the beginning and end avoids an occasional spurious
+      % blank line, when TeX decides to break the line at the space before the
+      % box from the multistrut, so the strut ends up on a line by itself.
+      % For example:
+      % @multitable @columnfractions .11 .89
+      % @item @code{#}
+      % @tab Legal holiday which is valid in major parts of the whole country.
+      % Is automatically provided with highlighting sequences respectively
+      % marking characters.
+      \noindent\ignorespaces##\unskip\multistrut
+    }\cr
+}
+\def\Emultitable{%
+  \crcr
+  \egroup % end the \halign
+  \global\setpercentfalse
+}
+
+\def\setmultitablespacing{%
+  \def\multistrut{\strut}% just use the standard line spacing
+  %
+  % Compute \multitablelinespace (if not defined by user) for use in
+  % \multitableparskip calculation.  We used define \multistrut based on
+  % this, but (ironically) that caused the spacing to be off.
+  % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
+\ifdim\multitablelinespace=0pt
+\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
+\global\advance\multitablelinespace by-\ht0
+\fi
+%% Test to see if parskip is larger than space between lines of
+%% table. If not, do nothing.
+%%        If so, set to same dimension as multitablelinespace.
+\ifdim\multitableparskip>\multitablelinespace
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+                                      %% than skip between lines in the table.
+\fi%
+\ifdim\multitableparskip=0pt
+\global\multitableparskip=\multitablelinespace
+\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
+                                      %% than skip between lines in the table.
+\fi}
+
+
+\message{conditionals,}
+
+% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
+% @ifnotxml always succeed.  They currently do nothing; we don't
+% attempt to check whether the conditionals are properly nested.  But we
+% have to remember that they are conditionals, so that @end doesn't
+% attempt to close an environment group.
+%
+\def\makecond#1{%
+  \expandafter\let\csname #1\endcsname = \relax
+  \expandafter\let\csname iscond.#1\endcsname = 1
+}
+\makecond{iftex}
+\makecond{ifnotdocbook}
+\makecond{ifnothtml}
+\makecond{ifnotinfo}
+\makecond{ifnotplaintext}
+\makecond{ifnotxml}
+
+% Ignore @ignore, @ifhtml, @ifinfo, and the like.
+%
+\def\direntry{\doignore{direntry}}
+\def\documentdescription{\doignore{documentdescription}}
+\def\docbook{\doignore{docbook}}
+\def\html{\doignore{html}}
+\def\ifdocbook{\doignore{ifdocbook}}
+\def\ifhtml{\doignore{ifhtml}}
+\def\ifinfo{\doignore{ifinfo}}
+\def\ifnottex{\doignore{ifnottex}}
+\def\ifplaintext{\doignore{ifplaintext}}
+\def\ifxml{\doignore{ifxml}}
+\def\ignore{\doignore{ignore}}
+\def\menu{\doignore{menu}}
+\def\xml{\doignore{xml}}
+
+% Ignore text until a line `@end #1', keeping track of nested conditionals.
+%
+% A count to remember the depth of nesting.
+\newcount\doignorecount
+
+\def\doignore#1{\begingroup
+  % Scan in ``verbatim'' mode:
+  \catcode`\@ = \other
+  \catcode`\{ = \other
+  \catcode`\} = \other
+  %
+  % Make sure that spaces turn into tokens that match what \doignoretext wants.
+  \spaceisspace
+  %
+  % Count number of #1's that we've seen.
+  \doignorecount = 0
+  %
+  % Swallow text until we reach the matching `@end #1'.
+  \dodoignore{#1}%
+}
+
+{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
+  \obeylines %
+  %
+  \gdef\dodoignore#1{%
+    % #1 contains the command name as a string, e.g., `ifinfo'.
+    %
+    % Define a command to find the next `@end #1', which must be on a line
+    % by itself.
+    \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}%
+    % And this command to find another #1 command, at the beginning of a
+    % line.  (Otherwise, we would consider a line `@c @ifset', for
+    % example, to count as an @ifset for nesting.)
+    \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
+    %
+    % And now expand that command.
+    \obeylines %
+    \doignoretext ^^M%
+  }%
+}
+
+\def\doignoreyyy#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty			% Nothing found.
+    \let\next\doignoretextzzz
+  \else					% Found a nested condition, ...
+    \advance\doignorecount by 1
+    \let\next\doignoretextyyy		% ..., look for another.
+    % If we're here, #1 ends with ^^M\ifinfo (for example).
+  \fi
+  \next #1% the token \_STOP_ is present just after this macro.
+}
+
+% We have to swallow the remaining "\_STOP_".
+%
+\def\doignoretextzzz#1{%
+  \ifnum\doignorecount = 0	% We have just found the outermost @end.
+    \let\next\enddoignore
+  \else				% Still inside a nested condition.
+    \advance\doignorecount by -1
+    \let\next\doignoretext      % Look for the next @end.
+  \fi
+  \next
+}
+
+% Finish off ignored text.
+\def\enddoignore{\endgroup\ignorespaces}
+
+
+% @set VAR sets the variable VAR to an empty value.
+% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
+%
+% Since we want to separate VAR from REST-OF-LINE (which might be
+% empty), we can't just use \parsearg; we have to insert a space of our
+% own to delimit the rest of the line, and then take it out again if we
+% didn't need it.
+% We rely on the fact that \parsearg sets \catcode`\ =10.
+%
+\parseargdef\set{\setyyy#1 \endsetyyy}
+\def\setyyy#1 #2\endsetyyy{%
+  {%
+    \makevalueexpandable
+    \def\temp{#2}%
+    \edef\next{\gdef\makecsname{SET#1}}%
+    \ifx\temp\empty
+      \next{}%
+    \else
+      \setzzz#2\endsetzzz
+    \fi
+  }%
+}
+% Remove the trailing space \setxxx inserted.
+\def\setzzz#1 \endsetzzz{\next{#1}}
+
+% @clear VAR clears (i.e., unsets) the variable VAR.
+%
+\parseargdef\clear{%
+  {%
+    \makevalueexpandable
+    \global\expandafter\let\csname SET#1\endcsname=\relax
+  }%
+}
+
+% @value{foo} gets the text saved in variable foo.
+\def\value{\begingroup\makevalueexpandable\valuexxx}
+\def\valuexxx#1{\expandablevalue{#1}\endgroup}
+{
+  \catcode`\- = \active \catcode`\_ = \active
+  %
+  \gdef\makevalueexpandable{%
+    \let\value = \expandablevalue
+    % We don't want these characters active, ...
+    \catcode`\-=\other \catcode`\_=\other
+    % ..., but we might end up with active ones in the argument if
+    % we're called from @code, as @code{@value{foo-bar_}}, though.
+    % So \let them to their normal equivalents.
+    \let-\realdash \let_\normalunderscore
+  }
+}
+
+% We have this subroutine so that we can handle at least some @value's
+% properly in indexes (we call \makevalueexpandable in \indexdummies).
+% The command has to be fully expandable (if the variable is set), since
+% the result winds up in the index file.  This means that if the
+% variable's value contains other Texinfo commands, it's almost certain
+% it will fail (although perhaps we could fix that with sufficient work
+% to do a one-level expansion on the result, instead of complete).
+%
+\def\expandablevalue#1{%
+  \expandafter\ifx\csname SET#1\endcsname\relax
+    {[No value for ``#1'']}%
+    \message{Variable `#1', used in @value, is not set.}%
+  \else
+    \csname SET#1\endcsname
+  \fi
+}
+
+% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
+% with @set.
+%
+% To get special treatment of `@end ifset,' call \makeond and the redefine.
+%
+\makecond{ifset}
+\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
+\def\doifset#1#2{%
+  {%
+    \makevalueexpandable
+    \let\next=\empty
+    \expandafter\ifx\csname SET#2\endcsname\relax
+      #1% If not set, redefine \next.
+    \fi
+    \expandafter
+  }\next
+}
+\def\ifsetfail{\doignore{ifset}}
+
+% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been
+% defined with @set, or has been undefined with @clear.
+%
+% The `\else' inside the `\doifset' parameter is a trick to reuse the
+% above code: if the variable is not set, do nothing, if it is set,
+% then redefine \next to \ifclearfail.
+%
+\makecond{ifclear}
+\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
+\def\ifclearfail{\doignore{ifclear}}
+
+% @dircategory CATEGORY  -- specify a category of the dir file
+% which this file should belong to.  Ignore this in TeX.
+\let\dircategory=\comment
+
+% @defininfoenclose.
+\let\definfoenclose=\comment
+
+
+\message{indexing,}
+% Index generation facilities
+
+% Define \newwrite to be identical to plain tex's \newwrite
+% except not \outer, so it can be used within macros and \if's.
+\edef\newwrite{\makecsname{ptexnewwrite}}
+
+% \newindex {foo} defines an index named foo.
+% It automatically defines \fooindex such that
+% \fooindex ...rest of line... puts an entry in the index foo.
+% It also defines \fooindfile to be the number of the output channel for
+% the file that accumulates this index.  The file's extension is foo.
+% The name of an index should be no more than 2 characters long
+% for the sake of vms.
+%
+\def\newindex#1{%
+  \iflinks
+    \expandafter\newwrite \csname#1indfile\endcsname
+    \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
+  \fi
+  \expandafter\xdef\csname#1index\endcsname{%     % Define @#1index
+    \noexpand\doindex{#1}}
+}
+
+% @defindex foo  ==  \newindex{foo}
+%
+\def\defindex{\parsearg\newindex}
+
+% Define @defcodeindex, like @defindex except put all entries in @code.
+%
+\def\defcodeindex{\parsearg\newcodeindex}
+%
+\def\newcodeindex#1{%
+  \iflinks
+    \expandafter\newwrite \csname#1indfile\endcsname
+    \openout \csname#1indfile\endcsname \jobname.#1
+  \fi
+  \expandafter\xdef\csname#1index\endcsname{%
+    \noexpand\docodeindex{#1}}%
+}
+
+
+% @synindex foo bar    makes index foo feed into index bar.
+% Do this instead of @defindex foo if you don't want it as a separate index.
+%
+% @syncodeindex foo bar   similar, but put all entries made for index foo
+% inside @code.
+%
+\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
+\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
+
+% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
+% #3 the target index (bar).
+\def\dosynindex#1#2#3{%
+  % Only do \closeout if we haven't already done it, else we'll end up
+  % closing the target index.
+  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
+    % The \closeout helps reduce unnecessary open files; the limit on the
+    % Acorn RISC OS is a mere 16 files.
+    \expandafter\closeout\csname#2indfile\endcsname
+    \expandafter\let\csname\donesynindex#2\endcsname = 1
+  \fi
+  % redefine \fooindfile:
+  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
+  \expandafter\let\csname#2indfile\endcsname=\temp
+  % redefine \fooindex:
+  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
+}
+
+% Define \doindex, the driver for all \fooindex macros.
+% Argument #1 is generated by the calling \fooindex macro,
+%  and it is "foo", the name of the index.
+
+% \doindex just uses \parsearg; it calls \doind for the actual work.
+% This is because \doind is more useful to call from other macros.
+
+% There is also \dosubind {index}{topic}{subtopic}
+% which makes an entry in a two-level index such as the operation index.
+
+\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
+\def\singleindexer #1{\doind{\indexname}{#1}}
+
+% like the previous two, but they put @code around the argument.
+\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
+\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
+
+% Take care of Texinfo commands that can appear in an index entry.
+% Since there are some commands we want to expand, and others we don't,
+% we have to laboriously prevent expansion for those that we don't.
+%
+\def\indexdummies{%
+  \escapechar = `\\     % use backslash in output files.
+  \def\@{@}% change to @@ when we switch to @ as escape char in index files.
+  \def\ {\realbackslash\space }%
+  % Need these in case \tex is in effect and \{ is a \delimiter again.
+  % But can't use \lbracecmd and \rbracecmd because texindex assumes
+  % braces and backslashes are used only as delimiters.
+  \let\{ = \mylbrace
+  \let\} = \myrbrace
+  %
+  % Do the redefinitions.
+  \commondummies
+}
+
+% For the aux and toc files, @ is the escape character.  So we want to
+% redefine everything using @ as the escape character (instead of
+% \realbackslash, still used for index files).  When everything uses @,
+% this will be simpler.
+%
+\def\atdummies{%
+  \def\@{@@}%
+  \def\ {@ }%
+  \let\{ = \lbraceatcmd
+  \let\} = \rbraceatcmd
+  %
+  % Do the redefinitions.
+  \commondummies
+}
+
+% Called from \indexdummies and \atdummies.
+%
+\def\commondummies{%
+  %
+  % \definedummyword defines \#1 as \string\#1\space, thus effectively
+  % preventing its expansion.  This is used only for control% words,
+  % not control letters, because the \space would be incorrect for
+  % control characters, but is needed to separate the control word
+  % from whatever follows.
+  %
+  % For control letters, we have \definedummyletter, which omits the
+  % space.
+  %
+  % These can be used both for control words that take an argument and
+  % those that do not.  If it is followed by {arg} in the input, then
+  % that will dutifully get written to the index (or wherever).
+  %
+  \def\definedummyword  ##1{\def##1{\string##1\space}}%
+  \def\definedummyletter##1{\def##1{\string##1}}%
+  \let\definedummyaccent\definedummyletter
+  %
+  \commondummiesnofonts
+  %
+  \definedummyletter\_%
+  %
+  % Non-English letters.
+  \definedummyword\AA
+  \definedummyword\AE
+  \definedummyword\L
+  \definedummyword\OE
+  \definedummyword\O
+  \definedummyword\aa
+  \definedummyword\ae
+  \definedummyword\l
+  \definedummyword\oe
+  \definedummyword\o
+  \definedummyword\ss
+  \definedummyword\exclamdown
+  \definedummyword\questiondown
+  \definedummyword\ordf
+  \definedummyword\ordm
+  %
+  % Although these internal commands shouldn't show up, sometimes they do.
+  \definedummyword\bf
+  \definedummyword\gtr
+  \definedummyword\hat
+  \definedummyword\less
+  \definedummyword\sf
+  \definedummyword\sl
+  \definedummyword\tclose
+  \definedummyword\tt
+  %
+  \definedummyword\LaTeX
+  \definedummyword\TeX
+  %
+  % Assorted special characters.
+  \definedummyword\bullet
+  \definedummyword\comma
+  \definedummyword\copyright
+  \definedummyword\registeredsymbol
+  \definedummyword\dots
+  \definedummyword\enddots
+  \definedummyword\equiv
+  \definedummyword\error
+  \definedummyword\euro
+  \definedummyword\expansion
+  \definedummyword\minus
+  \definedummyword\pounds
+  \definedummyword\point
+  \definedummyword\print
+  \definedummyword\result
+  %
+  % We want to disable all macros so that they are not expanded by \write.
+  \macrolist
+  %
+  \normalturnoffactive
+  %
+  % Handle some cases of @value -- where it does not contain any
+  % (non-fully-expandable) commands.
+  \makevalueexpandable
+}
+
+% \commondummiesnofonts: common to \commondummies and \indexnofonts.
+%
+% Better have this without active chars.
+{
+  \catcode`\~=\other
+  \gdef\commondummiesnofonts{%
+    % Control letters and accents.
+    \definedummyletter\!%
+    \definedummyaccent\"%
+    \definedummyaccent\'%
+    \definedummyletter\*%
+    \definedummyaccent\,%
+    \definedummyletter\.%
+    \definedummyletter\/%
+    \definedummyletter\:%
+    \definedummyaccent\=%
+    \definedummyletter\?%
+    \definedummyaccent\^%
+    \definedummyaccent\`%
+    \definedummyaccent\~%
+    \definedummyword\u
+    \definedummyword\v
+    \definedummyword\H
+    \definedummyword\dotaccent
+    \definedummyword\ringaccent
+    \definedummyword\tieaccent
+    \definedummyword\ubaraccent
+    \definedummyword\udotaccent
+    \definedummyword\dotless
+    %
+    % Texinfo font commands.
+    \definedummyword\b
+    \definedummyword\i
+    \definedummyword\r
+    \definedummyword\sc
+    \definedummyword\t
+    %
+    % Commands that take arguments.
+    \definedummyword\acronym
+    \definedummyword\cite
+    \definedummyword\code
+    \definedummyword\command
+    \definedummyword\dfn
+    \definedummyword\emph
+    \definedummyword\env
+    \definedummyword\file
+    \definedummyword\kbd
+    \definedummyword\key
+    \definedummyword\math
+    \definedummyword\option
+    \definedummyword\samp
+    \definedummyword\strong
+    \definedummyword\tie
+    \definedummyword\uref
+    \definedummyword\url
+    \definedummyword\var
+    \definedummyword\verb
+    \definedummyword\w
+  }
+}
+
+% \indexnofonts is used when outputting the strings to sort the index
+% by, and when constructing control sequence names.  It eliminates all
+% control sequences and just writes whatever the best ASCII sort string
+% would be for a given command (usually its argument).
+%
+\def\indexnofonts{%
+  % Accent commands should become @asis.
+  \def\definedummyaccent##1{\let##1\asis}%
+  % We can just ignore other control letters.
+  \def\definedummyletter##1{\let##1\empty}%
+  % Hopefully, all control words can become @asis.
+  \let\definedummyword\definedummyaccent
+  %
+  \commondummiesnofonts
+  %
+  % Don't no-op \tt, since it isn't a user-level command
+  % and is used in the definitions of the active chars like <, >, |, etc.
+  % Likewise with the other plain tex font commands.
+  %\let\tt=\asis
+  %
+  \def\ { }%
+  \def\@{@}%
+  % how to handle braces?
+  \def\_{\normalunderscore}%
+  %
+  % Non-English letters.
+  \def\AA{AA}%
+  \def\AE{AE}%
+  \def\L{L}%
+  \def\OE{OE}%
+  \def\O{O}%
+  \def\aa{aa}%
+  \def\ae{ae}%
+  \def\l{l}%
+  \def\oe{oe}%
+  \def\o{o}%
+  \def\ss{ss}%
+  \def\exclamdown{!}%
+  \def\questiondown{?}%
+  \def\ordf{a}%
+  \def\ordm{o}%
+  %
+  \def\LaTeX{LaTeX}%
+  \def\TeX{TeX}%
+  %
+  % Assorted special characters.
+  % (The following {} will end up in the sort string, but that's ok.)
+  \def\bullet{bullet}%
+  \def\comma{,}%
+  \def\copyright{copyright}%
+  \def\registeredsymbol{R}%
+  \def\dots{...}%
+  \def\enddots{...}%
+  \def\equiv{==}%
+  \def\error{error}%
+  \def\euro{euro}%
+  \def\expansion{==>}%
+  \def\minus{-}%
+  \def\pounds{pounds}%
+  \def\point{.}%
+  \def\print{-|}%
+  \def\result{=>}%
+  %
+  % We need to get rid of all macros, leaving only the arguments (if present).
+  % Of course this is not nearly correct, but it is the best we can do for now.
+  % makeinfo does not expand macros in the argument to @deffn, which ends up
+  % writing an index entry, and texindex isn't prepared for an index sort entry
+  % that starts with \.
+  % 
+  % Since macro invocations are followed by braces, we can just redefine them
+  % to take a single TeX argument.  The case of a macro invocation that
+  % goes to end-of-line is not handled.
+  % 
+  \macrolist
+}
+
+\let\indexbackslash=0  %overridden during \printindex.
+\let\SETmarginindex=\relax % put index entries in margin (undocumented)?
+
+% Most index entries go through here, but \dosubind is the general case.
+% #1 is the index name, #2 is the entry text.
+\def\doind#1#2{\dosubind{#1}{#2}{}}
+
+% Workhorse for all \fooindexes.
+% #1 is name of index, #2 is stuff to put there, #3 is subentry --
+% empty if called from \doind, as we usually are (the main exception
+% is with most defuns, which call us directly).
+%
+\def\dosubind#1#2#3{%
+  \iflinks
+  {%
+    % Store the main index entry text (including the third arg).
+    \toks0 = {#2}%
+    % If third arg is present, precede it with a space.
+    \def\thirdarg{#3}%
+    \ifx\thirdarg\empty \else
+      \toks0 = \expandafter{\the\toks0 \space #3}%
+    \fi
+    %
+    \edef\writeto{\csname#1indfile\endcsname}%
+    %
+    \ifvmode
+      \dosubindsanitize
+    \else
+      \dosubindwrite
+    \fi
+  }%
+  \fi
+}
+
+% Write the entry in \toks0 to the index file:
+%
+\def\dosubindwrite{%
+  % Put the index entry in the margin if desired.
+  \ifx\SETmarginindex\relax\else
+    \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
+  \fi
+  %
+  % Remember, we are within a group.
+  \indexdummies % Must do this here, since \bf, etc expand at this stage
+  \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
+      % so it will be output as is; and it will print as backslash.
+  %
+  % Process the index entry with all font commands turned off, to
+  % get the string to sort by.
+  {\indexnofonts
+   \edef\temp{\the\toks0}% need full expansion
+   \xdef\indexsorttmp{\temp}%
+  }%
+  %
+  % Set up the complete index entry, with both the sort key and
+  % the original text, including any font commands.  We write
+  % three arguments to \entry to the .?? file (four in the
+  % subentry case), texindex reduces to two when writing the .??s
+  % sorted result.
+  \edef\temp{%
+    \write\writeto{%
+      \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
+  }%
+  \temp
+}
+
+% Take care of unwanted page breaks:
+%
+% If a skip is the last thing on the list now, preserve it
+% by backing up by \lastskip, doing the \write, then inserting
+% the skip again.  Otherwise, the whatsit generated by the
+% \write will make \lastskip zero.  The result is that sequences
+% like this:
+% @end defun
+% @tindex whatever
+% @defun ...
+% will have extra space inserted, because the \medbreak in the
+% start of the @defun won't see the skip inserted by the @end of
+% the previous defun.
+%
+% But don't do any of this if we're not in vertical mode.  We
+% don't want to do a \vskip and prematurely end a paragraph.
+%
+% Avoid page breaks due to these extra skips, too.
+%
+% But wait, there is a catch there:
+% We'll have to check whether \lastskip is zero skip.  \ifdim is not
+% sufficient for this purpose, as it ignores stretch and shrink parts
+% of the skip.  The only way seems to be to check the textual
+% representation of the skip.
+%
+% The following is almost like \def\zeroskipmacro{0.0pt} except that
+% the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
+%
+\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
+%
+% ..., ready, GO:
+%
+\def\dosubindsanitize{%
+  % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
+  \skip0 = \lastskip
+  \edef\lastskipmacro{\the\lastskip}%
+  \count255 = \lastpenalty
+  %
+  % If \lastskip is nonzero, that means the last item was a
+  % skip.  And since a skip is discardable, that means this
+  % -\skip0 glue we're inserting is preceded by a
+  % non-discardable item, therefore it is not a potential
+  % breakpoint, therefore no \nobreak needed.
+  \ifx\lastskipmacro\zeroskipmacro
+  \else
+    \vskip-\skip0
+  \fi
+  %
+  \dosubindwrite
+  %
+  \ifx\lastskipmacro\zeroskipmacro
+    % If \lastskip was zero, perhaps the last item was a penalty, and
+    % perhaps it was >=10000, e.g., a \nobreak.  In that case, we want
+    % to re-insert the same penalty (values >10000 are used for various
+    % signals); since we just inserted a non-discardable item, any
+    % following glue (such as a \parskip) would be a breakpoint.  For example:
+    % 
+    %   @deffn deffn-whatever
+    %   @vindex index-whatever
+    %   Description.
+    % would allow a break between the index-whatever whatsit
+    % and the "Description." paragraph.
+    \ifnum\count255>9999 \penalty\count255 \fi
+  \else
+    % On the other hand, if we had a nonzero \lastskip,
+    % this make-up glue would be preceded by a non-discardable item
+    % (the whatsit from the \write), so we must insert a \nobreak.
+    \nobreak\vskip\skip0
+  \fi
+}
+
+% The index entry written in the file actually looks like
+%  \entry {sortstring}{page}{topic}
+% or
+%  \entry {sortstring}{page}{topic}{subtopic}
+% The texindex program reads in these files and writes files
+% containing these kinds of lines:
+%  \initial {c}
+%     before the first topic whose initial is c
+%  \entry {topic}{pagelist}
+%     for a topic that is used without subtopics
+%  \primary {topic}
+%     for the beginning of a topic that is used with subtopics
+%  \secondary {subtopic}{pagelist}
+%     for each subtopic.
+
+% Define the user-accessible indexing commands
+% @findex, @vindex, @kindex, @cindex.
+
+\def\findex {\fnindex}
+\def\kindex {\kyindex}
+\def\cindex {\cpindex}
+\def\vindex {\vrindex}
+\def\tindex {\tpindex}
+\def\pindex {\pgindex}
+
+\def\cindexsub {\begingroup\obeylines\cindexsub}
+{\obeylines %
+\gdef\cindexsub "#1" #2^^M{\endgroup %
+\dosubind{cp}{#2}{#1}}}
+
+% Define the macros used in formatting output of the sorted index material.
+
+% @printindex causes a particular index (the ??s file) to get printed.
+% It does not print any chapter heading (usually an @unnumbered).
+%
+\parseargdef\printindex{\begingroup
+  \dobreak \chapheadingskip{10000}%
+  %
+  \smallfonts \rm
+  \tolerance = 9500
+  \everypar = {}% don't want the \kern\-parindent from indentation suppression.
+  %
+  % See if the index file exists and is nonempty.
+  % Change catcode of @ here so that if the index file contains
+  % \initial {@}
+  % as its first line, TeX doesn't complain about mismatched braces
+  % (because it thinks @} is a control sequence).
+  \catcode`\@ = 11
+  \openin 1 \jobname.#1s
+  \ifeof 1
+    % \enddoublecolumns gets confused if there is no text in the index,
+    % and it loses the chapter title and the aux file entries for the
+    % index.  The easiest way to prevent this problem is to make sure
+    % there is some text.
+    \putwordIndexNonexistent
+  \else
+    %
+    % If the index file exists but is empty, then \openin leaves \ifeof
+    % false.  We have to make TeX try to read something from the file, so
+    % it can discover if there is anything in it.
+    \read 1 to \temp
+    \ifeof 1
+      \putwordIndexIsEmpty
+    \else
+      % Index files are almost Texinfo source, but we use \ as the escape
+      % character.  It would be better to use @, but that's too big a change
+      % to make right now.
+      \def\indexbackslash{\backslashcurfont}%
+      \catcode`\\ = 0
+      \escapechar = `\\
+      \begindoublecolumns
+      \input \jobname.#1s
+      \enddoublecolumns
+    \fi
+  \fi
+  \closein 1
+\endgroup}
+
+% These macros are used by the sorted index file itself.
+% Change them to control the appearance of the index.
+
+\def\initial#1{{%
+  % Some minor font changes for the special characters.
+  \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
+  %
+  % Remove any glue we may have, we'll be inserting our own.
+  \removelastskip
+  %
+  % We like breaks before the index initials, so insert a bonus.
+  \nobreak
+  \vskip 0pt plus 3\baselineskip
+  \penalty 0
+  \vskip 0pt plus -3\baselineskip
+  %
+  % Typeset the initial.  Making this add up to a whole number of
+  % baselineskips increases the chance of the dots lining up from column
+  % to column.  It still won't often be perfect, because of the stretch
+  % we need before each entry, but it's better.
+  %
+  % No shrink because it confuses \balancecolumns.
+  \vskip 1.67\baselineskip plus .5\baselineskip
+  \leftline{\secbf #1}%
+  % Do our best not to break after the initial.
+  \nobreak
+  \vskip .33\baselineskip plus .1\baselineskip
+}}
+
+% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+% then page number (#2) flushed to the right margin.  It is used for index
+% and table of contents entries.  The paragraph is indented by \leftskip.
+%
+% A straightforward implementation would start like this:
+%	\def\entry#1#2{...
+% But this frozes the catcodes in the argument, and can cause problems to
+% @code, which sets - active.  This problem was fixed by a kludge---
+% ``-'' was active throughout whole index, but this isn't really right.
+%
+% The right solution is to prevent \entry from swallowing the whole text.
+%                                 --kasal, 21nov03
+\def\entry{%
+  \begingroup
+    %
+    % Start a new paragraph if necessary, so our assignments below can't
+    % affect previous text.
+    \par
+    %
+    % Do not fill out the last line with white space.
+    \parfillskip = 0in
+    %
+    % No extra space above this paragraph.
+    \parskip = 0in
+    %
+    % Do not prefer a separate line ending with a hyphen to fewer lines.
+    \finalhyphendemerits = 0
+    %
+    % \hangindent is only relevant when the entry text and page number
+    % don't both fit on one line.  In that case, bob suggests starting the
+    % dots pretty far over on the line.  Unfortunately, a large
+    % indentation looks wrong when the entry text itself is broken across
+    % lines.  So we use a small indentation and put up with long leaders.
+    %
+    % \hangafter is reset to 1 (which is the value we want) at the start
+    % of each paragraph, so we need not do anything with that.
+    \hangindent = 2em
+    %
+    % When the entry text needs to be broken, just fill out the first line
+    % with blank space.
+    \rightskip = 0pt plus1fil
+    %
+    % A bit of stretch before each entry for the benefit of balancing
+    % columns.
+    \vskip 0pt plus1pt
+    %
+    % Swallow the left brace of the text (first parameter):
+    \afterassignment\doentry
+    \let\temp =
+}
+\def\doentry{%
+    \bgroup % Instead of the swallowed brace.
+      \noindent
+      \aftergroup\finishentry
+      % And now comes the text of the entry.
+}
+\def\finishentry#1{%
+    % #1 is the page number.
+    %
+    % The following is kludged to not output a line of dots in the index if
+    % there are no page numbers.  The next person who breaks this will be
+    % cursed by a Unix daemon.
+    \def\tempa{{\rm }}%
+    \def\tempb{#1}%
+    \edef\tempc{\tempa}%
+    \edef\tempd{\tempb}%
+    \ifx\tempc\tempd
+      \ %
+    \else
+      %
+      % If we must, put the page number on a line of its own, and fill out
+      % this line with blank space.  (The \hfil is overwhelmed with the
+      % fill leaders glue in \indexdotfill if the page number does fit.)
+      \hfil\penalty50
+      \null\nobreak\indexdotfill % Have leaders before the page number.
+      %
+      % The `\ ' here is removed by the implicit \unskip that TeX does as
+      % part of (the primitive) \par.  Without it, a spurious underfull
+      % \hbox ensues.
+      \ifpdf
+	\pdfgettoks#1.%
+	\ \the\toksA
+      \else
+	\ #1%
+      \fi
+    \fi
+    \par
+  \endgroup
+}
+
+% Like \dotfill except takes at least 1 em.
+\def\indexdotfill{\cleaders
+  \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill}
+
+\def\primary #1{\line{#1\hfil}}
+
+\newskip\secondaryindent \secondaryindent=0.5cm
+\def\secondary#1#2{{%
+  \parfillskip=0in
+  \parskip=0in
+  \hangindent=1in
+  \hangafter=1
+  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
+  \ifpdf
+    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
+  \else
+    #2
+  \fi
+  \par
+}}
+
+% Define two-column mode, which we use to typeset indexes.
+% Adapted from the TeXbook, page 416, which is to say,
+% the manmac.tex format used to print the TeXbook itself.
+\catcode`\@=11
+
+\newbox\partialpage
+\newdimen\doublecolumnhsize
+
+\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
+  % Grab any single-column material above us.
+  \output = {%
+    %
+    % Here is a possibility not foreseen in manmac: if we accumulate a
+    % whole lot of material, we might end up calling this \output
+    % routine twice in a row (see the doublecol-lose test, which is
+    % essentially a couple of indexes with @setchapternewpage off).  In
+    % that case we just ship out what is in \partialpage with the normal
+    % output routine.  Generally, \partialpage will be empty when this
+    % runs and this will be a no-op.  See the indexspread.tex test case.
+    \ifvoid\partialpage \else
+      \onepageout{\pagecontents\partialpage}%
+    \fi
+    %
+    \global\setbox\partialpage = \vbox{%
+      % Unvbox the main output page.
+      \unvbox\PAGE
+      \kern-\topskip \kern\baselineskip
+    }%
+  }%
+  \eject % run that output routine to set \partialpage
+  %
+  % Use the double-column output routine for subsequent pages.
+  \output = {\doublecolumnout}%
+  %
+  % Change the page size parameters.  We could do this once outside this
+  % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
+  % format, but then we repeat the same computation.  Repeating a couple
+  % of assignments once per index is clearly meaningless for the
+  % execution time, so we may as well do it in one place.
+  %
+  % First we halve the line length, less a little for the gutter between
+  % the columns.  We compute the gutter based on the line length, so it
+  % changes automatically with the paper format.  The magic constant
+  % below is chosen so that the gutter has the same value (well, +-<1pt)
+  % as it did when we hard-coded it.
+  %
+  % We put the result in a separate register, \doublecolumhsize, so we
+  % can restore it in \pagesofar, after \hsize itself has (potentially)
+  % been clobbered.
+  %
+  \doublecolumnhsize = \hsize
+    \advance\doublecolumnhsize by -.04154\hsize
+    \divide\doublecolumnhsize by 2
+  \hsize = \doublecolumnhsize
+  %
+  % Double the \vsize as well.  (We don't need a separate register here,
+  % since nobody clobbers \vsize.)
+  \vsize = 2\vsize
+}
+
+% The double-column output routine for all double-column pages except
+% the last.
+%
+\def\doublecolumnout{%
+  \splittopskip=\topskip \splitmaxdepth=\maxdepth
+  % Get the available space for the double columns -- the normal
+  % (undoubled) page height minus any material left over from the
+  % previous page.
+  \dimen@ = \vsize
+  \divide\dimen@ by 2
+  \advance\dimen@ by -\ht\partialpage
+  %
+  % box0 will be the left-hand column, box2 the right.
+  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
+  \onepageout\pagesofar
+  \unvbox255
+  \penalty\outputpenalty
+}
+%
+% Re-output the contents of the output page -- any previous material,
+% followed by the two boxes we just split, in box0 and box2.
+\def\pagesofar{%
+  \unvbox\partialpage
+  %
+  \hsize = \doublecolumnhsize
+  \wd0=\hsize \wd2=\hsize
+  \hbox to\pagewidth{\box0\hfil\box2}%
+}
+%
+% All done with double columns.
+\def\enddoublecolumns{%
+  \output = {%
+    % Split the last of the double-column material.  Leave it on the
+    % current page, no automatic page break.
+    \balancecolumns
+    %
+    % If we end up splitting too much material for the current page,
+    % though, there will be another page break right after this \output
+    % invocation ends.  Having called \balancecolumns once, we do not
+    % want to call it again.  Therefore, reset \output to its normal
+    % definition right away.  (We hope \balancecolumns will never be
+    % called on to balance too much material, but if it is, this makes
+    % the output somewhat more palatable.)
+    \global\output = {\onepageout{\pagecontents\PAGE}}%
+  }%
+  \eject
+  \endgroup % started in \begindoublecolumns
+  %
+  % \pagegoal was set to the doubled \vsize above, since we restarted
+  % the current page.  We're now back to normal single-column
+  % typesetting, so reset \pagegoal to the normal \vsize (after the
+  % \endgroup where \vsize got restored).
+  \pagegoal = \vsize
+}
+%
+% Called at the end of the double column material.
+\def\balancecolumns{%
+  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
+  \dimen@ = \ht0
+  \advance\dimen@ by \topskip
+  \advance\dimen@ by-\baselineskip
+  \divide\dimen@ by 2 % target to split to
+  %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
+  \splittopskip = \topskip
+  % Loop until we get a decent breakpoint.
+  {%
+    \vbadness = 10000
+    \loop
+      \global\setbox3 = \copy0
+      \global\setbox1 = \vsplit3 to \dimen@
+    \ifdim\ht3>\dimen@
+      \global\advance\dimen@ by 1pt
+    \repeat
+  }%
+  %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
+  \setbox0=\vbox to\dimen@{\unvbox1}%
+  \setbox2=\vbox to\dimen@{\unvbox3}%
+  %
+  \pagesofar
+}
+\catcode`\@ = \other
+
+
+\message{sectioning,}
+% Chapters, sections, etc.
+
+% \unnumberedno is an oxymoron, of course.  But we count the unnumbered
+% sections so that we can refer to them unambiguously in the pdf
+% outlines by their "section number".  We avoid collisions with chapter
+% numbers by starting them at 10000.  (If a document ever has 10000
+% chapters, we're in trouble anyway, I'm sure.)
+\newcount\unnumberedno \unnumberedno = 10000
+\newcount\chapno
+\newcount\secno        \secno=0
+\newcount\subsecno     \subsecno=0
+\newcount\subsubsecno  \subsubsecno=0
+
+% This counter is funny since it counts through charcodes of letters A, B, ...
+\newcount\appendixno  \appendixno = `\@
+%
+% \def\appendixletter{\char\the\appendixno}
+% We do the following ugly conditional instead of the above simple
+% construct for the sake of pdftex, which needs the actual
+% letter in the expansion, not just typeset.
+%
+\def\appendixletter{%
+  \ifnum\appendixno=`A A%
+  \else\ifnum\appendixno=`B B%
+  \else\ifnum\appendixno=`C C%
+  \else\ifnum\appendixno=`D D%
+  \else\ifnum\appendixno=`E E%
+  \else\ifnum\appendixno=`F F%
+  \else\ifnum\appendixno=`G G%
+  \else\ifnum\appendixno=`H H%
+  \else\ifnum\appendixno=`I I%
+  \else\ifnum\appendixno=`J J%
+  \else\ifnum\appendixno=`K K%
+  \else\ifnum\appendixno=`L L%
+  \else\ifnum\appendixno=`M M%
+  \else\ifnum\appendixno=`N N%
+  \else\ifnum\appendixno=`O O%
+  \else\ifnum\appendixno=`P P%
+  \else\ifnum\appendixno=`Q Q%
+  \else\ifnum\appendixno=`R R%
+  \else\ifnum\appendixno=`S S%
+  \else\ifnum\appendixno=`T T%
+  \else\ifnum\appendixno=`U U%
+  \else\ifnum\appendixno=`V V%
+  \else\ifnum\appendixno=`W W%
+  \else\ifnum\appendixno=`X X%
+  \else\ifnum\appendixno=`Y Y%
+  \else\ifnum\appendixno=`Z Z%
+  % The \the is necessary, despite appearances, because \appendixletter is
+  % expanded while writing the .toc file.  \char\appendixno is not
+  % expandable, thus it is written literally, thus all appendixes come out
+  % with the same letter (or @) in the toc without it.
+  \else\char\the\appendixno
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
+
+% Each @chapter defines this as the name of the chapter.
+% page headings and footings can use it.  @section does likewise.
+% However, they are not reliable, because we don't use marks.
+\def\thischapter{}
+\def\thissection{}
+
+\newcount\absseclevel % used to calculate proper heading level
+\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
+
+% @raisesections: treat @section as chapter, @subsection as section, etc.
+\def\raisesections{\global\advance\secbase by -1}
+\let\up=\raisesections % original BFox name
+
+% @lowersections: treat @chapter as section, @section as subsection, etc.
+\def\lowersections{\global\advance\secbase by 1}
+\let\down=\lowersections % original BFox name
+
+% we only have subsub.
+\chardef\maxseclevel = 3
+%
+% A numbered section within an unnumbered changes to unnumbered too.
+% To achive this, remember the "biggest" unnum. sec. we are currently in:
+\chardef\unmlevel = \maxseclevel
+%
+% Trace whether the current chapter is an appendix or not:
+% \chapheadtype is "N" or "A", unnumbered chapters are ignored.
+\def\chapheadtype{N}
+
+% Choose a heading macro
+% #1 is heading type
+% #2 is heading level
+% #3 is text for heading
+\def\genhead#1#2#3{%
+  % Compute the abs. sec. level:
+  \absseclevel=#2
+  \advance\absseclevel by \secbase
+  % Make sure \absseclevel doesn't fall outside the range:
+  \ifnum \absseclevel < 0
+    \absseclevel = 0
+  \else
+    \ifnum \absseclevel > 3
+      \absseclevel = 3
+    \fi
+  \fi
+  % The heading type:
+  \def\headtype{#1}%
+  \if \headtype U%
+    \ifnum \absseclevel < \unmlevel
+      \chardef\unmlevel = \absseclevel
+    \fi
+  \else
+    % Check for appendix sections:
+    \ifnum \absseclevel = 0
+      \edef\chapheadtype{\headtype}%
+    \else
+      \if \headtype A\if \chapheadtype N%
+	\errmessage{@appendix... within a non-appendix chapter}%
+      \fi\fi
+    \fi
+    % Check for numbered within unnumbered:
+    \ifnum \absseclevel > \unmlevel
+      \def\headtype{U}%
+    \else
+      \chardef\unmlevel = 3
+    \fi
+  \fi
+  % Now print the heading:
+  \if \headtype U%
+    \ifcase\absseclevel
+	\unnumberedzzz{#3}%
+    \or \unnumberedseczzz{#3}%
+    \or \unnumberedsubseczzz{#3}%
+    \or \unnumberedsubsubseczzz{#3}%
+    \fi
+  \else
+    \if \headtype A%
+      \ifcase\absseclevel
+	  \appendixzzz{#3}%
+      \or \appendixsectionzzz{#3}%
+      \or \appendixsubseczzz{#3}%
+      \or \appendixsubsubseczzz{#3}%
+      \fi
+    \else
+      \ifcase\absseclevel
+	  \chapterzzz{#3}%
+      \or \seczzz{#3}%
+      \or \numberedsubseczzz{#3}%
+      \or \numberedsubsubseczzz{#3}%
+      \fi
+    \fi
+  \fi
+  \suppressfirstparagraphindent
+}
+
+% an interface:
+\def\numhead{\genhead N}
+\def\apphead{\genhead A}
+\def\unnmhead{\genhead U}
+
+% @chapter, @appendix, @unnumbered.  Increment top-level counter, reset
+% all lower-level sectioning counters to zero.
+%
+% Also set \chaplevelprefix, which we prepend to @float sequence numbers
+% (e.g., figures), q.v.  By default (before any chapter), that is empty.
+\let\chaplevelprefix = \empty
+%
+\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
+\def\chapterzzz#1{%
+  % section resetting is \global in case the chapter is in a group, such
+  % as an @include file.
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\chapno by 1
+  %
+  % Used for \float.
+  \gdef\chaplevelprefix{\the\chapno.}%
+  \resetallfloatnos
+  %
+  \message{\putwordChapter\space \the\chapno}%
+  %
+  % Write the actual heading.
+  \chapmacro{#1}{Ynumbered}{\the\chapno}%
+  %
+  % So @section and the like are numbered underneath this chapter.
+  \global\let\section = \numberedsec
+  \global\let\subsection = \numberedsubsec
+  \global\let\subsubsection = \numberedsubsubsec
+}
+
+\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz
+\def\appendixzzz#1{%
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\appendixno by 1
+  \gdef\chaplevelprefix{\appendixletter.}%
+  \resetallfloatnos
+  %
+  \def\appendixnum{\putwordAppendix\space \appendixletter}%
+  \message{\appendixnum}%
+  %
+  \chapmacro{#1}{Yappendix}{\appendixletter}%
+  %
+  \global\let\section = \appendixsec
+  \global\let\subsection = \appendixsubsec
+  \global\let\subsubsection = \appendixsubsubsec
+}
+
+\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz
+\def\unnumberedzzz#1{%
+  \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
+    \global\advance\unnumberedno by 1
+  %
+  % Since an unnumbered has no number, no prefix for figures.
+  \global\let\chaplevelprefix = \empty
+  \resetallfloatnos
+  %
+  % This used to be simply \message{#1}, but TeX fully expands the
+  % argument to \message.  Therefore, if #1 contained @-commands, TeX
+  % expanded them.  For example, in `@unnumbered The @cite{Book}', TeX
+  % expanded @cite (which turns out to cause errors because \cite is meant
+  % to be executed, not expanded).
+  %
+  % Anyway, we don't want the fully-expanded definition of @cite to appear
+  % as a result of the \message, we just want `@cite' itself.  We use
+  % \the<toks register> to achieve this: TeX expands \the<toks> only once,
+  % simply yielding the contents of <toks register>.  (We also do this for
+  % the toc entries.)
+  \toks0 = {#1}%
+  \message{(\the\toks0)}%
+  %
+  \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
+  %
+  \global\let\section = \unnumberedsec
+  \global\let\subsection = \unnumberedsubsec
+  \global\let\subsubsection = \unnumberedsubsubsec
+}
+
+% @centerchap is like @unnumbered, but the heading is centered.
+\outer\parseargdef\centerchap{%
+  % Well, we could do the following in a group, but that would break
+  % an assumption that \chapmacro is called at the outermost level.
+  % Thus we are safer this way:		--kasal, 24feb04
+  \let\centerparametersmaybe = \centerparameters
+  \unnmhead0{#1}%
+  \let\centerparametersmaybe = \relax
+}
+
+% @top is like @unnumbered.
+\let\top\unnumbered
+
+% Sections.
+\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+\def\seczzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
+}
+
+\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz
+\def\appendixsectionzzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
+}
+\let\appendixsec\appendixsection
+
+\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz
+\def\unnumberedseczzz#1{%
+  \global\subsecno=0 \global\subsubsecno=0  \global\advance\secno by 1
+  \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
+}
+
+% Subsections.
+\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz
+\def\numberedsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
+}
+
+\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz
+\def\appendixsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Yappendix}%
+                 {\appendixletter.\the\secno.\the\subsecno}%
+}
+
+\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz
+\def\unnumberedsubseczzz#1{%
+  \global\subsubsecno=0  \global\advance\subsecno by 1
+  \sectionheading{#1}{subsec}{Ynothing}%
+                 {\the\unnumberedno.\the\secno.\the\subsecno}%
+}
+
+% Subsubsections.
+\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz
+\def\numberedsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Ynumbered}%
+                 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz
+\def\appendixsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Yappendix}%
+                 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz
+\def\unnumberedsubsubseczzz#1{%
+  \global\advance\subsubsecno by 1
+  \sectionheading{#1}{subsubsec}{Ynothing}%
+                 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
+}
+
+% These macros control what the section commands do, according
+% to what kind of chapter we are in (ordinary, appendix, or unnumbered).
+% Define them by default for a numbered chapter.
+\let\section = \numberedsec
+\let\subsection = \numberedsubsec
+\let\subsubsection = \numberedsubsubsec
+
+% Define @majorheading, @heading and @subheading
+
+% NOTE on use of \vbox for chapter headings, section headings, and such:
+%       1) We use \vbox rather than the earlier \line to permit
+%          overlong headings to fold.
+%       2) \hyphenpenalty is set to 10000 because hyphenation in a
+%          heading is obnoxious; this forbids it.
+%       3) Likewise, headings look best if no \parindent is used, and
+%          if justification is not attempted.  Hence \raggedright.
+
+
+\def\majorheading{%
+  {\advance\chapheadingskip by 10pt \chapbreak }%
+  \parsearg\chapheadingzzz
+}
+
+\def\chapheading{\chapbreak \parsearg\chapheadingzzz}
+\def\chapheadingzzz#1{%
+  {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                    \parindent=0pt\raggedright
+                    \rm #1\hfill}}%
+  \bigskip \par\penalty 200\relax
+  \suppressfirstparagraphindent
+}
+
+% @heading, @subheading, @subsubheading.
+\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+  \suppressfirstparagraphindent}
+
+% These macros generate a chapter, section, etc. heading only
+% (including whitespace, linebreaking, etc. around it),
+% given all the information in convenient, parsed form.
+
+%%% Args are the skip and penalty (usually negative)
+\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
+
+%%% Define plain chapter starts, and page on/off switching for it
+% Parameter controlling skip before chapter headings (if needed)
+
+\newskip\chapheadingskip
+
+\def\chapbreak{\dobreak \chapheadingskip {-4000}}
+\def\chappager{\par\vfill\supereject}
+\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
+
+\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
+
+\def\CHAPPAGoff{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chapbreak
+\global\let\pagealignmacro=\chappager}
+
+\def\CHAPPAGon{%
+\global\let\contentsalignmacro = \chappager
+\global\let\pchapsepmacro=\chappager
+\global\let\pagealignmacro=\chappager
+\global\def\HEADINGSon{\HEADINGSsingle}}
+
+\def\CHAPPAGodd{%
+\global\let\contentsalignmacro = \chapoddpage
+\global\let\pchapsepmacro=\chapoddpage
+\global\let\pagealignmacro=\chapoddpage
+\global\def\HEADINGSon{\HEADINGSdouble}}
+
+\CHAPPAGon
+
+% Chapter opening.
+%
+% #1 is the text, #2 is the section type (Ynumbered, Ynothing,
+% Yappendix, Yomitfromtoc), #3 the chapter number.
+%
+% To test against our argument.
+\def\Ynothingkeyword{Ynothing}
+\def\Yomitfromtockeyword{Yomitfromtoc}
+\def\Yappendixkeyword{Yappendix}
+%
+\def\chapmacro#1#2#3{%
+  \pchapsepmacro
+  {%
+    \chapfonts \rm
+    %
+    % Have to define \thissection before calling \donoderef, because the
+    % xref code eventually uses it.  On the other hand, it has to be called
+    % after \pchapsepmacro, or the headline will change too soon.
+    \gdef\thissection{#1}%
+    \gdef\thischaptername{#1}%
+    %
+    % Only insert the separating space if we have a chapter/appendix
+    % number, and don't print the unnumbered ``number''.
+    \def\temptype{#2}%
+    \ifx\temptype\Ynothingkeyword
+      \setbox0 = \hbox{}%
+      \def\toctype{unnchap}%
+      \gdef\thischapter{#1}%
+    \else\ifx\temptype\Yomitfromtockeyword
+      \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
+      \def\toctype{omit}%
+      \gdef\thischapter{}%
+    \else\ifx\temptype\Yappendixkeyword
+      \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
+      \def\toctype{app}%
+      % We don't substitute the actual chapter name into \thischapter
+      % because we don't want its macros evaluated now.  And we don't
+      % use \thissection because that changes with each section.
+      %
+      \xdef\thischapter{\putwordAppendix{} \appendixletter:
+                        \noexpand\thischaptername}%
+    \else
+      \setbox0 = \hbox{#3\enspace}%
+      \def\toctype{numchap}%
+      \xdef\thischapter{\putwordChapter{} \the\chapno:
+                        \noexpand\thischaptername}%
+    \fi\fi\fi
+    %
+    % Write the toc entry for this chapter.  Must come before the
+    % \donoderef, because we include the current node name in the toc
+    % entry, and \donoderef resets it to empty.
+    \writetocentry{\toctype}{#1}{#3}%
+    %
+    % For pdftex, we have to write out the node definition (aka, make
+    % the pdfdest) after any page break, but before the actual text has
+    % been typeset.  If the destination for the pdf outline is after the
+    % text, then jumping from the outline may wind up with the text not
+    % being visible, for instance under high magnification.
+    \donoderef{#2}%
+    %
+    % Typeset the actual heading.
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+          \hangindent=\wd0 \centerparametersmaybe
+          \unhbox0 #1\par}%
+  }%
+  \nobreak\bigskip % no page break after a chapter title
+  \nobreak
+}
+
+% @centerchap -- centered and unnumbered.
+\let\centerparametersmaybe = \relax
+\def\centerparameters{%
+  \advance\rightskip by 3\rightskip
+  \leftskip = \rightskip
+  \parfillskip = 0pt
+}
+
+
+% I don't think this chapter style is supported any more, so I'm not
+% updating it with the new noderef stuff.  We'll see.  --karl, 11aug03.
+%
+\def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
+%
+\def\unnchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt\raggedright
+                       \rm #1\hfill}}\bigskip \par\nobreak
+}
+\def\chfopen #1#2{\chapoddpage {\chapfonts
+\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
+\par\penalty 5000 %
+}
+\def\centerchfopen #1{%
+\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000
+                       \parindent=0pt
+                       \hfill {\rm #1}\hfill}}\bigskip \par\nobreak
+}
+\def\CHAPFopen{%
+  \global\let\chapmacro=\chfopen
+  \global\let\centerchapmacro=\centerchfopen}
+
+
+% Section titles.  These macros combine the section number parts and
+% call the generic \sectionheading to do the printing.
+%
+\newskip\secheadingskip
+\def\secheadingbreak{\dobreak \secheadingskip{-1000}}
+
+% Subsection titles.
+\newskip\subsecheadingskip
+\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
+
+% Subsubsection titles.
+\def\subsubsecheadingskip{\subsecheadingskip}
+\def\subsubsecheadingbreak{\subsecheadingbreak}
+
+
+% Print any size, any type, section title.
+%
+% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
+% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
+% section number.
+%
+\def\sectionheading#1#2#3#4{%
+  {%
+    % Switch to the right set of fonts.
+    \csname #2fonts\endcsname \rm
+    %
+    % Insert space above the heading.
+    \csname #2headingbreak\endcsname
+    %
+    % Only insert the space after the number if we have a section number.
+    \def\sectionlevel{#2}%
+    \def\temptype{#3}%
+    %
+    \ifx\temptype\Ynothingkeyword
+      \setbox0 = \hbox{}%
+      \def\toctype{unn}%
+      \gdef\thissection{#1}%
+    \else\ifx\temptype\Yomitfromtockeyword
+      % for @headings -- no section number, don't include in toc,
+      % and don't redefine \thissection.
+      \setbox0 = \hbox{}%
+      \def\toctype{omit}%
+      \let\sectionlevel=\empty
+    \else\ifx\temptype\Yappendixkeyword
+      \setbox0 = \hbox{#4\enspace}%
+      \def\toctype{app}%
+      \gdef\thissection{#1}%
+    \else
+      \setbox0 = \hbox{#4\enspace}%
+      \def\toctype{num}%
+      \gdef\thissection{#1}%
+    \fi\fi\fi
+    %
+    % Write the toc entry (before \donoderef).  See comments in \chfplain.
+    \writetocentry{\toctype\sectionlevel}{#1}{#4}%
+    %
+    % Write the node reference (= pdf destination for pdftex).
+    % Again, see comments in \chfplain.
+    \donoderef{#3}%
+    %
+    % Output the actual section heading.
+    \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright
+          \hangindent=\wd0  % zero if no section number
+          \unhbox0 #1}%
+  }%
+  % Add extra space after the heading -- half of whatever came above it.
+  % Don't allow stretch, though.
+  \kern .5 \csname #2headingskip\endcsname
+  %
+  % Do not let the kern be a potential breakpoint, as it would be if it
+  % was followed by glue.
+  \nobreak
+  %
+  % We'll almost certainly start a paragraph next, so don't let that
+  % glue accumulate.  (Not a breakpoint because it's preceded by a
+  % discardable item.)
+  \vskip-\parskip
+  % 
+  % This is purely so the last item on the list is a known \penalty >
+  % 10000.  This is so \startdefun can avoid allowing breakpoints after
+  % section headings.  Otherwise, it would insert a valid breakpoint between:
+  % 
+  %   @section sec-whatever
+  %   @deffn def-whatever
+  \penalty 10001
+}
+
+
+\message{toc,}
+% Table of contents.
+\newwrite\tocfile
+
+% Write an entry to the toc file, opening it if necessary.
+% Called from @chapter, etc.
+%
+% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
+% We append the current node name (if any) and page number as additional
+% arguments for the \{chap,sec,...}entry macros which will eventually
+% read this.  The node name is used in the pdf outlines as the
+% destination to jump to.
+%
+% We open the .toc file for writing here instead of at @setfilename (or
+% any other fixed time) so that @contents can be anywhere in the document.
+% But if #1 is `omit', then we don't do anything.  This is used for the
+% table of contents chapter openings themselves.
+%
+\newif\iftocfileopened
+\def\omitkeyword{omit}%
+%
+\def\writetocentry#1#2#3{%
+  \edef\writetoctype{#1}%
+  \ifx\writetoctype\omitkeyword \else
+    \iftocfileopened\else
+      \immediate\openout\tocfile = \jobname.toc
+      \global\tocfileopenedtrue
+    \fi
+    %
+    \iflinks
+      {\atdummies
+       \edef\temp{%
+         \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
+       \temp
+      }
+    \fi
+  \fi
+  %
+  % Tell \shipout to create a pdf destination on each page, if we're
+  % writing pdf.  These are used in the table of contents.  We can't
+  % just write one on every page because the title pages are numbered
+  % 1 and 2 (the page numbers aren't printed), and so are the first
+  % two pages of the document.  Thus, we'd have two destinations named
+  % `1', and two named `2'.
+  \ifpdf \global\pdfmakepagedesttrue \fi
+}
+
+
+% These characters do not print properly in the Computer Modern roman
+% fonts, so we must take special care.  This is more or less redundant
+% with the Texinfo input format setup at the end of this file.
+% 
+\def\activecatcodes{%
+  \catcode`\"=\active
+  \catcode`\$=\active
+  \catcode`\<=\active
+  \catcode`\>=\active
+  \catcode`\\=\active
+  \catcode`\^=\active
+  \catcode`\_=\active
+  \catcode`\|=\active
+  \catcode`\~=\active
+}
+
+
+% Read the toc file, which is essentially Texinfo input.
+\def\readtocfile{%
+  \setupdatafile
+  \activecatcodes
+  \input \jobname.toc
+}
+
+\newskip\contentsrightmargin \contentsrightmargin=1in
+\newcount\savepageno
+\newcount\lastnegativepageno \lastnegativepageno = -1
+
+% Prepare to read what we've written to \tocfile.
+%
+\def\startcontents#1{%
+  % If @setchapternewpage on, and @headings double, the contents should
+  % start on an odd page, unlike chapters.  Thus, we maintain
+  % \contentsalignmacro in parallel with \pagealignmacro.
+  % From: Torbjorn Granlund <tege@matematik.su.se>
+  \contentsalignmacro
+  \immediate\closeout\tocfile
+  %
+  % Don't need to put `Contents' or `Short Contents' in the headline.
+  % It is abundantly clear what they are.
+  \def\thischapter{}%
+  \chapmacro{#1}{Yomitfromtoc}{}%
+  %
+  \savepageno = \pageno
+  \begingroup                  % Set up to handle contents files properly.
+    \raggedbottom              % Worry more about breakpoints than the bottom.
+    \advance\hsize by -\contentsrightmargin % Don't use the full line length.
+    %
+    % Roman numerals for page numbers.
+    \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
+}
+
+
+% Normal (long) toc.
+\def\contents{%
+  \startcontents{\putwordTOC}%
+    \openin 1 \jobname.toc
+    \ifeof 1 \else
+      \readtocfile
+    \fi
+    \vfill \eject
+    \contentsalignmacro % in case @setchapternewpage odd is in effect
+    \ifeof 1 \else
+      \pdfmakeoutlines
+    \fi
+    \closein 1
+  \endgroup
+  \lastnegativepageno = \pageno
+  \global\pageno = \savepageno
+}
+
+% And just the chapters.
+\def\summarycontents{%
+  \startcontents{\putwordShortTOC}%
+    %
+    \let\numchapentry = \shortchapentry
+    \let\appentry = \shortchapentry
+    \let\unnchapentry = \shortunnchapentry
+    % We want a true roman here for the page numbers.
+    \secfonts
+    \let\rm=\shortcontrm \let\bf=\shortcontbf
+    \let\sl=\shortcontsl \let\tt=\shortconttt
+    \rm
+    \hyphenpenalty = 10000
+    \advance\baselineskip by 1pt % Open it up a little.
+    \def\numsecentry##1##2##3##4{}
+    \let\appsecentry = \numsecentry
+    \let\unnsecentry = \numsecentry
+    \let\numsubsecentry = \numsecentry
+    \let\appsubsecentry = \numsecentry
+    \let\unnsubsecentry = \numsecentry
+    \let\numsubsubsecentry = \numsecentry
+    \let\appsubsubsecentry = \numsecentry
+    \let\unnsubsubsecentry = \numsecentry
+    \openin 1 \jobname.toc
+    \ifeof 1 \else
+      \readtocfile
+    \fi
+    \closein 1
+    \vfill \eject
+    \contentsalignmacro % in case @setchapternewpage odd is in effect
+  \endgroup
+  \lastnegativepageno = \pageno
+  \global\pageno = \savepageno
+}
+\let\shortcontents = \summarycontents
+
+% Typeset the label for a chapter or appendix for the short contents.
+% The arg is, e.g., `A' for an appendix, or `3' for a chapter.
+%
+\def\shortchaplabel#1{%
+  % This space should be enough, since a single number is .5em, and the
+  % widest letter (M) is 1em, at least in the Computer Modern fonts.
+  % But use \hss just in case.
+  % (This space doesn't include the extra space that gets added after
+  % the label; that gets put in by \shortchapentry above.)
+  %
+  % We'd like to right-justify chapter numbers, but that looks strange
+  % with appendix letters.  And right-justifying numbers and
+  % left-justifying letters looks strange when there is less than 10
+  % chapters.  Have to read the whole toc once to know how many chapters
+  % there are before deciding ...
+  \hbox to 1em{#1\hss}%
+}
+
+% These macros generate individual entries in the table of contents.
+% The first argument is the chapter or section name.
+% The last argument is the page number.
+% The arguments in between are the chapter number, section number, ...
+
+% Chapters, in the main contents.
+\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
+%
+% Chapters, in the short toc.
+% See comments in \dochapentry re vbox and related settings.
+\def\shortchapentry#1#2#3#4{%
+  \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
+}
+
+% Appendices, in the main contents.
+% Need the word Appendix, and a fixed-size box.
+%
+\def\appendixbox#1{%
+  % We use M since it's probably the widest letter.
+  \setbox0 = \hbox{\putwordAppendix{} M}%
+  \hbox to \wd0{\putwordAppendix{} #1\hss}}
+%
+\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
+
+% Unnumbered chapters.
+\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
+\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
+
+% Sections.
+\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
+\let\appsecentry=\numsecentry
+\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
+
+% Subsections.
+\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsecentry=\numsubsecentry
+\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
+
+% And subsubsections.
+\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
+\let\appsubsubsecentry=\numsubsubsecentry
+\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
+
+% This parameter controls the indentation of the various levels.
+% Same as \defaultparindent.
+\newdimen\tocindent \tocindent = 15pt
+
+% Now for the actual typesetting. In all these, #1 is the text and #2 is the
+% page number.
+%
+% If the toc has to be broken over pages, we want it to be at chapters
+% if at all possible; hence the \penalty.
+\def\dochapentry#1#2{%
+   \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+   \begingroup
+     \chapentryfonts
+     \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+   \endgroup
+   \nobreak\vskip .25\baselineskip plus.1\baselineskip
+}
+
+\def\dosecentry#1#2{\begingroup
+  \secentryfonts \leftskip=\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsecentry#1#2{\begingroup
+  \subsecentryfonts \leftskip=2\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+\def\dosubsubsecentry#1#2{\begingroup
+  \subsubsecentryfonts \leftskip=3\tocindent
+  \tocentry{#1}{\dopageno\bgroup#2\egroup}%
+\endgroup}
+
+% We use the same \entry macro as for the index entries.
+\let\tocentry = \entry
+
+% Space between chapter (or whatever) number and the title.
+\def\labelspace{\hskip1em \relax}
+
+\def\dopageno#1{{\rm #1}}
+\def\doshortpageno#1{{\rm #1}}
+
+\def\chapentryfonts{\secfonts \rm}
+\def\secentryfonts{\textfonts}
+\def\subsecentryfonts{\textfonts}
+\def\subsubsecentryfonts{\textfonts}
+
+
+\message{environments,}
+% @foo ... @end foo.
+
+% @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
+%
+% Since these characters are used in examples, it should be an even number of
+% \tt widths. Each \tt character is 1en, so two makes it 1em.
+%
+\def\point{$\star$}
+\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
+\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
+\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
+\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
+
+% The @error{} command.
+% Adapted from the TeXbook's \boxit.
+%
+\newbox\errorbox
+%
+{\tentt \global\dimen0 = 3em}% Width of the box.
+\dimen2 = .55pt % Thickness of rules
+% The text. (`r' is open on the right, `e' somewhat less so on the left.)
+\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt}
+%
+\setbox\errorbox=\hbox to \dimen0{\hfil
+   \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
+   \advance\hsize by -2\dimen2 % Rules.
+   \vbox{%
+      \hrule height\dimen2
+      \hbox{\vrule width\dimen2 \kern3pt          % Space to left of text.
+         \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
+         \kern3pt\vrule width\dimen2}% Space to right.
+      \hrule height\dimen2}
+    \hfil}
+%
+\def\error{\leavevmode\lower.7ex\copy\errorbox}
+
+% @tex ... @end tex    escapes into raw Tex temporarily.
+% One exception: @ is still an escape character, so that @end tex works.
+% But \@ or @@ will get a plain tex @ character.
+
+\envdef\tex{%
+  \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
+  \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
+  \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
+  \catcode `\%=14
+  \catcode `\+=\other
+  \catcode `\"=\other
+  \catcode `\|=\other
+  \catcode `\<=\other
+  \catcode `\>=\other
+  \escapechar=`\\
+  %
+  \let\b=\ptexb
+  \let\bullet=\ptexbullet
+  \let\c=\ptexc
+  \let\,=\ptexcomma
+  \let\.=\ptexdot
+  \let\dots=\ptexdots
+  \let\equiv=\ptexequiv
+  \let\!=\ptexexclam
+  \let\i=\ptexi
+  \let\indent=\ptexindent
+  \let\noindent=\ptexnoindent
+  \let\{=\ptexlbrace
+  \let\+=\tabalign
+  \let\}=\ptexrbrace
+  \let\/=\ptexslash
+  \let\*=\ptexstar
+  \let\t=\ptext
+  \let\frenchspacing=\plainfrenchspacing
+  %
+  \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+  \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
+  \def\@{@}%
+}
+% There is no need to define \Etex.
+
+% Define @lisp ... @end lisp.
+% @lisp environment forms a group so it can rebind things,
+% including the definition of @end lisp (which normally is erroneous).
+
+% Amount to narrow the margins by for @lisp.
+\newskip\lispnarrowing \lispnarrowing=0.4in
+
+% This is the definition that ^^M gets inside @lisp, @example, and other
+% such environments.  \null is better than a space, since it doesn't
+% have any width.
+\def\lisppar{\null\endgraf}
+
+% This space is always present above and below environments.
+\newskip\envskipamount \envskipamount = 0pt
+
+% Make spacing and below environment symmetrical.  We use \parskip here
+% to help in doing that, since in @example-like environments \parskip
+% is reset to zero; thus the \afterenvbreak inserts no space -- but the
+% start of the next paragraph will insert \parskip.
+%
+\def\aboveenvbreak{{%
+  % =10000 instead of <10000 because of a special case in \itemzzz and
+  % \sectionheading, q.v.
+  \ifnum \lastpenalty=10000 \else
+    \advance\envskipamount by \parskip
+    \endgraf
+    \ifdim\lastskip<\envskipamount
+      \removelastskip
+      % it's not a good place to break if the last penalty was \nobreak
+      % or better ...
+      \ifnum\lastpenalty<10000 \penalty-50 \fi
+      \vskip\envskipamount
+    \fi
+  \fi
+}}
+
+\let\afterenvbreak = \aboveenvbreak
+
+% \nonarrowing is a flag.  If "set", @lisp etc don't narrow margins; it will
+% also clear it, so that its embedded environments do the narrowing again.
+\let\nonarrowing=\relax
+
+% @cartouche ... @end cartouche: draw rectangle w/rounded corners around
+% environment contents.
+\font\circle=lcircle10
+\newdimen\circthick
+\newdimen\cartouter\newdimen\cartinner
+\newskip\normbskip\newskip\normpskip\newskip\normlskip
+\circthick=\fontdimen8\circle
+%
+\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
+\def\ctr{{\hskip 6pt\circle\char'010}}
+\def\cbl{{\circle\char'012\hskip -6pt}}
+\def\cbr{{\hskip 6pt\circle\char'011}}
+\def\carttop{\hbox to \cartouter{\hskip\lskip
+        \ctl\leaders\hrule height\circthick\hfil\ctr
+        \hskip\rskip}}
+\def\cartbot{\hbox to \cartouter{\hskip\lskip
+        \cbl\leaders\hrule height\circthick\hfil\cbr
+        \hskip\rskip}}
+%
+\newskip\lskip\newskip\rskip
+
+\envdef\cartouche{%
+  \ifhmode\par\fi  % can't be in the midst of a paragraph.
+  \startsavinginserts
+  \lskip=\leftskip \rskip=\rightskip
+  \leftskip=0pt\rightskip=0pt % we want these *outside*.
+  \cartinner=\hsize \advance\cartinner by-\lskip
+  \advance\cartinner by-\rskip
+  \cartouter=\hsize
+  \advance\cartouter by 18.4pt	% allow for 3pt kerns on either
+				% side, and for 6pt waste from
+				% each corner char, and rule thickness
+  \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
+  % Flag to tell @lisp, etc., not to narrow margin.
+  \let\nonarrowing = t%
+  \vbox\bgroup
+      \baselineskip=0pt\parskip=0pt\lineskip=0pt
+      \carttop
+      \hbox\bgroup
+	  \hskip\lskip
+	  \vrule\kern3pt
+	  \vbox\bgroup
+	      \kern3pt
+	      \hsize=\cartinner
+	      \baselineskip=\normbskip
+	      \lineskip=\normlskip
+	      \parskip=\normpskip
+	      \vskip -\parskip
+	      \comment % For explanation, see the end of \def\group.
+}
+\def\Ecartouche{%
+              \ifhmode\par\fi
+	      \kern3pt
+	  \egroup
+	  \kern3pt\vrule
+	  \hskip\rskip
+      \egroup
+      \cartbot
+  \egroup
+  \checkinserts
+}
+
+
+% This macro is called at the beginning of all the @example variants,
+% inside a group.
+\def\nonfillstart{%
+  \aboveenvbreak
+  \hfuzz = 12pt % Don't be fussy
+  \sepspaces % Make spaces be word-separators rather than space tokens.
+  \let\par = \lisppar % don't ignore blank lines
+  \obeylines % each line of input is a line of output
+  \parskip = 0pt
+  \parindent = 0pt
+  \emergencystretch = 0pt % don't try to avoid overfull boxes
+  \ifx\nonarrowing\relax
+    \advance \leftskip by \lispnarrowing
+    \exdentamount=\lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+  \let\exdent=\nofillexdent
+}
+
+% If you want all examples etc. small: @set dispenvsize small.
+% If you want even small examples the full size: @set dispenvsize nosmall.
+% This affects the following displayed environments:
+%    @example, @display, @format, @lisp
+%
+\def\smallword{small}
+\def\nosmallword{nosmall}
+\let\SETdispenvsize\relax
+\def\setnormaldispenv{%
+  \ifx\SETdispenvsize\smallword
+    \smallexamplefonts \rm
+  \fi
+}
+\def\setsmalldispenv{%
+  \ifx\SETdispenvsize\nosmallword
+  \else
+    \smallexamplefonts \rm
+  \fi
+}
+
+% We often define two environments, @foo and @smallfoo.
+% Let's do it by one command:
+\def\makedispenv #1#2{
+  \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}
+  \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}
+  \expandafter\let\csname E#1\endcsname \afterenvbreak
+  \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
+}
+
+% Define two synonyms:
+\def\maketwodispenvs #1#2#3{
+  \makedispenv{#1}{#3}
+  \makedispenv{#2}{#3}
+}
+
+% @lisp: indented, narrowed, typewriter font; @example: same as @lisp.
+%
+% @smallexample and @smalllisp: use smaller fonts.
+% Originally contributed by Pavel@xerox.
+%
+\maketwodispenvs {lisp}{example}{%
+  \nonfillstart
+  \tt
+  \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
+  \gobble       % eat return
+}
+
+% @display/@smalldisplay: same as @lisp except keep current font.
+%
+\makedispenv {display}{%
+  \nonfillstart
+  \gobble
+}
+
+% @format/@smallformat: same as @display except don't narrow margins.
+%
+\makedispenv{format}{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \gobble
+}
+
+% @flushleft: same as @format, but doesn't obey \SETdispenvsize.
+\envdef\flushleft{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \gobble
+}
+\let\Eflushleft = \afterenvbreak
+
+% @flushright.
+%
+\envdef\flushright{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  \advance\leftskip by 0pt plus 1fill
+  \gobble
+}
+\let\Eflushright = \afterenvbreak
+
+
+% @quotation does normal linebreaking (hence we can't use \nonfillstart)
+% and narrows the margins.  We keep \parskip nonzero in general, since
+% we're doing normal filling.  So, when using \aboveenvbreak and
+% \afterenvbreak, temporarily make \parskip 0.
+%
+\envdef\quotation{%
+  {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
+  \parindent=0pt
+  %
+  % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
+  \ifx\nonarrowing\relax
+    \advance\leftskip by \lispnarrowing
+    \advance\rightskip by \lispnarrowing
+    \exdentamount = \lispnarrowing
+  \else
+    \let\nonarrowing = \relax
+  \fi
+  \parsearg\quotationlabel
+}
+
+% We have retained a nonzero parskip for the environment, since we're
+% doing normal filling.
+%
+\def\Equotation{%
+  \par
+  \ifx\quotationauthor\undefined\else
+    % indent a bit.
+    \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
+  \fi
+  {\parskip=0pt \afterenvbreak}%
+}
+
+% If we're given an argument, typeset it in bold with a colon after.
+\def\quotationlabel#1{%
+  \def\temp{#1}%
+  \ifx\temp\empty \else
+    {\bf #1: }%
+  \fi
+}
+
+
+% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
+% If we want to allow any <char> as delimiter,
+% we need the curly braces so that makeinfo sees the @verb command, eg:
+% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
+%
+% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
+%
+% [Knuth] p.344; only we need to do the other characters Texinfo sets
+% active too.  Otherwise, they get lost as the first character on a
+% verbatim line.
+\def\dospecials{%
+  \do\ \do\\\do\{\do\}\do\$\do\&%
+  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
+  \do\<\do\>\do\|\do\@\do+\do\"%
+}
+%
+% [Knuth] p. 380
+\def\uncatcodespecials{%
+  \def\do##1{\catcode`##1=\other}\dospecials}
+%
+% [Knuth] pp. 380,381,391
+% Disable Spanish ligatures ?` and !` of \tt font
+\begingroup
+  \catcode`\`=\active\gdef`{\relax\lq}
+\endgroup
+%
+% Setup for the @verb command.
+%
+% Eight spaces for a tab
+\begingroup
+  \catcode`\^^I=\active
+  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
+\endgroup
+%
+\def\setupverb{%
+  \tt  % easiest (and conventionally used) font for verbatim
+  \def\par{\leavevmode\endgraf}%
+  \catcode`\`=\active
+  \tabeightspaces
+  % Respect line breaks,
+  % print special symbols as themselves, and
+  % make each space count
+  % must do in this order:
+  \obeylines \uncatcodespecials \sepspaces
+}
+
+% Setup for the @verbatim environment
+%
+% Real tab expansion
+\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
+%
+\def\starttabbox{\setbox0=\hbox\bgroup}
+\begingroup
+  \catcode`\^^I=\active
+  \gdef\tabexpand{%
+    \catcode`\^^I=\active
+    \def^^I{\leavevmode\egroup
+      \dimen0=\wd0 % the width so far, or since the previous tab
+      \divide\dimen0 by\tabw
+      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
+      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
+      \wd0=\dimen0 \box0 \starttabbox
+    }%
+  }
+\endgroup
+\def\setupverbatim{%
+  \let\nonarrowing = t%
+  \nonfillstart
+  % Easiest (and conventionally used) font for verbatim
+  \tt
+  \def\par{\leavevmode\egroup\box0\endgraf}%
+  \catcode`\`=\active
+  \tabexpand
+  % Respect line breaks,
+  % print special symbols as themselves, and
+  % make each space count
+  % must do in this order:
+  \obeylines \uncatcodespecials \sepspaces
+  \everypar{\starttabbox}%
+}
+
+% Do the @verb magic: verbatim text is quoted by unique
+% delimiter characters.  Before first delimiter expect a
+% right brace, after last delimiter expect closing brace:
+%
+%    \def\doverb'{'<char>#1<char>'}'{#1}
+%
+% [Knuth] p. 382; only eat outer {}
+\begingroup
+  \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
+  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
+\endgroup
+%
+\def\verb{\begingroup\setupverb\doverb}
+%
+%
+% Do the @verbatim magic: define the macro \doverbatim so that
+% the (first) argument ends when '@end verbatim' is reached, ie:
+%
+%     \def\doverbatim#1@end verbatim{#1}
+%
+% For Texinfo it's a lot easier than for LaTeX,
+% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
+% we need not redefine '\', '{' and '}'.
+%
+% Inspired by LaTeX's verbatim command set [latex.ltx]
+%
+\begingroup
+  \catcode`\ =\active
+  \obeylines %
+  % ignore everything up to the first ^^M, that's the newline at the end
+  % of the @verbatim input line itself.  Otherwise we get an extra blank
+  % line in the output.
+  \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
+  % We really want {...\end verbatim} in the body of the macro, but
+  % without the active space; thus we have to use \xdef and \gobble.
+\endgroup
+%
+\envdef\verbatim{%
+    \setupverbatim\doverbatim
+}
+\let\Everbatim = \afterenvbreak
+
+
+% @verbatiminclude FILE - insert text of file in verbatim environment.
+%
+\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
+%
+\def\doverbatiminclude#1{%
+  {%
+    \makevalueexpandable
+    \setupverbatim
+    \input #1
+    \afterenvbreak
+  }%
+}
+
+% @copying ... @end copying.
+% Save the text away for @insertcopying later.
+%
+% We save the uninterpreted tokens, rather than creating a box.
+% Saving the text in a box would be much easier, but then all the
+% typesetting commands (@smallbook, font changes, etc.) have to be done
+% beforehand -- and a) we want @copying to be done first in the source
+% file; b) letting users define the frontmatter in as flexible order as
+% possible is very desirable.
+%
+\def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
+\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+%
+\def\insertcopying{%
+  \begingroup
+    \parindent = 0pt  % paragraph indentation looks wrong on title page
+    \scanexp\copyingtext
+  \endgroup
+}
+
+\message{defuns,}
+% @defun etc.
+
+\newskip\defbodyindent \defbodyindent=.4in
+\newskip\defargsindent \defargsindent=50pt
+\newskip\deflastargmargin \deflastargmargin=18pt
+
+% Start the processing of @deffn:
+\def\startdefun{%
+  \ifnum\lastpenalty<10000
+    \medbreak
+  \else
+    % If there are two @def commands in a row, we'll have a \nobreak,
+    % which is there to keep the function description together with its
+    % header.  But if there's nothing but headers, we need to allow a
+    % break somewhere.  Check specifically for penalty 10002, inserted
+    % by \defargscommonending, instead of 10000, since the sectioning
+    % commands also insert a nobreak penalty, and we don't want to allow
+    % a break between a section heading and a defun.
+    % 
+    \ifnum\lastpenalty=10002 \penalty2000 \fi
+    %
+    % Similarly, after a section heading, do not allow a break.
+    % But do insert the glue.
+    \medskip  % preceded by discardable penalty, so not a breakpoint
+  \fi
+  %
+  \parindent=0in
+  \advance\leftskip by \defbodyindent
+  \exdentamount=\defbodyindent
+}
+
+\def\dodefunx#1{%
+  % First, check whether we are in the right environment:
+  \checkenv#1%
+  %
+  % As above, allow line break if we have multiple x headers in a row.
+  % It's not a great place, though.
+  \ifnum\lastpenalty=10002 \penalty3000 \fi
+  %
+  % And now, it's time to reuse the body of the original defun:
+  \expandafter\gobbledefun#1%
+}
+\def\gobbledefun#1\startdefun{}
+
+% \printdefunline \deffnheader{text}
+%
+\def\printdefunline#1#2{%
+  \begingroup
+    % call \deffnheader:
+    #1#2 \endheader
+    % common ending:
+    \interlinepenalty = 10000
+    \advance\rightskip by 0pt plus 1fil
+    \endgraf
+    \nobreak\vskip -\parskip
+    \penalty 10002  % signal to \startdefun and \dodefunx
+    % Some of the @defun-type tags do not enable magic parentheses,
+    % rendering the following check redundant.  But we don't optimize.
+    \checkparencounts
+  \endgroup
+}
+
+\def\Edefun{\endgraf\medbreak}
+
+% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
+% the only thing remainnig is to define \deffnheader.
+%
+\def\makedefun#1{%
+  \expandafter\let\csname E#1\endcsname = \Edefun
+  \edef\temp{\noexpand\domakedefun
+    \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
+  \temp
+}
+
+% \domakedefun \deffn \deffnx \deffnheader
+%
+% Define \deffn and \deffnx, without parameters.
+% \deffnheader has to be defined explicitly.
+%
+\def\domakedefun#1#2#3{%
+  \envdef#1{%
+    \startdefun
+    \parseargusing\activeparens{\printdefunline#3}%
+  }%
+  \def#2{\dodefunx#1}%
+  \def#3%
+}
+
+%%% Untyped functions:
+
+% @deffn category name args
+\makedefun{deffn}{\deffngeneral{}}
+
+% @deffn category class name args
+\makedefun{defop}#1 {\defopon{#1\ \putwordon}}
+
+% \defopon {category on}class name args
+\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deffngeneral {subind}category name args
+%
+\def\deffngeneral#1#2 #3 #4\endheader{%
+  % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
+  \dosubind{fn}{\code{#3}}{#1}%
+  \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
+}
+
+%%% Typed functions:
+
+% @deftypefn category type name args
+\makedefun{deftypefn}{\deftypefngeneral{}}
+
+% @deftypeop category class type name args
+\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
+
+% \deftypeopon {category on}class type name args
+\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypefngeneral {subind}category type name args
+%
+\def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
+  \dosubind{fn}{\code{#4}}{#1}%
+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+}
+
+%%% Typed variables:
+
+% @deftypevr category type var args
+\makedefun{deftypevr}{\deftypecvgeneral{}}
+
+% @deftypecv category class type var args
+\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
+
+% \deftypecvof {category of}class type var args
+\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
+
+% \deftypecvgeneral {subind}category type var args
+%
+\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
+  \dosubind{vr}{\code{#4}}{#1}%
+  \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
+}
+
+%%% Untyped variables:
+
+% @defvr category var args
+\makedefun{defvr}#1 {\deftypevrheader{#1} {} }
+
+% @defcv category class var args
+\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
+
+% \defcvof {category of}class var args
+\def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
+
+%%% Type:
+% @deftp category name args
+\makedefun{deftp}#1 #2 #3\endheader{%
+  \doind{tp}{\code{#2}}%
+  \defname{#1}{}{#2}\defunargs{#3\unskip}%
+}
+
+% Remaining @defun-like shortcuts:
+\makedefun{defun}{\deffnheader{\putwordDeffunc} }
+\makedefun{defmac}{\deffnheader{\putwordDefmac} }
+\makedefun{defspec}{\deffnheader{\putwordDefspec} }
+\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
+\makedefun{defvar}{\defvrheader{\putwordDefvar} }
+\makedefun{defopt}{\defvrheader{\putwordDefopt} }
+\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
+\makedefun{defmethod}{\defopon\putwordMethodon}
+\makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
+\makedefun{defivar}{\defcvof\putwordInstanceVariableof}
+\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
+
+% \defname, which formats the name of the @def (not the args).
+% #1 is the category, such as "Function".
+% #2 is the return type, if any.
+% #3 is the function name.
+%
+% We are followed by (but not passed) the arguments, if any.
+%
+\def\defname#1#2#3{%
+  % Get the values of \leftskip and \rightskip as they were outside the @def...
+  \advance\leftskip by -\defbodyindent
+  %
+  % How we'll format the type name.  Putting it in brackets helps
+  % distinguish it from the body text that may end up on the next line
+  % just below it.
+  \def\temp{#1}%
+  \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
+  %
+  % Figure out line sizes for the paragraph shape.
+  % The first line needs space for \box0; but if \rightskip is nonzero,
+  % we need only space for the part of \box0 which exceeds it:
+  \dimen0=\hsize  \advance\dimen0 by -\wd0  \advance\dimen0 by \rightskip
+  % The continuations:
+  \dimen2=\hsize  \advance\dimen2 by -\defargsindent
+  % (plain.tex says that \dimen1 should be used only as global.)
+  \parshape 2 0in \dimen0 \defargsindent \dimen2
+  %
+  % Put the type name to the right margin.
+  \noindent
+  \hbox to 0pt{%
+    \hfil\box0 \kern-\hsize
+    % \hsize has to be shortened this way:
+    \kern\leftskip
+    % Intentionally do not respect \rightskip, since we need the space.
+  }%
+  %
+  % Allow all lines to be underfull without complaint:
+  \tolerance=10000 \hbadness=10000
+  \exdentamount=\defbodyindent
+  {%
+    % defun fonts. We use typewriter by default (used to be bold) because:
+    % . we're printing identifiers, they should be in tt in principle.
+    % . in languages with many accents, such as Czech or French, it's
+    %   common to leave accents off identifiers.  The result looks ok in
+    %   tt, but exceedingly strange in rm.
+    % . we don't want -- and --- to be treated as ligatures.
+    % . this still does not fix the ?` and !` ligatures, but so far no
+    %   one has made identifiers using them :).
+    \df \tt
+    \def\temp{#2}% return value type
+    \ifx\temp\empty\else \tclose{\temp} \fi
+    #3% output function name
+  }%
+  {\rm\enskip}% hskip 0.5 em of \tenrm
+  %
+  \boldbrax
+  % arguments will be output next, if any.
+}
+
+% Print arguments in slanted roman (not ttsl), inconsistently with using
+% tt for the name.  This is because literal text is sometimes needed in
+% the argument list (groff manual), and ttsl and tt are not very
+% distinguishable.  Prevent hyphenation at `-' chars.
+%
+\def\defunargs#1{%
+  % use sl by default (not ttsl),
+  % tt for the names.
+  \df \sl \hyphenchar\font=0
+  %
+  % On the other hand, if an argument has two dashes (for instance), we
+  % want a way to get ttsl.  Let's try @var for that.
+  \let\var=\ttslanted
+  #1%
+  \sl\hyphenchar\font=45
+}
+
+% We want ()&[] to print specially on the defun line.
+%
+\def\activeparens{%
+  \catcode`\(=\active \catcode`\)=\active
+  \catcode`\[=\active \catcode`\]=\active
+  \catcode`\&=\active
+}
+
+% Make control sequences which act like normal parenthesis chars.
+\let\lparen = ( \let\rparen = )
+
+% Be sure that we always have a definition for `(', etc.  For example,
+% if the fn name has parens in it, \boldbrax will not be in effect yet,
+% so TeX would otherwise complain about undefined control sequence.
+{
+  \activeparens
+  \global\let(=\lparen \global\let)=\rparen
+  \global\let[=\lbrack \global\let]=\rbrack
+  \global\let& = \&
+
+  \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
+  \gdef\magicamp{\let&=\amprm}
+}
+
+\newcount\parencount
+
+% If we encounter &foo, then turn on ()-hacking afterwards
+\newif\ifampseen
+\def\amprm#1 {\ampseentrue{\bf\&#1 }}
+
+\def\parenfont{%
+  \ifampseen
+    % At the first level, print parens in roman,
+    % otherwise use the default font.
+    \ifnum \parencount=1 \rm \fi
+  \else
+    % The \sf parens (in \boldbrax) actually are a little bolder than
+    % the contained text.  This is especially needed for [ and ] .
+    \sf
+  \fi
+}
+\def\infirstlevel#1{%
+  \ifampseen
+    \ifnum\parencount=1
+      #1%
+    \fi
+  \fi
+}
+\def\bfafterword#1 {#1 \bf}
+
+\def\opnr{%
+  \global\advance\parencount by 1
+  {\parenfont(}%
+  \infirstlevel \bfafterword
+}
+\def\clnr{%
+  {\parenfont)}%
+  \infirstlevel \sl
+  \global\advance\parencount by -1
+}
+
+\newcount\brackcount
+\def\lbrb{%
+  \global\advance\brackcount by 1
+  {\bf[}%
+}
+\def\rbrb{%
+  {\bf]}%
+  \global\advance\brackcount by -1
+}
+
+\def\checkparencounts{%
+  \ifnum\parencount=0 \else \badparencount \fi
+  \ifnum\brackcount=0 \else \badbrackcount \fi
+}
+\def\badparencount{%
+  \errmessage{Unbalanced parentheses in @def}%
+  \global\parencount=0
+}
+\def\badbrackcount{%
+  \errmessage{Unbalanced square braces in @def}%
+  \global\brackcount=0
+}
+
+
+\message{macros,}
+% @macro.
+
+% To do this right we need a feature of e-TeX, \scantokens,
+% which we arrange to emulate with a temporary file in ordinary TeX.
+\ifx\eTeXversion\undefined
+  \newwrite\macscribble
+  \def\scantokens#1{%
+    \toks0={#1}%
+    \immediate\openout\macscribble=\jobname.tmp
+    \immediate\write\macscribble{\the\toks0}%
+    \immediate\closeout\macscribble
+    \input \jobname.tmp
+  }
+\fi
+
+\def\scanmacro#1{%
+  \begingroup
+    \newlinechar`\^^M
+    \let\xeatspaces\eatspaces
+    % Undo catcode changes of \startcontents and \doprintindex
+    % When called from @insertcopying or (short)caption, we need active
+    % backslash to get it printed correctly.  Previously, we had
+    % \catcode`\\=\other instead.  We'll see whether a problem appears
+    % with macro expansion.				--kasal, 19aug04
+    \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
+    % ... and \example
+    \spaceisspace
+    %
+    % Append \endinput to make sure that TeX does not see the ending newline.
+    %
+    % I've verified that it is necessary both for e-TeX and for ordinary TeX
+    %							--kasal, 29nov03
+    \scantokens{#1\endinput}%
+  \endgroup
+}
+
+\def\scanexp#1{%
+  \edef\temp{\noexpand\scanmacro{#1}}%
+  \temp
+}
+
+\newcount\paramno   % Count of parameters
+\newtoks\macname    % Macro name
+\newif\ifrecursive  % Is it recursive?
+
+% List of all defined macros in the form
+%    \definedummyword\macro1\definedummyword\macro2...
+% Currently is also contains all @aliases; the list can be split
+% if there is a need.
+\def\macrolist{}
+
+% Add the macro to \macrolist
+\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
+\def\addtomacrolistxxx#1{%
+     \toks0 = \expandafter{\macrolist\definedummyword#1}%
+     \xdef\macrolist{\the\toks0}%
+}
+
+% Utility routines.
+% This does \let #1 = #2, with \csnames; that is,
+%   \let \csname#1\endcsname = \csname#2\endcsname
+% (except of course we have to play expansion games).
+% 
+\def\cslet#1#2{%
+  \expandafter\let
+  \csname#1\expandafter\endcsname
+  \csname#2\endcsname
+}
+
+% Trim leading and trailing spaces off a string.
+% Concepts from aro-bend problem 15 (see CTAN).
+{\catcode`\@=11
+\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
+\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
+\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
+\def\unbrace#1{#1}
+\unbrace{\gdef\trim@@@ #1 } #2@{#1}
+}
+
+% Trim a single trailing ^^M off a string.
+{\catcode`\^^M=\other \catcode`\Q=3%
+\gdef\eatcr #1{\eatcra #1Q^^MQ}%
+\gdef\eatcra#1^^MQ{\eatcrb#1Q}%
+\gdef\eatcrb#1Q#2Q{#1}%
+}
+
+% Macro bodies are absorbed as an argument in a context where
+% all characters are catcode 10, 11 or 12, except \ which is active
+% (as in normal texinfo). It is necessary to change the definition of \.
+
+% It's necessary to have hard CRs when the macro is executed. This is
+% done by  making ^^M (\endlinechar) catcode 12 when reading the macro
+% body, and then making it the \newlinechar in \scanmacro.
+
+\def\scanctxt{%
+  \catcode`\"=\other
+  \catcode`\+=\other
+  \catcode`\<=\other
+  \catcode`\>=\other
+  \catcode`\@=\other
+  \catcode`\^=\other
+  \catcode`\_=\other
+  \catcode`\|=\other
+  \catcode`\~=\other
+}
+
+\def\scanargctxt{%
+  \scanctxt
+  \catcode`\\=\other
+  \catcode`\^^M=\other
+}
+
+\def\macrobodyctxt{%
+  \scanctxt
+  \catcode`\{=\other
+  \catcode`\}=\other
+  \catcode`\^^M=\other
+  \usembodybackslash
+}
+
+\def\macroargctxt{%
+  \scanctxt
+  \catcode`\\=\other
+}
+
+% \mbodybackslash is the definition of \ in @macro bodies.
+% It maps \foo\ => \csname macarg.foo\endcsname => #N
+% where N is the macro parameter number.
+% We define \csname macarg.\endcsname to be \realbackslash, so
+% \\ in macro replacement text gets you a backslash.
+
+{\catcode`@=0 @catcode`@\=@active
+ @gdef@usembodybackslash{@let\=@mbodybackslash}
+ @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
+}
+\expandafter\def\csname macarg.\endcsname{\realbackslash}
+
+\def\macro{\recursivefalse\parsearg\macroxxx}
+\def\rmacro{\recursivetrue\parsearg\macroxxx}
+
+\def\macroxxx#1{%
+  \getargs{#1}%           now \macname is the macname and \argl the arglist
+  \ifx\argl\empty       % no arguments
+     \paramno=0%
+  \else
+     \expandafter\parsemargdef \argl;%
+  \fi
+  \if1\csname ismacro.\the\macname\endcsname
+     \message{Warning: redefining \the\macname}%
+  \else
+     \expandafter\ifx\csname \the\macname\endcsname \relax
+     \else \errmessage{Macro name \the\macname\space already defined}\fi
+     \global\cslet{macsave.\the\macname}{\the\macname}%
+     \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
+     \addtomacrolist{\the\macname}%
+  \fi
+  \begingroup \macrobodyctxt
+  \ifrecursive \expandafter\parsermacbody
+  \else \expandafter\parsemacbody
+  \fi}
+
+\parseargdef\unmacro{%
+  \if1\csname ismacro.#1\endcsname
+    \global\cslet{#1}{macsave.#1}%
+    \global\expandafter\let \csname ismacro.#1\endcsname=0%
+    % Remove the macro name from \macrolist:
+    \begingroup
+      \expandafter\let\csname#1\endcsname \relax
+      \let\definedummyword\unmacrodo
+      \xdef\macrolist{\macrolist}%
+    \endgroup
+  \else
+    \errmessage{Macro #1 not defined}%
+  \fi
+}
+
+% Called by \do from \dounmacro on each macro.  The idea is to omit any
+% macro definitions that have been changed to \relax.
+%
+\def\unmacrodo#1{%
+  \ifx #1\relax
+    % remove this
+  \else
+    \noexpand\definedummyword \noexpand#1%
+  \fi
+}
+
+% This makes use of the obscure feature that if the last token of a
+% <parameter list> is #, then the preceding argument is delimited by
+% an opening brace, and that opening brace is not consumed.
+\def\getargs#1{\getargsxxx#1{}}
+\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
+\def\getmacname #1 #2\relax{\macname={#1}}
+\def\getmacargs#1{\def\argl{#1}}
+
+% Parse the optional {params} list.  Set up \paramno and \paramlist
+% so \defmacro knows what to do.  Define \macarg.blah for each blah
+% in the params list, to be ##N where N is the position in that list.
+% That gets used by \mbodybackslash (above).
+
+% We need to get `macro parameter char #' into several definitions.
+% The technique used is stolen from LaTeX:  let \hash be something
+% unexpandable, insert that wherever you need a #, and then redefine
+% it to # just before using the token list produced.
+%
+% The same technique is used to protect \eatspaces till just before
+% the macro is used.
+
+\def\parsemargdef#1;{\paramno=0\def\paramlist{}%
+        \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,}
+\def\parsemargdefxxx#1,{%
+  \if#1;\let\next=\relax
+  \else \let\next=\parsemargdefxxx
+    \advance\paramno by 1%
+    \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+        {\xeatspaces{\hash\the\paramno}}%
+    \edef\paramlist{\paramlist\hash\the\paramno,}%
+  \fi\next}
+
+% These two commands read recursive and nonrecursive macro bodies.
+% (They're different since rec and nonrec macros end differently.)
+
+\long\def\parsemacbody#1@end macro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+\long\def\parsermacbody#1@end rmacro%
+{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
+
+% This defines the macro itself. There are six cases: recursive and
+% nonrecursive macros of zero, one, and many arguments.
+% Much magic with \expandafter here.
+% \xdef is used so that macro definitions will survive the file
+% they're defined in; @include reads the file inside a group.
+\def\defmacro{%
+  \let\hash=##% convert placeholders to macro parameter chars
+  \ifrecursive
+    \ifcase\paramno
+    % 0
+      \expandafter\xdef\csname\the\macname\endcsname{%
+        \noexpand\scanmacro{\temp}}%
+    \or % 1
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\braceorline
+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+         \egroup\noexpand\scanmacro{\temp}}%
+    \else % many
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\csname\the\macname xx\endcsname}%
+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+        \csname\the\macname xxx\endcsname
+          \paramlist{\egroup\noexpand\scanmacro{\temp}}%
+    \fi
+  \else
+    \ifcase\paramno
+    % 0
+      \expandafter\xdef\csname\the\macname\endcsname{%
+        \noexpand\norecurse{\the\macname}%
+        \noexpand\scanmacro{\temp}\egroup}%
+    \or % 1
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \noexpand\braceorline
+         \expandafter\noexpand\csname\the\macname xxx\endcsname}%
+      \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
+        \egroup
+        \noexpand\norecurse{\the\macname}%
+        \noexpand\scanmacro{\temp}\egroup}%
+    \else % many
+      \expandafter\xdef\csname\the\macname\endcsname{%
+         \bgroup\noexpand\macroargctxt
+         \expandafter\noexpand\csname\the\macname xx\endcsname}%
+      \expandafter\xdef\csname\the\macname xx\endcsname##1{%
+          \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
+      \expandafter\expandafter
+      \expandafter\xdef
+      \expandafter\expandafter
+      \csname\the\macname xxx\endcsname
+      \paramlist{%
+          \egroup
+          \noexpand\norecurse{\the\macname}%
+          \noexpand\scanmacro{\temp}\egroup}%
+    \fi
+  \fi}
+
+\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
+
+% \braceorline decides whether the next nonwhitespace character is a
+% {.  If so it reads up to the closing }, if not, it reads the whole
+% line.  Whatever was read is then fed to the next control sequence
+% as an argument (by \parsebrace or \parsearg)
+\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx}
+\def\braceorlinexxx{%
+  \ifx\nchar\bgroup\else
+    \expandafter\parsearg
+  \fi \next}
+
+
+% @alias.
+% We need some trickery to remove the optional spaces around the equal
+% sign.  Just make them active and then expand them all to nothing.
+\def\alias{\parseargusing\obeyspaces\aliasxxx}
+\def\aliasxxx #1{\aliasyyy#1\relax}
+\def\aliasyyy #1=#2\relax{%
+  {%
+    \expandafter\let\obeyedspace=\empty
+    \addtomacrolist{#1}%
+    \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
+  }%
+  \next
+}
+
+
+\message{cross references,}
+
+\newwrite\auxfile
+
+\newif\ifhavexrefs    % True if xref values are known.
+\newif\ifwarnedxrefs  % True if we warned once that they aren't known.
+
+% @inforef is relatively simple.
+\def\inforef #1{\inforefzzz #1,,,,**}
+\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
+  node \samp{\ignorespaces#1{}}}
+
+% @node's only job in TeX is to define \lastnode, which is used in
+% cross-references.  The @node line might or might not have commas, and
+% might or might not have spaces before the first comma, like:
+% @node foo , bar , ...
+% We don't want such trailing spaces in the node name.
+%
+\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
+%
+% also remove a trailing comma, in case of something like this:
+% @node Help-Cross,  ,  , Cross-refs
+\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
+\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
+
+\let\nwnode=\node
+\let\lastnode=\empty
+
+% Write a cross-reference definition for the current node.  #1 is the
+% type (Ynumbered, Yappendix, Ynothing).
+%
+\def\donoderef#1{%
+  \ifx\lastnode\empty\else
+    \setref{\lastnode}{#1}%
+    \global\let\lastnode=\empty
+  \fi
+}
+
+% @anchor{NAME} -- define xref target at arbitrary point.
+%
+\newcount\savesfregister
+%
+\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
+
+% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
+% anchor), which consists of three parts:
+% 1) NAME-title - the current sectioning name taken from \thissection,
+%                 or the anchor name.
+% 2) NAME-snt   - section number and type, passed as the SNT arg, or
+%                 empty for anchors.
+% 3) NAME-pg    - the page number.
+%
+% This is called from \donoderef, \anchor, and \dofloat.  In the case of
+% floats, there is an additional part, which is not written here:
+% 4) NAME-lof   - the text as it should appear in a @listoffloats.
+%
+\def\setref#1#2{%
+  \pdfmkdest{#1}%
+  \iflinks
+    {%
+      \atdummies  % preserve commands, but don't expand them
+      \edef\writexrdef##1##2{%
+	\write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+	  ##1}{##2}}% these are parameters of \writexrdef
+      }%
+      \toks0 = \expandafter{\thissection}%
+      \immediate \writexrdef{title}{\the\toks0 }%
+      \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+      \writexrdef{pg}{\folio}% will be written later, during \shipout
+    }%
+  \fi
+}
+
+% @xref, @pxref, and @ref generate cross-references.  For \xrefX, #1 is
+% the node name, #2 the name of the Info cross-reference, #3 the printed
+% node name, #4 the name of the Info file, #5 the name of the printed
+% manual.  All but the node name can be omitted.
+%
+\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
+\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
+\def\ref#1{\xrefX[#1,,,,,,,]}
+\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
+  \unsepspaces
+  \def\printedmanual{\ignorespaces #5}%
+  \def\printedrefname{\ignorespaces #3}%
+  \setbox1=\hbox{\printedmanual\unskip}%
+  \setbox0=\hbox{\printedrefname\unskip}%
+  \ifdim \wd0 = 0pt
+    % No printed node name was explicitly given.
+    \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax
+      % Use the node name inside the square brackets.
+      \def\printedrefname{\ignorespaces #1}%
+    \else
+      % Use the actual chapter/section title appear inside
+      % the square brackets.  Use the real section title if we have it.
+      \ifdim \wd1 > 0pt
+        % It is in another manual, so we don't have it.
+        \def\printedrefname{\ignorespaces #1}%
+      \else
+        \ifhavexrefs
+          % We know the real title if we have the xref values.
+          \def\printedrefname{\refx{#1-title}{}}%
+        \else
+          % Otherwise just copy the Info node name.
+          \def\printedrefname{\ignorespaces #1}%
+        \fi%
+      \fi
+    \fi
+  \fi
+  %
+  % Make link in pdf output.
+  \ifpdf
+    \leavevmode
+    \getfilename{#4}%
+    {\turnoffactive
+     % See comments at \activebackslashdouble.
+     {\activebackslashdouble \xdef\pdfxrefdest{#1}%
+      \backslashparens\pdfxrefdest}%
+     %
+     \ifnum\filenamelength>0
+       \startlink attr{/Border [0 0 0]}%
+         goto file{\the\filename.pdf} name{\pdfxrefdest}%
+     \else
+       \startlink attr{/Border [0 0 0]}%
+         goto name{\pdfmkpgn{\pdfxrefdest}}%
+     \fi
+    }%
+    \linkcolor
+  \fi
+  %
+  % Float references are printed completely differently: "Figure 1.2"
+  % instead of "[somenode], p.3".  We distinguish them by the
+  % LABEL-title being set to a magic string.
+  {%
+    % Have to otherify everything special to allow the \csname to
+    % include an _ in the xref name, etc.
+    \indexnofonts
+    \turnoffactive
+    \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+      \csname XR#1-title\endcsname
+  }%
+  \iffloat\Xthisreftitle
+    % If the user specified the print name (third arg) to the ref,
+    % print it instead of our usual "Figure 1.2".
+    \ifdim\wd0 = 0pt
+      \refx{#1-snt}%
+    \else
+      \printedrefname
+    \fi
+    %
+    % if the user also gave the printed manual name (fifth arg), append
+    % "in MANUALNAME".
+    \ifdim \wd1 > 0pt
+      \space \putwordin{} \cite{\printedmanual}%
+    \fi
+  \else
+    % node/anchor (non-float) references.
+    %
+    % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
+    % insert empty discretionaries after hyphens, which means that it will
+    % not find a line break at a hyphen in a node names.  Since some manuals
+    % are best written with fairly long node names, containing hyphens, this
+    % is a loss.  Therefore, we give the text of the node name again, so it
+    % is as if TeX is seeing it for the first time.
+    \ifdim \wd1 > 0pt
+      \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}%
+    \else
+      % _ (for example) has to be the character _ for the purposes of the
+      % control sequence corresponding to the node, but it has to expand
+      % into the usual \leavevmode...\vrule stuff for purposes of
+      % printing. So we \turnoffactive for the \refx-snt, back on for the
+      % printing, back off for the \refx-pg.
+      {\turnoffactive
+       % Only output a following space if the -snt ref is nonempty; for
+       % @unnumbered and @anchor, it won't be.
+       \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
+       \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
+      }%
+      % output the `[mynode]' via a macro so it can be overridden.
+      \xrefprintnodename\printedrefname
+      %
+      % But we always want a comma and a space:
+      ,\space
+      %
+      % output the `page 3'.
+      \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
+    \fi
+  \fi
+  \endlink
+\endgroup}
+
+% This macro is called from \xrefX for the `[nodename]' part of xref
+% output.  It's a separate macro only so it can be changed more easily,
+% since square brackets don't work well in some documents.  Particularly
+% one that Bob is working on :).
+%
+\def\xrefprintnodename#1{[#1]}
+
+% Things referred to by \setref.
+%
+\def\Ynothing{}
+\def\Yomitfromtoc{}
+\def\Ynumbered{%
+  \ifnum\secno=0
+    \putwordChapter@tie \the\chapno
+  \else \ifnum\subsecno=0
+    \putwordSection@tie \the\chapno.\the\secno
+  \else \ifnum\subsubsecno=0
+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
+  \else
+    \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
+  \fi\fi\fi
+}
+\def\Yappendix{%
+  \ifnum\secno=0
+     \putwordAppendix@tie @char\the\appendixno{}%
+  \else \ifnum\subsecno=0
+     \putwordSection@tie @char\the\appendixno.\the\secno
+  \else \ifnum\subsubsecno=0
+    \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
+  \else
+    \putwordSection@tie
+      @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
+  \fi\fi\fi
+}
+
+% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
+% If its value is nonempty, SUFFIX is output afterward.
+%
+\def\refx#1#2{%
+  {%
+    \indexnofonts
+    \otherbackslash
+    \expandafter\global\expandafter\let\expandafter\thisrefX
+      \csname XR#1\endcsname
+  }%
+  \ifx\thisrefX\relax
+    % If not defined, say something at least.
+    \angleleft un\-de\-fined\angleright
+    \iflinks
+      \ifhavexrefs
+        \message{\linenumber Undefined cross reference `#1'.}%
+      \else
+        \ifwarnedxrefs\else
+          \global\warnedxrefstrue
+          \message{Cross reference values unknown; you must run TeX again.}%
+        \fi
+      \fi
+    \fi
+  \else
+    % It's defined, so just use it.
+    \thisrefX
+  \fi
+  #2% Output the suffix in any case.
+}
+
+% This is the macro invoked by entries in the aux file.  Usually it's
+% just a \def (we prepend XR to the control sequence name to avoid
+% collisions).  But if this is a float type, we have more work to do.
+%
+\def\xrdef#1#2{%
+  \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value.
+  %
+  % Was that xref control sequence that we just defined for a float?
+  \expandafter\iffloat\csname XR#1\endcsname
+    % it was a float, and we have the (safe) float type in \iffloattype.
+    \expandafter\let\expandafter\floatlist
+      \csname floatlist\iffloattype\endcsname
+    %
+    % Is this the first time we've seen this float type?
+    \expandafter\ifx\floatlist\relax
+      \toks0 = {\do}% yes, so just \do
+    \else
+      % had it before, so preserve previous elements in list.
+      \toks0 = \expandafter{\floatlist\do}%
+    \fi
+    %
+    % Remember this xref in the control sequence \floatlistFLOATTYPE,
+    % for later use in \listoffloats.
+    \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}%
+  \fi
+}
+
+% Read the last existing aux file, if any.  No error if none exists.
+%
+\def\tryauxfile{%
+  \openin 1 \jobname.aux
+  \ifeof 1 \else
+    \readdatafile{aux}%
+    \global\havexrefstrue
+  \fi
+  \closein 1
+}
+
+\def\setupdatafile{%
+  \catcode`\^^@=\other
+  \catcode`\^^A=\other
+  \catcode`\^^B=\other
+  \catcode`\^^C=\other
+  \catcode`\^^D=\other
+  \catcode`\^^E=\other
+  \catcode`\^^F=\other
+  \catcode`\^^G=\other
+  \catcode`\^^H=\other
+  \catcode`\^^K=\other
+  \catcode`\^^L=\other
+  \catcode`\^^N=\other
+  \catcode`\^^P=\other
+  \catcode`\^^Q=\other
+  \catcode`\^^R=\other
+  \catcode`\^^S=\other
+  \catcode`\^^T=\other
+  \catcode`\^^U=\other
+  \catcode`\^^V=\other
+  \catcode`\^^W=\other
+  \catcode`\^^X=\other
+  \catcode`\^^Z=\other
+  \catcode`\^^[=\other
+  \catcode`\^^\=\other
+  \catcode`\^^]=\other
+  \catcode`\^^^=\other
+  \catcode`\^^_=\other
+  % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
+  % in xref tags, i.e., node names.  But since ^^e4 notation isn't
+  % supported in the main text, it doesn't seem desirable.  Furthermore,
+  % that is not enough: for node names that actually contain a ^
+  % character, we would end up writing a line like this: 'xrdef {'hat
+  % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
+  % argument, and \hat is not an expandable control sequence.  It could
+  % all be worked out, but why?  Either we support ^^ or we don't.
+  %
+  % The other change necessary for this was to define \auxhat:
+  % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
+  % and then to call \auxhat in \setq.
+  %
+  \catcode`\^=\other
+  %
+  % Special characters.  Should be turned off anyway, but...
+  \catcode`\~=\other
+  \catcode`\[=\other
+  \catcode`\]=\other
+  \catcode`\"=\other
+  \catcode`\_=\other
+  \catcode`\|=\other
+  \catcode`\<=\other
+  \catcode`\>=\other
+  \catcode`\$=\other
+  \catcode`\#=\other
+  \catcode`\&=\other
+  \catcode`\%=\other
+  \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
+  %
+  % This is to support \ in node names and titles, since the \
+  % characters end up in a \csname.  It's easier than
+  % leaving it active and making its active definition an actual \
+  % character.  What I don't understand is why it works in the *value*
+  % of the xrdef.  Seems like it should be a catcode12 \, and that
+  % should not typeset properly.  But it works, so I'm moving on for
+  % now.  --karl, 15jan04.
+  \catcode`\\=\other
+  %
+  % Make the characters 128-255 be printing characters.
+  {%
+    \count1=128
+    \def\loop{%
+      \catcode\count1=\other
+      \advance\count1 by 1
+      \ifnum \count1<256 \loop \fi
+    }%
+  }%
+  %
+  % @ is our escape character in .aux files, and we need braces.
+  \catcode`\{=1
+  \catcode`\}=2
+  \catcode`\@=0
+}
+
+\def\readdatafile#1{%
+\begingroup
+  \setupdatafile
+  \input\jobname.#1
+\endgroup}
+
+\message{insertions,}
+% including footnotes.
+
+\newcount \footnoteno
+
+% The trailing space in the following definition for supereject is
+% vital for proper filling; pages come out unaligned when you do a
+% pagealignmacro call if that space before the closing brace is
+% removed. (Generally, numeric constants should always be followed by a
+% space to prevent strange expansion errors.)
+\def\supereject{\par\penalty -20000\footnoteno =0 }
+
+% @footnotestyle is meaningful for info output only.
+\let\footnotestyle=\comment
+
+{\catcode `\@=11
+%
+% Auto-number footnotes.  Otherwise like plain.
+\gdef\footnote{%
+  \let\indent=\ptexindent
+  \let\noindent=\ptexnoindent
+  \global\advance\footnoteno by \@ne
+  \edef\thisfootno{$^{\the\footnoteno}$}%
+  %
+  % In case the footnote comes at the end of a sentence, preserve the
+  % extra spacing after we do the footnote number.
+  \let\@sf\empty
+  \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
+  %
+  % Remove inadvertent blank space before typesetting the footnote number.
+  \unskip
+  \thisfootno\@sf
+  \dofootnote
+}%
+
+% Don't bother with the trickery in plain.tex to not require the
+% footnote text as a parameter.  Our footnotes don't need to be so general.
+%
+% Oh yes, they do; otherwise, @ifset (and anything else that uses
+% \parseargline) fails inside footnotes because the tokens are fixed when
+% the footnote is read.  --karl, 16nov96.
+%
+\gdef\dofootnote{%
+  \insert\footins\bgroup
+  % We want to typeset this text as a normal paragraph, even if the
+  % footnote reference occurs in (for example) a display environment.
+  % So reset some parameters.
+  \hsize=\pagewidth
+  \interlinepenalty\interfootnotelinepenalty
+  \splittopskip\ht\strutbox % top baseline for broken footnotes
+  \splitmaxdepth\dp\strutbox
+  \floatingpenalty\@MM
+  \leftskip\z@skip
+  \rightskip\z@skip
+  \spaceskip\z@skip
+  \xspaceskip\z@skip
+  \parindent\defaultparindent
+  %
+  \smallfonts \rm
+  %
+  % Because we use hanging indentation in footnotes, a @noindent appears
+  % to exdent this text, so make it be a no-op.  makeinfo does not use
+  % hanging indentation so @noindent can still be needed within footnote
+  % text after an @example or the like (not that this is good style).
+  \let\noindent = \relax
+  %
+  % Hang the footnote text off the number.  Use \everypar in case the
+  % footnote extends for more than one paragraph.
+  \everypar = {\hang}%
+  \textindent{\thisfootno}%
+  %
+  % Don't crash into the line above the footnote text.  Since this
+  % expands into a box, it must come within the paragraph, lest it
+  % provide a place where TeX can split the footnote.
+  \footstrut
+  \futurelet\next\fo@t
+}
+}%end \catcode `\@=11
+
+% In case a @footnote appears in a vbox, save the footnote text and create
+% the real \insert just after the vbox finished.  Otherwise, the insertion
+% would be lost.
+% Similarily, if a @footnote appears inside an alignment, save the footnote
+% text to a box and make the \insert when a row of the table is finished.
+% And the same can be done for other insert classes.  --kasal, 16nov03.
+
+% Replace the \insert primitive by a cheating macro.
+% Deeper inside, just make sure that the saved insertions are not spilled
+% out prematurely.
+%
+\def\startsavinginserts{%
+  \ifx \insert\ptexinsert
+    \let\insert\saveinsert
+  \else
+    \let\checkinserts\relax
+  \fi
+}
+
+% This \insert replacement works for both \insert\footins{foo} and
+% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
+%
+\def\saveinsert#1{%
+  \edef\next{\noexpand\savetobox \makeSAVEname#1}%
+  \afterassignment\next
+  % swallow the left brace
+  \let\temp =
+}
+\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
+\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
+
+\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
+
+\def\placesaveins#1{%
+  \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
+    {\box#1}%
+}
+
+% eat @SAVE -- beware, all of them have catcode \other:
+{
+  \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials  %  ;-)
+  \gdef\gobblesave @SAVE{}
+}
+
+% initialization:
+\def\newsaveins #1{%
+  \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
+  \next
+}
+\def\newsaveinsX #1{%
+  \csname newbox\endcsname #1%
+  \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
+    \checksaveins #1}%
+}
+
+% initialize:
+\let\checkinserts\empty
+\newsaveins\footins
+\newsaveins\margin
+
+
+% @image.  We use the macros from epsf.tex to support this.
+% If epsf.tex is not installed and @image is used, we complain.
+%
+% Check for and read epsf.tex up front.  If we read it only at @image
+% time, we might be inside a group, and then its definitions would get
+% undone and the next image would fail.
+\openin 1 = epsf.tex
+\ifeof 1 \else
+  % Do not bother showing banner with epsf.tex v2.7k (available in
+  % doc/epsf.tex and on ctan).
+  \def\epsfannounce{\toks0 = }%
+  \input epsf.tex
+\fi
+\closein 1
+%
+% We will only complain once about lack of epsf.tex.
+\newif\ifwarnednoepsf
+\newhelp\noepsfhelp{epsf.tex must be installed for images to
+  work.  It is also included in the Texinfo distribution, or you can get
+  it from ftp://tug.org/tex/epsf.tex.}
+%
+\def\image#1{%
+  \ifx\epsfbox\undefined
+    \ifwarnednoepsf \else
+      \errhelp = \noepsfhelp
+      \errmessage{epsf.tex not found, images will be ignored}%
+      \global\warnednoepsftrue
+    \fi
+  \else
+    \imagexxx #1,,,,,\finish
+  \fi
+}
+%
+% Arguments to @image:
+% #1 is (mandatory) image filename; we tack on .eps extension.
+% #2 is (optional) width, #3 is (optional) height.
+% #4 is (ignored optional) html alt text.
+% #5 is (ignored optional) extension.
+% #6 is just the usual extra ignored arg for parsing this stuff.
+\newif\ifimagevmode
+\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
+  \catcode`\^^M = 5     % in case we're inside an example
+  \normalturnoffactive  % allow _ et al. in names
+  % If the image is by itself, center it.
+  \ifvmode
+    \imagevmodetrue
+    \nobreak\bigskip
+    % Usually we'll have text after the image which will insert
+    % \parskip glue, so insert it here too to equalize the space
+    % above and below.
+    \nobreak\vskip\parskip
+    \nobreak
+    \line\bgroup\hss
+  \fi
+  %
+  % Output the image.
+  \ifpdf
+    \dopdfimage{#1}{#2}{#3}%
+  \else
+    % \epsfbox itself resets \epsf?size at each figure.
+    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
+    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+    \epsfbox{#1.eps}%
+  \fi
+  %
+  \ifimagevmode \hss \egroup \bigbreak \fi  % space after the image
+\endgroup}
+
+
+% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
+% etc.  We don't actually implement floating yet, we always include the
+% float "here".  But it seemed the best name for the future.
+%
+\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
+
+% There may be a space before second and/or third parameter; delete it.
+\def\eatcommaspace#1, {#1,}
+
+% #1 is the optional FLOATTYPE, the text label for this float, typically
+% "Figure", "Table", "Example", etc.  Can't contain commas.  If omitted,
+% this float will not be numbered and cannot be referred to.
+%
+% #2 is the optional xref label.  Also must be present for the float to
+% be referable.
+%
+% #3 is the optional positioning argument; for now, it is ignored.  It
+% will somehow specify the positions allowed to float to (here, top, bottom).
+%
+% We keep a separate counter for each FLOATTYPE, which we reset at each
+% chapter-level command.
+\let\resetallfloatnos=\empty
+%
+\def\dofloat#1,#2,#3,#4\finish{%
+  \let\thiscaption=\empty
+  \let\thisshortcaption=\empty
+  %
+  % don't lose footnotes inside @float.
+  %
+  % BEWARE: when the floats start float, we have to issue warning whenever an
+  % insert appears inside a float which could possibly float. --kasal, 26may04
+  %
+  \startsavinginserts
+  %
+  % We can't be used inside a paragraph.
+  \par
+  %
+  \vtop\bgroup
+    \def\floattype{#1}%
+    \def\floatlabel{#2}%
+    \def\floatloc{#3}% we do nothing with this yet.
+    %
+    \ifx\floattype\empty
+      \let\safefloattype=\empty
+    \else
+      {%
+        % the floattype might have accents or other special characters,
+        % but we need to use it in a control sequence name.
+        \indexnofonts
+        \turnoffactive
+        \xdef\safefloattype{\floattype}%
+      }%
+    \fi
+    %
+    % If label is given but no type, we handle that as the empty type.
+    \ifx\floatlabel\empty \else
+      % We want each FLOATTYPE to be numbered separately (Figure 1,
+      % Table 1, Figure 2, ...).  (And if no label, no number.)
+      %
+      \expandafter\getfloatno\csname\safefloattype floatno\endcsname
+      \global\advance\floatno by 1
+      %
+      {%
+        % This magic value for \thissection is output by \setref as the
+        % XREFLABEL-title value.  \xrefX uses it to distinguish float
+        % labels (which have a completely different output format) from
+        % node and anchor labels.  And \xrdef uses it to construct the
+        % lists of floats.
+        %
+        \edef\thissection{\floatmagic=\safefloattype}%
+        \setref{\floatlabel}{Yfloat}%
+      }%
+    \fi
+    %
+    % start with \parskip glue, I guess.
+    \vskip\parskip
+    %
+    % Don't suppress indentation if a float happens to start a section.
+    \restorefirstparagraphindent
+}
+
+% we have these possibilities:
+% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
+% @float Foo,lbl & no caption:    Foo 1.1
+% @float Foo & @caption{Cap}:     Foo: Cap
+% @float Foo & no caption:        Foo
+% @float ,lbl & Caption{Cap}:     1.1: Cap
+% @float ,lbl & no caption:       1.1
+% @float & @caption{Cap}:         Cap
+% @float & no caption:
+%
+\def\Efloat{%
+    \let\floatident = \empty
+    %
+    % In all cases, if we have a float type, it comes first.
+    \ifx\floattype\empty \else \def\floatident{\floattype}\fi
+    %
+    % If we have an xref label, the number comes next.
+    \ifx\floatlabel\empty \else
+      \ifx\floattype\empty \else % if also had float type, need tie first.
+        \appendtomacro\floatident{\tie}%
+      \fi
+      % the number.
+      \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
+    \fi
+    %
+    % Start the printed caption with what we've constructed in
+    % \floatident, but keep it separate; we need \floatident again.
+    \let\captionline = \floatident
+    %
+    \ifx\thiscaption\empty \else
+      \ifx\floatident\empty \else
+	\appendtomacro\captionline{: }% had ident, so need a colon between
+      \fi
+      %
+      % caption text.
+      \appendtomacro\captionline{\scanexp\thiscaption}%
+    \fi
+    %
+    % If we have anything to print, print it, with space before.
+    % Eventually this needs to become an \insert.
+    \ifx\captionline\empty \else
+      \vskip.5\parskip
+      \captionline
+      %
+      % Space below caption.
+      \vskip\parskip
+    \fi
+    %
+    % If have an xref label, write the list of floats info.  Do this
+    % after the caption, to avoid chance of it being a breakpoint.
+    \ifx\floatlabel\empty \else
+      % Write the text that goes in the lof to the aux file as
+      % \floatlabel-lof.  Besides \floatident, we include the short
+      % caption if specified, else the full caption if specified, else nothing.
+      {%
+        \atdummies
+        % since we read the caption text in the macro world, where ^^M
+        % is turned into a normal character, we have to scan it back, so
+        % we don't write the literal three characters "^^M" into the aux file.
+	\scanexp{%
+	  \xdef\noexpand\gtemp{%
+	    \ifx\thisshortcaption\empty
+	      \thiscaption
+	    \else
+	      \thisshortcaption
+	    \fi
+	  }%
+	}%
+        \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
+	  \ifx\gtemp\empty \else : \gtemp \fi}}%
+      }%
+    \fi
+  \egroup  % end of \vtop
+  %
+  % place the captured inserts
+  %
+  % BEWARE: when the floats start float, we have to issue warning whenever an
+  % insert appears inside a float which could possibly float. --kasal, 26may04
+  %
+  \checkinserts
+}
+
+% Append the tokens #2 to the definition of macro #1, not expanding either.
+%
+\def\appendtomacro#1#2{%
+  \expandafter\def\expandafter#1\expandafter{#1#2}%
+}
+
+% @caption, @shortcaption
+%
+\def\caption{\docaption\thiscaption}
+\def\shortcaption{\docaption\thisshortcaption}
+\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
+\def\defcaption#1#2{\egroup \def#1{#2}}
+
+% The parameter is the control sequence identifying the counter we are
+% going to use.  Create it if it doesn't exist and assign it to \floatno.
+\def\getfloatno#1{%
+  \ifx#1\relax
+      % Haven't seen this figure type before.
+      \csname newcount\endcsname #1%
+      %
+      % Remember to reset this floatno at the next chap.
+      \expandafter\gdef\expandafter\resetallfloatnos
+        \expandafter{\resetallfloatnos #1=0 }%
+  \fi
+  \let\floatno#1%
+}
+
+% \setref calls this to get the XREFLABEL-snt value.  We want an @xref
+% to the FLOATLABEL to expand to "Figure 3.1".  We call \setref when we
+% first read the @float command.
+%
+\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
+
+% Magic string used for the XREFLABEL-title value, so \xrefX can
+% distinguish floats from other xref types.
+\def\floatmagic{!!float!!}
+
+% #1 is the control sequence we are passed; we expand into a conditional
+% which is true if #1 represents a float ref.  That is, the magic
+% \thissection value which we \setref above.
+%
+\def\iffloat#1{\expandafter\doiffloat#1==\finish}
+%
+% #1 is (maybe) the \floatmagic string.  If so, #2 will be the
+% (safe) float type for this float.  We set \iffloattype to #2.
+%
+\def\doiffloat#1=#2=#3\finish{%
+  \def\temp{#1}%
+  \def\iffloattype{#2}%
+  \ifx\temp\floatmagic
+}
+
+% @listoffloats FLOATTYPE - print a list of floats like a table of contents.
+%
+\parseargdef\listoffloats{%
+  \def\floattype{#1}% floattype
+  {%
+    % the floattype might have accents or other special characters,
+    % but we need to use it in a control sequence name.
+    \indexnofonts
+    \turnoffactive
+    \xdef\safefloattype{\floattype}%
+  }%
+  %
+  % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
+  \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
+    \ifhavexrefs
+      % if the user said @listoffloats foo but never @float foo.
+      \message{\linenumber No `\safefloattype' floats to list.}%
+    \fi
+  \else
+    \begingroup
+      \leftskip=\tocindent  % indent these entries like a toc
+      \let\do=\listoffloatsdo
+      \csname floatlist\safefloattype\endcsname
+    \endgroup
+  \fi
+}
+
+% This is called on each entry in a list of floats.  We're passed the
+% xref label, in the form LABEL-title, which is how we save it in the
+% aux file.  We strip off the -title and look up \XRLABEL-lof, which
+% has the text we're supposed to typeset here.
+%
+% Figures without xref labels will not be included in the list (since
+% they won't appear in the aux file).
+%
+\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
+\def\listoffloatsdoentry#1-title\finish{{%
+  % Can't fully expand XR#1-lof because it can contain anything.  Just
+  % pass the control sequence.  On the other hand, XR#1-pg is just the
+  % page number, and we want to fully expand that so we can get a link
+  % in pdf output.
+  \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+  %
+  % use the same \entry macro we use to generate the TOC and index.
+  \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+  \writeentry
+}}
+
+\message{localization,}
+% and i18n.
+
+% @documentlanguage is usually given very early, just after
+% @setfilename.  If done too late, it may not override everything
+% properly.  Single argument is the language abbreviation.
+% It would be nice if we could set up a hyphenation file here.
+%
+\parseargdef\documentlanguage{%
+  \tex % read txi-??.tex file in plain TeX.
+    % Read the file if it exists.
+    \openin 1 txi-#1.tex
+    \ifeof 1
+      \errhelp = \nolanghelp
+      \errmessage{Cannot read language file txi-#1.tex}%
+    \else
+      \input txi-#1.tex
+    \fi
+    \closein 1
+  \endgroup
+}
+\newhelp\nolanghelp{The given language definition file cannot be found or
+is empty.  Maybe you need to install it?  In the current directory
+should work if nowhere else does.}
+
+
+% @documentencoding should change something in TeX eventually, most
+% likely, but for now just recognize it.
+\let\documentencoding = \comment
+
+
+% Page size parameters.
+%
+\newdimen\defaultparindent \defaultparindent = 15pt
+
+\chapheadingskip = 15pt plus 4pt minus 2pt
+\secheadingskip = 12pt plus 3pt minus 2pt
+\subsecheadingskip = 9pt plus 2pt minus 2pt
+
+% Prevent underfull vbox error messages.
+\vbadness = 10000
+
+% Don't be so finicky about underfull hboxes, either.
+\hbadness = 2000
+
+% Following George Bush, just get rid of widows and orphans.
+\widowpenalty=10000
+\clubpenalty=10000
+
+% Use TeX 3.0's \emergencystretch to help line breaking, but if we're
+% using an old version of TeX, don't do anything.  We want the amount of
+% stretch added to depend on the line length, hence the dependence on
+% \hsize.  We call this whenever the paper size is set.
+%
+\def\setemergencystretch{%
+  \ifx\emergencystretch\thisisundefined
+    % Allow us to assign to \emergencystretch anyway.
+    \def\emergencystretch{\dimen0}%
+  \else
+    \emergencystretch = .15\hsize
+  \fi
+}
+
+% Parameters in order: 1) textheight; 2) textwidth;
+% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
+% 7) physical page height; 8) physical page width.
+%
+% We also call \setleading{\textleading}, so the caller should define
+% \textleading.  The caller should also set \parskip.
+%
+\def\internalpagesizes#1#2#3#4#5#6#7#8{%
+  \voffset = #3\relax
+  \topskip = #6\relax
+  \splittopskip = \topskip
+  %
+  \vsize = #1\relax
+  \advance\vsize by \topskip
+  \outervsize = \vsize
+  \advance\outervsize by 2\topandbottommargin
+  \pageheight = \vsize
+  %
+  \hsize = #2\relax
+  \outerhsize = \hsize
+  \advance\outerhsize by 0.5in
+  \pagewidth = \hsize
+  %
+  \normaloffset = #4\relax
+  \bindingoffset = #5\relax
+  %
+  \ifpdf
+    \pdfpageheight #7\relax
+    \pdfpagewidth #8\relax
+  \fi
+  %
+  \setleading{\textleading}
+  %
+  \parindent = \defaultparindent
+  \setemergencystretch
+}
+
+% @letterpaper (the default).
+\def\letterpaper{{\globaldefs = 1
+  \parskip = 3pt plus 2pt minus 1pt
+  \textleading = 13.2pt
+  %
+  % If page is nothing but text, make it come out even.
+  \internalpagesizes{46\baselineskip}{6in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{36pt}%
+                    {11in}{8.5in}%
+}}
+
+% Use @smallbook to reset parameters for 7x9.25 trim size.
+\def\smallbook{{\globaldefs = 1
+  \parskip = 2pt plus 1pt
+  \textleading = 12pt
+  %
+  \internalpagesizes{7.5in}{5in}%
+                    {\voffset}{.25in}%
+                    {\bindingoffset}{16pt}%
+                    {9.25in}{7in}%
+  %
+  \lispnarrowing = 0.3in
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = .5cm
+}}
+
+% Use @smallerbook to reset parameters for 6x9 trim size.
+% (Just testing, parameters still in flux.)
+\def\smallerbook{{\globaldefs = 1
+  \parskip = 1.5pt plus 1pt
+  \textleading = 12pt
+  %
+  \internalpagesizes{7.4in}{4.8in}%
+                    {-.2in}{-.4in}%
+                    {0pt}{14pt}%
+                    {9in}{6in}%
+  %
+  \lispnarrowing = 0.25in
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = .4cm
+}}
+
+% Use @afourpaper to print on European A4 paper.
+\def\afourpaper{{\globaldefs = 1
+  \parskip = 3pt plus 2pt minus 1pt
+  \textleading = 13.2pt
+  %
+  % Double-side printing via postscript on Laserjet 4050
+  % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
+  % To change the settings for a different printer or situation, adjust
+  % \normaloffset until the front-side and back-side texts align.  Then
+  % do the same for \bindingoffset.  You can set these for testing in
+  % your texinfo source file like this:
+  % @tex
+  % \global\normaloffset = -6mm
+  % \global\bindingoffset = 10mm
+  % @end tex
+  \internalpagesizes{51\baselineskip}{160mm}
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{44pt}%
+                    {297mm}{210mm}%
+  %
+  \tolerance = 700
+  \hfuzz = 1pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 5mm
+}}
+
+% Use @afivepaper to print on European A5 paper.
+% From romildo@urano.iceb.ufop.br, 2 July 2000.
+% He also recommends making @example and @lisp be small.
+\def\afivepaper{{\globaldefs = 1
+  \parskip = 2pt plus 1pt minus 0.1pt
+  \textleading = 12.5pt
+  %
+  \internalpagesizes{160mm}{120mm}%
+                    {\voffset}{\hoffset}%
+                    {\bindingoffset}{8pt}%
+                    {210mm}{148mm}%
+  %
+  \lispnarrowing = 0.2in
+  \tolerance = 800
+  \hfuzz = 1.2pt
+  \contentsrightmargin = 0pt
+  \defbodyindent = 2mm
+  \tableindent = 12mm
+}}
+
+% A specific text layout, 24x15cm overall, intended for A4 paper.
+\def\afourlatex{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{237mm}{150mm}%
+                    {\voffset}{4.6mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  %
+  % Must explicitly reset to 0 because we call \afourpaper.
+  \globaldefs = 0
+}}
+
+% Use @afourwide to print on A4 paper in landscape format.
+\def\afourwide{{\globaldefs = 1
+  \afourpaper
+  \internalpagesizes{241mm}{165mm}%
+                    {\voffset}{-2.95mm}%
+                    {\bindingoffset}{7mm}%
+                    {297mm}{210mm}%
+  \globaldefs = 0
+}}
+
+% @pagesizes TEXTHEIGHT[,TEXTWIDTH]
+% Perhaps we should allow setting the margins, \topskip, \parskip,
+% and/or leading, also. Or perhaps we should compute them somehow.
+%
+\parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
+\def\pagesizesyyy#1,#2,#3\finish{{%
+  \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
+  \globaldefs = 1
+  %
+  \parskip = 3pt plus 2pt minus 1pt
+  \setleading{\textleading}%
+  %
+  \dimen0 = #1
+  \advance\dimen0 by \voffset
+  %
+  \dimen2 = \hsize
+  \advance\dimen2 by \normaloffset
+  %
+  \internalpagesizes{#1}{\hsize}%
+                    {\voffset}{\normaloffset}%
+                    {\bindingoffset}{44pt}%
+                    {\dimen0}{\dimen2}%
+}}
+
+% Set default to letter.
+%
+\letterpaper
+
+
+\message{and turning on texinfo input format.}
+
+% Define macros to output various characters with catcode for normal text.
+\catcode`\"=\other
+\catcode`\~=\other
+\catcode`\^=\other
+\catcode`\_=\other
+\catcode`\|=\other
+\catcode`\<=\other
+\catcode`\>=\other
+\catcode`\+=\other
+\catcode`\$=\other
+\def\normaldoublequote{"}
+\def\normaltilde{~}
+\def\normalcaret{^}
+\def\normalunderscore{_}
+\def\normalverticalbar{|}
+\def\normalless{<}
+\def\normalgreater{>}
+\def\normalplus{+}
+\def\normaldollar{$}%$ font-lock fix
+
+% This macro is used to make a character print one way in \tt
+% (where it can probably be output as-is), and another way in other fonts,
+% where something hairier probably needs to be done.
+%
+% #1 is what to print if we are indeed using \tt; #2 is what to print
+% otherwise.  Since all the Computer Modern typewriter fonts have zero
+% interword stretch (and shrink), and it is reasonable to expect all
+% typewriter fonts to have this, we can check that font parameter.
+%
+\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
+
+% Same as above, but check for italic font.  Actually this also catches
+% non-italic slanted fonts since it is impossible to distinguish them from
+% italic fonts.  But since this is only used by $ and it uses \sl anyway
+% this is not a problem.
+\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
+
+% Turn off all special characters except @
+% (and those which the user can use as if they were ordinary).
+% Most of these we simply print from the \tt font, but for some, we can
+% use math or other variants that look better in normal text.
+
+\catcode`\"=\active
+\def\activedoublequote{{\tt\char34}}
+\let"=\activedoublequote
+\catcode`\~=\active
+\def~{{\tt\char126}}
+\chardef\hat=`\^
+\catcode`\^=\active
+\def^{{\tt \hat}}
+
+\catcode`\_=\active
+\def_{\ifusingtt\normalunderscore\_}
+\let\realunder=_
+% Subroutine for the previous macro.
+\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
+
+\catcode`\|=\active
+\def|{{\tt\char124}}
+\chardef \less=`\<
+\catcode`\<=\active
+\def<{{\tt \less}}
+\chardef \gtr=`\>
+\catcode`\>=\active
+\def>{{\tt \gtr}}
+\catcode`\+=\active
+\def+{{\tt \char 43}}
+\catcode`\$=\active
+\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
+
+% If a .fmt file is being used, characters that might appear in a file
+% name cannot be active until we have parsed the command line.
+% So turn them off again, and have \everyjob (or @setfilename) turn them on.
+% \otherifyactive is called near the end of this file.
+\def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
+
+\catcode`\@=0
+
+% \backslashcurfont outputs one backslash character in current font,
+% as in \char`\\.
+\global\chardef\backslashcurfont=`\\
+\global\let\rawbackslashxx=\backslashcurfont  % let existing .??s files work
+
+% \rawbackslash defines an active \ to do \backslashcurfont.
+% \otherbackslash defines an active \ to be a literal `\' character with
+% catcode other.
+{\catcode`\\=\active
+ @gdef@rawbackslash{@let\=@backslashcurfont}
+ @gdef@otherbackslash{@let\=@realbackslash}
+}
+
+% \realbackslash is an actual character `\' with catcode other, and
+% \doublebackslash is two of them (for the pdf outlines).
+{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
+
+% \normalbackslash outputs one backslash in fixed width font.
+\def\normalbackslash{{\tt\backslashcurfont}}
+
+\catcode`\\=\active
+
+% Used sometimes to turn off (effectively) the active characters
+% even after parsing them.
+@def@turnoffactive{%
+  @let"=@normaldoublequote
+  @let\=@realbackslash
+  @let~=@normaltilde
+  @let^=@normalcaret
+  @let_=@normalunderscore
+  @let|=@normalverticalbar
+  @let<=@normalless
+  @let>=@normalgreater
+  @let+=@normalplus
+  @let$=@normaldollar %$ font-lock fix
+  @unsepspaces
+}
+
+% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
+% the literal character `\'.  (Thus, \ is not expandable when this is in
+% effect.)
+%
+@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash}
+
+% Make _ and + \other characters, temporarily.
+% This is canceled by @fixbackslash.
+@otherifyactive
+
+% If a .fmt file is being used, we don't want the `\input texinfo' to show up.
+% That is what \eatinput is for; after that, the `\' should revert to printing
+% a backslash.
+%
+@gdef@eatinput input texinfo{@fixbackslash}
+@global@let\ = @eatinput
+
+% On the other hand, perhaps the file did not have a `\input texinfo'. Then
+% the first `\{ in the file would cause an error. This macro tries to fix
+% that, assuming it is called before the first `\' could plausibly occur.
+% Also turn back on active characters that might appear in the input
+% file name, in case not using a pre-dumped format.
+%
+@gdef@fixbackslash{%
+  @ifx\@eatinput @let\ = @normalbackslash @fi
+  @catcode`+=@active
+  @catcode`@_=@active
+}
+
+% Say @foo, not \foo, in error messages.
+@escapechar = `@@
+
+% These look ok in all fonts, so just make them not special.
+@catcode`@& = @other
+@catcode`@# = @other
+@catcode`@% = @other
+
+
+@c Local variables:
+@c eval: (add-hook 'write-file-hooks 'time-stamp)
+@c page-delimiter: "^\\\\message"
+@c time-stamp-start: "def\\\\texinfoversion{"
+@c time-stamp-format: "%:y-%02m-%02d.%02H"
+@c time-stamp-end: "}"
+@c End:
+
+@c vim:sw=2:
+
+@ignore
+   arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
+@end ignore
Index: /trunk/essentials/sys-devel/automake-1.9/lib/ylwrap
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/lib/ylwrap	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/lib/ylwrap	(revision 3089)
@@ -0,0 +1,223 @@
+#! /bin/sh
+# ylwrap - wrapper for lex/yacc invocations.
+
+scriptversion=2005-05-14.22
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005
+#   Free Software Foundation, Inc.
+#
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+case "$1" in
+  '')
+    echo "$0: No files given.  Try \`$0 --help' for more information." 1>&2
+    exit 1
+    ;;
+  --basedir)
+    basedir=$2
+    shift 2
+    ;;
+  -h|--h*)
+    cat <<\EOF
+Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
+
+Wrapper for lex/yacc invocations, renaming files as desired.
+
+  INPUT is the input file
+  OUTPUT is one file PROG generates
+  DESIRED is the file we actually want instead of OUTPUT
+  PROGRAM is program to run
+  ARGS are passed to PROG
+
+Any number of OUTPUT,DESIRED pairs may be used.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v|--v*)
+    echo "ylwrap $scriptversion"
+    exit $?
+    ;;
+esac
+
+
+# The input.
+input="$1"
+shift
+case "$input" in
+  [\\/]* | ?:[\\/]*)
+    # Absolute path; do nothing.
+    ;;
+  *)
+    # Relative path.  Make it absolute.
+    input="`pwd`/$input"
+    ;;
+esac
+
+pairlist=
+while test "$#" -ne 0; do
+  if test "$1" = "--"; then
+    shift
+    break
+  fi
+  pairlist="$pairlist $1"
+  shift
+done
+
+# The program to run.
+prog="$1"
+shift
+# Make any relative path in $prog absolute.
+case "$prog" in
+  [\\/]* | ?:[\\/]*) ;;
+  *[\\/]*) prog="`pwd`/$prog" ;;
+esac
+
+# FIXME: add hostname here for parallel makes that run commands on
+# other machines.  But that might take us over the 14-char limit.
+dirname=ylwrap$$
+trap "cd `pwd`; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15
+mkdir $dirname || exit 1
+
+cd $dirname
+
+case $# in
+  0) $prog "$input" ;;
+  *) $prog "$@" "$input" ;;
+esac
+ret=$?
+
+if test $ret -eq 0; then
+  set X $pairlist
+  shift
+  first=yes
+  # Since DOS filename conventions don't allow two dots,
+  # the DOS version of Bison writes out y_tab.c instead of y.tab.c
+  # and y_tab.h instead of y.tab.h. Test to see if this is the case.
+  y_tab_nodot="no"
+  if test -f y_tab.c || test -f y_tab.h; then
+    y_tab_nodot="yes"
+  fi
+
+  # The directory holding the input.
+  input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'`
+  # Quote $INPUT_DIR so we can use it in a regexp.
+  # FIXME: really we should care about more than `.' and `\'.
+  input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'`
+
+  while test "$#" -ne 0; do
+    from="$1"
+    # Handle y_tab.c and y_tab.h output by DOS
+    if test $y_tab_nodot = "yes"; then
+      if test $from = "y.tab.c"; then
+    	from="y_tab.c"
+      else
+    	if test $from = "y.tab.h"; then
+    	  from="y_tab.h"
+    	fi
+      fi
+    fi
+    if test -f "$from"; then
+      # If $2 is an absolute path name, then just use that,
+      # otherwise prepend `../'.
+      case "$2" in
+    	[\\/]* | ?:[\\/]*) target="$2";;
+    	*) target="../$2";;
+      esac
+
+      # We do not want to overwrite a header file if it hasn't
+      # changed.  This avoid useless recompilations.  However the
+      # parser itself (the first file) should always be updated,
+      # because it is the destination of the .y.c rule in the
+      # Makefile.  Divert the output of all other files to a temporary
+      # file so we can compare them to existing versions.
+      if test $first = no; then
+	realtarget="$target"
+	target="tmp-`echo $target | sed s/.*[\\/]//g`"
+      fi
+      # Edit out `#line' or `#' directives.
+      #
+      # We don't want the resulting debug information to point at
+      # an absolute srcdir; it is better for it to just mention the
+      # .y file with no path.
+      #
+      # We want to use the real output file name, not yy.lex.c for
+      # instance.
+      #
+      # We want the include guards to be adjusted too.
+      FROM=`echo "$from" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+      TARGET=`echo "$2" | sed \
+            -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\
+            -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`
+
+      sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \
+          -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$?
+
+      # Check whether header files must be updated.
+      if test $first = no; then
+	if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
+	  echo "$2" is unchanged
+	  rm -f "$target"
+	else
+          echo updating "$2"
+          mv -f "$target" "$realtarget"
+        fi
+      fi
+    else
+      # A missing file is only an error for the first file.  This
+      # is a blatant hack to let us support using "yacc -d".  If -d
+      # is not specified, we don't want an error when the header
+      # file is "missing".
+      if test $first = yes; then
+        ret=1
+      fi
+    fi
+    shift
+    shift
+    first=no
+  done
+else
+  ret=$?
+fi
+
+# Remove the directory.
+cd ..
+rm -rf $dirname
+
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
Index: /trunk/essentials/sys-devel/automake-1.9/m4/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/Makefile.am	(revision 3089)
@@ -0,0 +1,74 @@
+## Process this file with automake to create Makefile.in
+
+## Makefile for Automake m4.
+
+## Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004
+## Free Software Foundation, Inc.
+
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+## 02110-1301, USA.
+
+m4datadir = $(datadir)/aclocal-$(APIVERSION)
+
+dist_m4data_DATA = \
+$(top_srcdir)/m4/amversion.m4 \
+as.m4 \
+auxdir.m4 \
+ccstdc.m4 \
+cond.m4 \
+depend.m4 \
+depout.m4 \
+dmalloc.m4 \
+gcj.m4 \
+header.m4 \
+init.m4 \
+install-sh.m4 \
+lead-dot.m4 \
+lex.m4 \
+lispdir.m4 \
+maintainer.m4 \
+make.m4 \
+minuso.m4 \
+missing.m4 \
+mkdirp.m4 \
+multi.m4 \
+obsol-gt.m4 \
+obsol-lt.m4 \
+obsolete.m4 \
+options.m4 \
+protos.m4 \
+python.m4 \
+regex.m4 \
+runlog.m4 \
+sanity.m4 \
+strip.m4 \
+tar.m4
+
+EXTRA_DIST = dirlist amversion.in
+
+# We build amversion.m4 here, instead of from config.status,
+# because config.status is rerun each time one of configure's
+# dependencies change and amversion.m4 happens to be a configure
+# dependency.  configure and amversion.m4 would be rebuilt in
+# loop otherwise.
+# Use `$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
+# how amversion.m4 appears in our dependencies.
+$(top_srcdir)/m4/amversion.m4: $(srcdir)/amversion.in
+	sed -e 's,[@]VERSION[@],$(VERSION),g' \
+	    -e 's,[@]APIVERSION[@],$(APIVERSION),g' \
+	    -e "s,[@]configure_input[@],Generated from amversion.in; do not edit by hand.,g" \
+	    $(srcdir)/amversion.in > $@t
+	chmod a-w $@t
+	mv -f $@t $@
Index: /trunk/essentials/sys-devel/automake-1.9/m4/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/Makefile.in	(revision 3089)
@@ -0,0 +1,365 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = m4
+DIST_COMMON = $(dist_m4data_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(m4datadir)"
+dist_m4dataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_m4data_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+m4datadir = $(datadir)/aclocal-$(APIVERSION)
+dist_m4data_DATA = \
+$(top_srcdir)/m4/amversion.m4 \
+as.m4 \
+auxdir.m4 \
+ccstdc.m4 \
+cond.m4 \
+depend.m4 \
+depout.m4 \
+dmalloc.m4 \
+gcj.m4 \
+header.m4 \
+init.m4 \
+install-sh.m4 \
+lead-dot.m4 \
+lex.m4 \
+lispdir.m4 \
+maintainer.m4 \
+make.m4 \
+minuso.m4 \
+missing.m4 \
+mkdirp.m4 \
+multi.m4 \
+obsol-gt.m4 \
+obsol-lt.m4 \
+obsolete.m4 \
+options.m4 \
+protos.m4 \
+python.m4 \
+regex.m4 \
+runlog.m4 \
+sanity.m4 \
+strip.m4 \
+tar.m4
+
+EXTRA_DIST = dirlist amversion.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  m4/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  m4/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-dist_m4dataDATA: $(dist_m4data_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(m4datadir)" || $(mkdir_p) "$(DESTDIR)$(m4datadir)"
+	@list='$(dist_m4data_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_m4dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(m4datadir)/$$f'"; \
+	  $(dist_m4dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(m4datadir)/$$f"; \
+	done
+
+uninstall-dist_m4dataDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_m4data_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(m4datadir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(m4datadir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(mkdir_p) $(distdir)/../m4
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(m4datadir)"; do \
+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_m4dataDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_m4dataDATA uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am \
+	install-dist_m4dataDATA install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-dist_m4dataDATA uninstall-info-am
+
+
+# We build amversion.m4 here, instead of from config.status,
+# because config.status is rerun each time one of configure's
+# dependencies change and amversion.m4 happens to be a configure
+# dependency.  configure and amversion.m4 would be rebuilt in
+# loop otherwise.
+# Use `$(top_srcdir)/m4' for the benefit of non-GNU makes: this is
+# how amversion.m4 appears in our dependencies.
+$(top_srcdir)/m4/amversion.m4: $(srcdir)/amversion.in
+	sed -e 's,[@]VERSION[@],$(VERSION),g' \
+	    -e 's,[@]APIVERSION[@],$(APIVERSION),g' \
+	    -e "s,[@]configure_input[@],Generated from amversion.in; do not edit by hand.,g" \
+	    $(srcdir)/amversion.in > $@t
+	chmod a-w $@t
+	mv -f $@t $@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/m4/amversion.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/amversion.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/amversion.in	(revision 3089)
@@ -0,0 +1,20 @@
+##                                                          -*- Autoconf -*-
+## @configure_input@
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="@APIVERSION@"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([@VERSION@])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/amversion.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/amversion.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/amversion.m4	(revision 3089)
@@ -0,0 +1,20 @@
+##                                                          -*- Autoconf -*-
+## Generated from amversion.in; do not edit by hand.
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.9.6])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/as.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/as.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/as.m4	(revision 3089)
@@ -0,0 +1,20 @@
+# Figure out how to run the assembler.                      -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_PROG_AS
+# ----------
+AC_DEFUN([AM_PROG_AS],
+[# By default we simply use the C compiler to build assembly code.
+AC_REQUIRE([AC_PROG_CC])
+test "${CCAS+set}" = set || CCAS=$CC
+test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
+AC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
+AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/auxdir.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/auxdir.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/auxdir.m4	(revision 3089)
@@ -0,0 +1,52 @@
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/ccstdc.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/ccstdc.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/ccstdc.m4	(revision 3089)
@@ -0,0 +1,26 @@
+## ----------------------------------------- ##             -*- Autoconf -*-
+## ANSIfy the C compiler whenever possible.  ##
+## From Franc,ois Pinard                     ##
+## ----------------------------------------- ##
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# This was merged into AC_PROG_CC in Autoconf.
+
+AU_DEFUN([AM_PROG_CC_STDC],
+[AC_PROG_CC
+AC_DIAGNOSE([obsolete], [$0:
+	your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
+	`ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
+	you adjust the code.  You can also remove the above call to
+	AC_PROG_CC if you already called it elsewhere.])
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+])
+AU_DEFUN([fp_PROG_CC_STDC])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/cond.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/cond.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/cond.m4	(revision 3089)
@@ -0,0 +1,32 @@
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/depend.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/depend.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/depend.m4	(revision 3089)
@@ -0,0 +1,156 @@
+##                                                          -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/depout.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/depout.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/depout.m4	(revision 3089)
@@ -0,0 +1,67 @@
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # So let's grep whole file.
+  if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/dirlist
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/dirlist	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/dirlist	(revision 3089)
@@ -0,0 +1,3 @@
+# This file is used by the testsuite (dirlist.test)
+# it should not be installed
+./dirlist-test
Index: /trunk/essentials/sys-devel/automake-1.9/m4/dmalloc.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/dmalloc.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/dmalloc.m4	(revision 3089)
@@ -0,0 +1,31 @@
+## ----------------------------------- ##                   -*- Autoconf -*-
+## Check if --with-dmalloc was given.  ##
+## From Franc,ois Pinard               ##
+## ----------------------------------- ##
+
+# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+AC_DEFUN([AM_WITH_DMALLOC],
+[AC_MSG_CHECKING([if malloc debugging is wanted])
+AC_ARG_WITH(dmalloc,
+[  --with-dmalloc          use dmalloc, as in
+			  http://www.dmalloc.com/dmalloc.tar.gz],
+[if test "$withval" = yes; then
+  AC_MSG_RESULT(yes)
+  AC_DEFINE(WITH_DMALLOC,1,
+	    [Define if using the dmalloc debugging malloc package])
+  LIBS="$LIBS -ldmalloc"
+  LDFLAGS="$LDFLAGS -g"
+else
+  AC_MSG_RESULT(no)
+fi], [AC_MSG_RESULT(no)])
+])
+
+AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/gcj.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/gcj.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/gcj.m4	(revision 3089)
@@ -0,0 +1,18 @@
+# Check for Java compiler.                                  -*- Autoconf -*-
+# For now we only handle the GNU compiler.
+
+# Copyright (C) 1999, 2000, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([AM_PROG_GCJ],[
+AC_CHECK_PROGS(GCJ, gcj, gcj)
+test -z "$GCJ" && AC_MSG_ERROR([no acceptable gcj found in \$PATH])
+if test "x${GCJFLAGS-unset}" = xunset; then
+   GCJFLAGS="-g -O2"
+fi
+AC_SUBST(GCJFLAGS)
+_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(GCJ)])
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/header.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/header.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/header.m4	(revision 3089)
@@ -0,0 +1,12 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/init.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/init.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/init.m4	(revision 3089)
@@ -0,0 +1,113 @@
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+   test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/install-sh.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/install-sh.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/install-sh.m4	(revision 3089)
@@ -0,0 +1,14 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/lead-dot.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/lead-dot.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/lead-dot.m4	(revision 3089)
@@ -0,0 +1,21 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/lex.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/lex.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/lex.m4	(revision 3089)
@@ -0,0 +1,22 @@
+## Replacement for AC_PROG_LEX.                            -*-  Autoconf -*-
+## by Alexandre Oliva <oliva@dcc.unicamp.br>
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_PROG_LEX
+# -----------
+# Autoconf leaves LEX=: if lex or flex can't be found.  Change that to a
+# "missing" invocation, for better error output.
+AC_DEFUN([AM_PROG_LEX],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
+AC_REQUIRE([AC_PROG_LEX])dnl
+if test "$LEX" = :; then
+  LEX=${am_missing_run}flex
+fi])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/lispdir.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/lispdir.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/lispdir.m4	(revision 3089)
@@ -0,0 +1,54 @@
+## ------------------------                                 -*- Autoconf -*-
+## Emacs LISP file handling
+## From Ulrich Drepper
+## Almost entirely rewritten by Alexandre Oliva
+## ------------------------
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_PATH_LISPDIR
+# ---------------
+AC_DEFUN([AM_PATH_LISPDIR],
+[ # If set to t, that means we are running in a shell under Emacs.
+ # If you have an Emacs named "t", then use the full path.
+ test x"$EMACS" = xt && EMACS=
+ AC_CHECK_PROGS([EMACS], [emacs xemacs], [no])
+ AC_ARG_VAR([EMACS], [the Emacs editor command])
+ AC_ARG_VAR([EMACSLOADPATH], [the Emacs library search path])
+ AC_ARG_WITH([lispdir],
+ [  --with-lispdir          override the default lisp directory],
+ [ lispdir="$withval"
+   AC_MSG_CHECKING([where .elc files should go])
+   AC_MSG_RESULT([$lispdir])],
+ [
+ AC_CACHE_CHECK([where .elc files should go], [am_cv_lispdir], [
+   if test $EMACS != "no"; then
+     if test x${lispdir+set} != xset; then
+  # If $EMACS isn't GNU Emacs or XEmacs, this can blow up pretty badly
+  # Some emacsen will start up in interactive mode, requiring C-x C-c to exit,
+  #  which is non-obvious for non-emacs users.
+  # Redirecting /dev/null should help a bit; pity we can't detect "broken"
+  #  emacsen earlier and avoid running this altogether.
+  AC_RUN_LOG([$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' </dev/null >conftest.out])
+	am_cv_lispdir=`sed -n \
+       -e 's,/$,,' \
+       -e '/.*\/lib\/x*emacs\/site-lisp$/{s,.*/lib/\(x*emacs/site-lisp\)$,${libdir}/\1,;p;q;}' \
+       -e '/.*\/share\/x*emacs\/site-lisp$/{s,.*/share/\(x*emacs/site-lisp\),${datadir}/\1,;p;q;}' \
+       conftest.out`
+       rm conftest.out
+     fi
+   fi
+   test -z "$am_cv_lispdir" && am_cv_lispdir='${datadir}/emacs/site-lisp'
+  ])
+  lispdir="$am_cv_lispdir"
+])
+AC_SUBST([lispdir])
+])# AM_PATH_LISPDIR
+
+AU_DEFUN([ud_PATH_LISPDIR], [AM_PATH_LISPDIR])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/maintainer.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/maintainer.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/maintainer.m4	(revision 3089)
@@ -0,0 +1,28 @@
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_MAINTAINER_MODE],
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+  dnl maintainer-mode is disabled by default
+  AC_ARG_ENABLE(maintainer-mode,
+[  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      USE_MAINTAINER_MODE=$enableval,
+      USE_MAINTAINER_MODE=no)
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST(MAINT)dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/make.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/make.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/make.m4	(revision 3089)
@@ -0,0 +1,51 @@
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/minuso.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/minuso.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/minuso.m4	(revision 3089)
@@ -0,0 +1,28 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 1999, 2000, 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+   CC="$am_aux_dir/compile $CC"
+fi
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/missing.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/missing.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/missing.m4	(revision 3089)
@@ -0,0 +1,34 @@
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/mkdirp.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/mkdirp.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/mkdirp.m4	(revision 3089)
@@ -0,0 +1,63 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+AC_SUBST([mkdir_p])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/multi.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/multi.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/multi.m4	(revision 3089)
@@ -0,0 +1,58 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_ENABLE_MULTILIB([MAKEFILE], [REL-TO-TOP-SRCDIR])
+# ---------------------------------------------------
+# Add --enable-multilib to configure.
+AC_DEFUN([AM_ENABLE_MULTILIB],
+[# Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[  --enable-multilib       build many library versions (default)],
+[case "$enableval" in
+  yes) multilib=yes ;;
+  no)  multilib=no ;;
+  *)   AC_MSG_ERROR([bad value $enableval for multilib option]) ;;
+ esac],
+	      [multilib=yes])
+
+# We may get other options which we leave undocumented:
+# --with-target-subdir, --with-multisrctop, --with-multisubdir
+# See config-ml.in if you want the gory details.
+
+if test "$srcdir" = "."; then
+  if test "$with_target_subdir" != "."; then
+    multi_basedir="$srcdir/$with_multisrctop../$2"
+  else
+    multi_basedir="$srcdir/$with_multisrctop$2"
+  fi
+else
+  multi_basedir="$srcdir/$2"
+fi
+AC_SUBST(multi_basedir)
+
+AC_OUTPUT_COMMANDS([
+# Only add multilib support code if we just rebuilt the top-level
+# Makefile.
+case " $CONFIG_FILES " in
+ *" ]m4_default([$1],Makefile)[ "*)
+   ac_file=]m4_default([$1],Makefile)[ . ${multi_basedir}/config-ml.in
+   ;;
+esac],
+		   [
+srcdir="$srcdir"
+host="$host"
+target="$target"
+with_multisubdir="$with_multisubdir"
+with_multisrctop="$with_multisrctop"
+with_target_subdir="$with_target_subdir"
+ac_configure_args="${multilib_arg} ${ac_configure_args}"
+multi_basedir="$multi_basedir"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+CC="$CC"])])dnl
Index: /trunk/essentials/sys-devel/automake-1.9/m4/obsol-gt.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/obsol-gt.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/obsol-gt.m4	(revision 3089)
@@ -0,0 +1,12 @@
+# Support for obsolete Gettext macro.                       -*- Autoconf -*-
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# See comment in obsolete.m4.
+AU_DEFUN([ud_GNU_GETTEXT], [AM_GNU_GETTEXT])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/obsol-lt.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/obsol-lt.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/obsol-lt.m4	(revision 3089)
@@ -0,0 +1,12 @@
+# Support for obsolete Libtool macro.                       -*- Autoconf -*-
+
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# See comment in obsolete.m4.
+AU_DEFUN([gm_PROG_LIBTOOL], [AM_PROG_LIBTOOL])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/obsolete.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/obsolete.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/obsolete.m4	(revision 3089)
@@ -0,0 +1,37 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Obsolete Automake macros.
+
+# We put here only the macros whose substitution is not an Automake
+# macro; otherwise including this file would trigger dependencies for
+# all the substitutions.  Generally, obsolete Automake macros are
+# better AU_DEFUNed in the same file as their replacement, or alone in
+# a separate file (see obsol-gt.m4 or obsol-lt.m4 for instance).
+
+AU_DEFUN([AC_FEATURE_CTYPE],     [AC_HEADER_STDC])
+AU_DEFUN([AC_FEATURE_ERRNO],     [AC_REPLACE_FUNCS([strerror])])
+AU_DEFUN([AM_CYGWIN32],	         [AC_CYGWIN])
+AU_DEFUN([AM_EXEEXT],            [AC_EXEEXT])
+AU_DEFUN([AM_FUNC_MKTIME],       [AC_FUNC_MKTIME])
+AU_DEFUN([AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL],
+				 [AC_HEADER_TIOCGWINSZ])
+AU_DEFUN([AM_MINGW32],           [AC_MINGW32])
+AU_DEFUN([AM_PROG_INSTALL],      [AC_PROG_INSTALL])
+AU_DEFUN([AM_SANITY_CHECK_CC],   [AC_PROG_CC])
+AU_DEFUN([AM_SYS_POSIX_TERMIOS], [AC_SYS_POSIX_TERMIOS])
+AU_DEFUN([fp_FUNC_FNMATCH],      [AC_FUNC_FNMATCH])
+AU_DEFUN([fp_PROG_INSTALL],      [AC_PROG_INSTALL])
+AU_DEFUN([md_TYPE_PTRDIFF_T],    [AC_CHECK_TYPES([ptrdiff_t])])
+
+# Don't know how to translate these.
+# If used, Autoconf will complain that they are possibly unexpended;
+# this seems a good enough error message.
+# AC_FEATURE_EXIT
+# AC_SYSTEM_HEADER
Index: /trunk/essentials/sys-devel/automake-1.9/m4/options.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/options.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/options.m4	(revision 3089)
@@ -0,0 +1,32 @@
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/protos.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/protos.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/protos.m4	(revision 3089)
@@ -0,0 +1,28 @@
+## ------------------------------- ##                       -*- Autoconf -*-
+## Check for function prototypes.  ##
+## From Franc,ois Pinard           ##
+## ------------------------------- ##
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+AC_DEFUN([AM_C_PROTOTYPES],
+[AC_REQUIRE([AC_C_PROTOTYPES])
+if test "$ac_cv_prog_cc_stdc" != no; then
+  U= ANSI2KNR=
+else
+  U=_ ANSI2KNR=./ansi2knr
+fi
+# Ensure some checks needed by ansi2knr itself.
+AC_REQUIRE([AC_HEADER_STDC])
+AC_CHECK_HEADERS(string.h)
+AC_SUBST(U)dnl
+AC_SUBST(ANSI2KNR)dnl
+])
+
+AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/python.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/python.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/python.m4	(revision 3089)
@@ -0,0 +1,168 @@
+## ------------------------                                 -*- Autoconf -*-
+## Python file handling
+## From Andrew Dalke
+## Updated by James Henstridge
+## ------------------------
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# ---------------------------------------------------------------------------
+# Adds support for distributing Python modules and packages.  To
+# install modules, copy them to $(pythondir), using the python_PYTHON
+# automake variable.  To install a package with the same name as the
+# automake package, install to $(pkgpythondir), or use the
+# pkgpython_PYTHON automake variable.
+#
+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
+# locations to install python extension modules (shared libraries).
+# Another macro is required to find the appropriate flags to compile
+# extension modules.
+#
+# If your package is configured with a different prefix to python,
+# users will have to add the install directory to the PYTHONPATH
+# environment variable, or create a .pth file (see the python
+# documentation for details).
+#
+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
+# cause an error if the version of python installed on the system
+# doesn't meet the requirement.  MINIMUM-VERSION should consist of
+# numbers and dots only.
+AC_DEFUN([AM_PATH_PYTHON],
+ [
+  dnl Find a Python interpreter.  Python versions prior to 1.5 are not
+  dnl supported because the default installation locations changed from
+  dnl $prefix/lib/site-python in 1.4 to $prefix/lib/python1.5/site-packages
+  dnl in 1.5.
+  m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
+                    [python python2 python2.5 python2.4 python2.3 python2.2 dnl
+python2.1 python2.0 python1.6 python1.5])
+
+  m4_if([$1],[],[
+    dnl No version check is needed.
+    # Find any Python interpreter.
+    if test -z "$PYTHON"; then
+      AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
+    fi
+    am_display_PYTHON=python
+  ], [
+    dnl A version check is needed.
+    if test -n "$PYTHON"; then
+      # If the user set $PYTHON, use it and don't search something else.
+      AC_MSG_CHECKING([whether $PYTHON version >= $1])
+      AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
+			      [AC_MSG_RESULT(yes)],
+			      [AC_MSG_ERROR(too old)])
+      am_display_PYTHON=$PYTHON
+    else
+      # Otherwise, try each interpreter until we find one that satisfies
+      # VERSION.
+      AC_CACHE_CHECK([for a Python interpreter with version >= $1],
+	[am_cv_pathless_PYTHON],[
+	for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
+	  test "$am_cv_pathless_PYTHON" = none && break
+	  AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
+	done])
+      # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
+      if test "$am_cv_pathless_PYTHON" = none; then
+	PYTHON=:
+      else
+        AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
+      fi
+      am_display_PYTHON=$am_cv_pathless_PYTHON
+    fi
+  ])
+
+  if test "$PYTHON" = :; then
+  dnl Run any user-specified action, or abort.
+    m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
+  else
+
+  dnl Query Python for its version number.  Getting [:3] seems to be
+  dnl the best way to do this; it's what "site.py" does in the standard
+  dnl library.
+
+  AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
+    [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`])
+  AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
+
+  dnl Use the values of $prefix and $exec_prefix for the corresponding
+  dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX.  These are made
+  dnl distinct variables so they can be overridden if need be.  However,
+  dnl general consensus is that you shouldn't need this ability.
+
+  AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
+  AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
+
+  dnl At times (like when building shared libraries) you may want
+  dnl to know which OS platform Python thinks this is.
+
+  AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
+    [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`])
+  AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
+
+
+  dnl Set up 4 directories:
+
+  dnl pythondir -- where to install python scripts.  This is the
+  dnl   site-packages directory, not the python standard library
+  dnl   directory like in previous automake betas.  This behavior
+  dnl   is more consistent with lispdir.m4 for example.
+  dnl Query distutils for this directory.  distutils does not exist in
+  dnl Python 1.5, so we fall back to the hardcoded directory if it
+  dnl doesn't work.
+  AC_CACHE_CHECK([for $am_display_PYTHON script directory],
+    [am_cv_python_pythondir],
+    [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null ||
+     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`])
+  AC_SUBST([pythondir], [$am_cv_python_pythondir])
+
+  dnl pkgpythondir -- $PACKAGE directory under pythondir.  Was
+  dnl   PYTHON_SITE_PACKAGE in previous betas, but this naming is
+  dnl   more consistent with the rest of automake.
+
+  AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
+
+  dnl pyexecdir -- directory for installing python extension modules
+  dnl   (shared libraries)
+  dnl Query distutils for this directory.  distutils does not exist in
+  dnl Python 1.5, so we fall back to the hardcoded directory if it
+  dnl doesn't work.
+  AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
+    [am_cv_python_pyexecdir],
+    [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null ||
+     echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`])
+  AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
+
+  dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
+
+  AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
+
+  dnl Run any user-specified action.
+  $2
+  fi
+
+])
+
+
+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+# ---------------------------------------------------------------------------
+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
+# Run ACTION-IF-FALSE otherwise.
+# This test uses sys.hexversion instead of the string equivalent (first
+# word of sys.version), in order to cope with versions such as 2.2c1.
+# hexversion has been introduced in Python 1.5.2; it's probably not
+# worth to support older versions (1.5.1 was released on October 31, 1998).
+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
+ [prog="import sys, string
+# split strings by '.' and convert to numeric.  Append some zeros
+# because we need at least 4 digits for the hex conversion.
+minver = map(int, string.split('$2', '.')) + [[0, 0, 0]]
+minverhex = 0
+for i in xrange(0, 4): minverhex = (minverhex << 8) + minver[[i]]
+sys.exit(sys.hexversion < minverhex)"
+  AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/regex.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/regex.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/regex.m4	(revision 3089)
@@ -0,0 +1,53 @@
+## --------------------------------- ##                     -*- Autoconf -*-
+## Check if --with-regex was given.  ##
+## --------------------------------- ##
+# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_WITH_REGEX
+# -------------
+#
+# The idea is to distribute rx.[hc] and regex.[hc] together, for a
+# while.  The WITH_REGEX symbol is used to decide which of regex.h or
+# rx.h should be included in the application.  If `./configure
+# --with-regex' is given (the default), the package will use gawk's
+# regex.  If `./configure --without-regex', a check is made to see if
+# rx is already installed, as with newer Linux'es.  If not found, the
+# package will use the rx from the distribution.  If found, the
+# package will use the system's rx which, on Linux at least, will
+# result in a smaller executable file.
+#
+# FIXME: This macro seems quite obsolete now since rx doesn't seem to
+# be maintained, while regex is.
+AC_DEFUN([AM_WITH_REGEX],
+[AC_PREREQ(2.50)dnl
+AC_LIBSOURCES([rx.h, rx.c, regex.c, regex.h])dnl
+AC_MSG_CHECKING([which of GNU rx or gawk's regex is wanted])
+AC_ARG_WITH([regex],
+[  --without-regex         use GNU rx in lieu of gawk's regex for matching],
+	    [test "$withval" = yes && am_with_regex=1],
+	    [am_with_regex=1])
+if test -n "$am_with_regex"; then
+  AC_MSG_RESULT([regex])
+  AC_DEFINE([WITH_REGEX], 1, [Define if using GNU regex])
+  AC_CACHE_CHECK([for GNU regex in libc], [am_cv_gnu_regex],
+    [AC_TRY_LINK([],
+		 [extern int re_max_failures; re_max_failures = 1],
+		 [am_cv_gnu_regex=yes],
+		 [am_cv_gnu_regex=no])])
+  if test $am_cv_gnu_regex = no; then
+    AC_LIBOBJ([regex])
+  fi
+else
+  AC_MSG_RESULT([rx])
+  AC_CHECK_FUNC([re_rx_search], , [AC_LIBOBJ([rx])])
+fi[]dnl
+])
+
+AU_DEFUN([fp_WITH_REGEX], [AM_WITH_REGEX])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/runlog.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/runlog.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/runlog.m4	(revision 3089)
@@ -0,0 +1,17 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/sanity.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/sanity.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/sanity.m4	(revision 3089)
@@ -0,0 +1,51 @@
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/strip.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/strip.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/strip.m4	(revision 3089)
@@ -0,0 +1,28 @@
+##                                                          -*- Autoconf -*-
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
Index: /trunk/essentials/sys-devel/automake-1.9/m4/tar.m4
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/m4/tar.m4	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/m4/tar.m4	(revision 3089)
@@ -0,0 +1,95 @@
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ChangeLog-old
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ChangeLog-old	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ChangeLog-old	(revision 3089)
@@ -0,0 +1,1441 @@
+2001-02-07  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.am (XFAIL_TESTS): Removed remake3.test,
+	distcommon.test.
+
+	* Makefile.am (XFAIL_TESTS): Added new files.
+
+	* remake3.test: New file.
+	* Makefile.am (TESTS): Added new file.
+
+	* distcommon.test: New file.
+	* Makefile.am (TESTS): Added new file.
+
+2001-02-04  Tom Tromey  <tromey@redhat.com>
+
+	* exsource.test: Updated for new include code.
+
+2001-02-03  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.am (XFAIL_TESTS): Removed colon7.test.
+
+2001-01-29  Akim Demaille  <akim@epita.fr>
+
+	* check.test: New.
+
+2001-01-28  Tom Tromey  <tromey@redhat.com>
+
+	* listval.test: New file.
+	* Makefile.am (TESTS): Added listval.test.
+
+2001-01-26  Tom Tromey  <tromey@redhat.com>
+
+	* makevars.test: Fail if automake fails.
+
+2001-01-26  Pavel Roskin  <proski@gnu.org>
+
+	* Makefile.am (XFAIL_TESTS): Added colon7.test.
+
+2001-01-26  Akim Demaille  <akim@epita.fr>
+
+	* vtexi.test (info_TEXINFOS): Check that the path to mdate-sh is
+	already correct.
+
+	* defs (AUTOCONF, has_autoconf, needs_autoconf): New.
+	* ansi3.test, cond9.test, depacl2.test, install2.test, pr19.test,
+	* pr87.test, pr9.test, subobj3.test, target-cflags.test: Use them.
+
+2001-01-25  Pavel Roskin  <proski@gnu.org>
+
+	* makevars.test: Disable shell tracing.
+
+2001-01-25  Akim Demaille  <akim@epita.fr>
+
+	* makevars.test: New.
+
+2001-01-24  Akim Demaille  <akim@epita.fr>
+
+	* vtexi.test (info_TEXINFOS): Escape a $ in egrep pattern.
+
+2001-01-23  Akim Demaille  <akim@epita.fr>
+
+	* vtexi.test: Also check that stamp-vti properly depends upon
+	configure.in and the Texinfo source file.
+
+2001-01-21  Kevin Ryde <user42@zip.com.au>
+
+	* colon7.test: Grep for a couple of AC_OUTPUT problems.
+
+2001-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* subdir3.test: Allow any number of dependencies.
+
+	* subobj4.test: Fixed test case.
+
+	* amassign.test: New file.
+	* Makefile.am (TESTS): Added new file.
+
+2001-01-12  Tom Tromey  <tromey@redhat.com>
+
+	* subobj4.test: New file.
+	* Makefile.am (TESTS): Added subobj4.test.
+
+	* cxxansi.test: New file.
+	* Makefile.am (TESTS): Added cxxansi.test.
+
+2000-12-21  Tom Tromey  <tromey@redhat.com>
+
+	* vtexi.test: Fixed to reflect new rules.
+
+2000-12-17  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.am (XFAIL_TESTS): Don't mention ldflags.test.
+
+2000-11-25  Tom Tromey  <tromey@cygnus.com>
+
+	* space.test: New file.
+	* Makefile.am (TESTS): Added space.test.
+
+2000-11-23  Pavel Roskin  <proski@gnu.org>
+
+	* pr87.test: Prevent automake from looking into .. and ../..
+	by using AC_CONFIG_AUX_DIR(.) in configure.in.
+
+2000-11-23  Tom Tromey  <tromey@cygnus.com>
+
+	* pr87.test: New file.  From PR automake/87.
+	* Makefile.am (TESTS): Added pr87.test.
+
+2000-10-17  Pavel Roskin  <proski@gnu.org>
+
+	* Makefile.am (TESTS): Added aclocali1.test.
+	* aclocali1.test: New file.
+
+2000-08-30  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (XFAIL_TESTS): Removed pr72.test.
+
+	For PR automake/72:
+	* Makefile.am (TESTS): Added pr72.test.
+	(XFAIL_TESTS): Likewise.
+	* pr72.test: New file.
+
+2000-08-28  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (XFAIL_TESTS): Added ldflags.test.
+
+2000-08-27  Tom Tromey  <tromey@cygnus.com>
+
+	For PR automake/75:
+	* Makefile.am (TESTS): Added fortdep.test.
+	* fortdep.test: New file.
+
+	For PR automake/68:
+	* Makefile.am (TESTS): Added header.test.
+	* header.test: New file.
+
+2000-08-26  Tom Tromey  <tromey@cygnus.com>
+
+	For PR automake/73:
+	* Makefile.am (TESTS): Added instman2.test.
+	* instman2.test: New file.
+
+	For PR automake/77:
+	* Makefile.am (TESTS): Added ldflags.test.
+	* ldflags.test: New file.
+
+2000-08-06  Jim Meyering  <meyering@lucent.com>
+
+	* Makefile.am (TESTS): Add subdir4.test.
+	* subdir4.test: New test for the just-fixed depcomp failure.
+
+2000-08-02  Akim Demaille  <akim@epita.fr>
+
+	* depacl.test: Weaken the regexp looking for AM_PROG_CC_C_STDC in
+	aclocal.m4.
+
+2000-05-01  Pavel Roskin  <pavel_roskin@geocities.com>
+
+	* install2.test: Prevent automake from looking into .. and ../..
+	by using AC_CONFIG_AUX_DIR(.) in configure.in
+	* pr19.test: Likewise
+	* subobj3.test: Likewise
+
+2000-03-19  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj2.test: Put depcomp into subdir.
+	* confsub.test: Put depcomp into subdir.
+	* defs: Always copy `depcomp'.
+
+	* defs: Correctly create `depcomp'.
+	* nodepcomp.test: Remove depcomp.
+
+	More for PR automake/38:
+	* symlink3.test: New file.
+	* Makefile.am (TESTS): Added symlink3.test.
+
+	For PR automake/38:
+	* symlink2.test: New file.
+	* Makefile.am (TESTS): Added symlink2.test.
+
+	For PR automake/45:
+	* defs, acoutnoq.test, texinfo8.test, tagsub.test, subdir2.test,
+	subdir.test, scripts.test, remake2.test, remake.test, pr2.test,
+	parse.test, output4.test, output3.test, output2.test, output.test,
+	libobj10.test, libobj9.test, libobj8.test, libobj7.test,
+	libobj6.test, libobj2.test, libobj.test, fpinstall.test,
+	fpinst2.test, depend3.test, confsub.test, config.test,
+	confh4.test, confh3.test, confh2.test, confh.test, conf2.test,
+	colon7.test, colon6.test, colon5.test, colon4.test, colon3.test,
+	colon2.test, colon.test, acouttbs.test, acoutqnl.test,
+	acoutput.test: Put AM_INIT_AUTOMAKE into configure.in.
+
+	* install2.test: Expect a `dist' failure.
+
+2000-03-19  Tom Tromey  <tromey@cygnus.com>
+
+	* nodepcomp.test: New file.
+	* Makefile.am (TESTS): Added nodepcomp.test.
+
+2000-02-02  Assar Westerlund  <assar@sics.se>
+
+	* target-cflags.test: new test case to target-specific CFLAGS
+
+2000-01-08  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi.test, texinfo.test, empty.test, insh2.test, texinfo8.test:
+	Remove @SET_MAKE@ before using Makefile.
+	* backsl2.test: Don't add AC_PROG_MAKE_SET in configure.in;
+	already done.
+	* defs: Put AC_PROG_MAKE_SET in configure.in.
+	* acoutnoq.test, acoutput.test, acoutqnl.test, acouttbs.test,
+	acouttbs2.test, colon.test, colon2.test, colon3.test, colon4.test,
+	colon5.test, colon6.test, colon7.test, conf2.test, confh.test,
+	confh2.test, confh3.test, confh4.test, config.test, depend3.test,
+	discover.test, fpinst2.test, gnits.test, ldadd.test, libobj.test,
+	libobj10.test, libobj2.test, libobj6.test, libobj7.test,
+	libobj8.test, libobj9.test, output.test, output2.test,
+	output3.test, output4.test, output5.test, package.test,
+	parse.test, pr2.test, remake.test, remake2.test, scripts.test,
+	stamph.test, texinfo8.test: Likewise.
+
+1999-12-26  Tom Tromey  <tromey@cygnus.com>
+
+	* subobj3.test: Remove depcomp.
+	* pr9.test: Remove depcomp.
+	Remove opportunistic check.
+	* pr19.test: Remove depcomp.
+
+1999-12-25  Tom Tromey  <tromey@cygnus.com>
+
+	* suffix2.test: Create config.guess and config.sub so user doesn't
+	need libtoolize.  From Klaus Reichl.
+
+1999-12-19  Tom Tromey  <tromey@cygnus.com>
+
+	Test for PR automake/9:
+	* pr9.test: New file.
+	* Makefile.am (TESTS): Added pr9.test.
+
+	* pr19.test: Fail gracefully if gzip missing.
+	* install2.test: Fail gracefully if gzip missing.
+
+1999-12-19  Pavel Roskin  <pavel_roskin@geocities.com>
+
+	* tests/defs: add all permissions to testSubDir before
+	removing it.
+
+1999-12-19  Tom Tromey  <tromey@cygnus.com>
+
+	* pr2.test: Use egrep, not grep.
+
+	Test for PR automake/2:
+	* pr2.test: New file.
+	* Makefile.am (TESTS): Added pr2.test.
+
+1999-12-15  Tom Tromey  <tromey@cygnus.com>
+
+	* dup3.test: New file.
+	* Makefile.am (TESTS): Added dup3.test.
+
+1999-12-13  Tom Tromey  <tromey@cygnus.com>
+
+	* pr19.test: New file.  For PR automake/19.
+	* Makefile.am (TESTS): Added pr19.test.
+
+	* lex4.test: New file.  For PR automake/6.
+	* Makefile.am (TESTS): Added lex4.test.
+
+	* suffix3.test: New file.
+	* Makefile.am (TESTS): Added suffix3.test.
+
+	* suffix2.test: Added `no-dependencies' to options in
+	Makefile.am.  Removed trailing `exit 1'.
+
+	* nostdinc.test: New file.
+	* Makefile.am (TESTS): Added nostdinc.test.
+
+	* condincl2.test: New file.
+	* condincl.test: New file.
+	* Makefile.am (TESTS): Added condincl.test, condincl2.test.
+
+	* suffix2.test: New file.
+	* Makefile.am (TESTS): Added suffix2.test.
+
+	* subobj.test: Remove final test.
+
+1999-12-12  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (XFAIL_TESTS): Removed subobj3.test.
+
+1999-12-10  Tom Tromey  <tromey@cygnus.com>
+
+	* install2.test: New file.
+	* Makefile.am (TESTS): Added install2.test.
+
+	* specflags5.test: New file.
+	* Makefile.am (TESTS): Added specflags5.test.
+
+1999-12-06  Tom Tromey  <tromey@cygnus.com>
+
+	* confh4.test: Corrected final test.
+
+	* confh4.test: New file.  PR automake/34.
+	* Makefile.am (TESTS): Mention confh4.test.
+
+1999-11-22  Tom Tromey  <tromey@cygnus.com>
+
+	* defs: Never hard link `depcomp'.  From Pavel Roskin
+
+	* exsource.test: Don't use configure substitution in _SOURCES.
+	* depend.test: Don't use configure substitution in _SOURCES.
+	* cygwin32.test: Don't use configure substitution in _SOURCES.
+
+	* subobj.test: Check for another bug.
+
+	* Makefile.am (XFAIL_TESTS): Removed sourcesub.test,
+	ltlibobjs.test.
+
+1999-11-21  Tom Tromey  <tromey@cygnus.com>
+
+	* specflags3.test: Updated test for new dependency
+	implementation.
+
+1999-10-02  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* defs: Set CDPATH to avoid verbose cd.
+
+1999-09-14  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+	* defs: Avoid printing the full pathname of testSubDir.
+
+	* exsource.test: Update.
+
+1999-06-01  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* exsource.test: sed @AMDEP@ away from `include' line.
+
+	* compile_f_c_cxx.test: depcomp is no longer in the same line.
+
+1999-04-25  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* compile_f_c_cxx.test: Look for $(depcomp) for C and C++.
+	* suffix.test: We no longer emit % rules.
+
+1999-04-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* defs: Create link or copy of depcomp.
+	* depend2.test: Removed, no more disted dependencies.
+	* Makefile.am (TESTS): Likewise.
+	* exsource.test: Adjust dependency filenames.
+	* mdate3.test: Adjust for depcomp.
+
+1999-11-07  Tom Tromey  <tromey@cygnus.com>
+
+	* dash.test: New file.
+	* Makefile.am (TESTS): Added dash.test.
+
+1999-08-26  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo8.test: Use directory named `sub'.
+
+	* symlink.test: Use directory named `sub' (just in case; for
+	Windows).
+
+1999-08-15  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi4.test: New file.
+	* Makefile.am (TESTS): Added ansi4.test.
+
+1999-07-30  Tom Tromey  <tromey@cygnus.com>
+
+	* double.test (bin_PROGRAMS): New file.
+	* Makefile.am (TESTS): Added double.test.
+
+1999-07-27  Tom Tromey  <tromey@cygnus.com>
+
+	* empty4.test: New file.
+	* Makefile.am (TESTS): Added empty4.test.
+
+1999-07-13  Tom Tromey  <tromey@cygnus.com>
+
+	* empty3.test: New file.
+	* Makefile.am (TESTS): Added empty3.test.
+
+	* empty2.test: Also look for `pavel.o'.
+
+	* empty2.test: New file.
+	* Makefile.am (TESTS): Added empty2.test.
+
+1999-05-27  Tom Tromey  <tromey@cygnus.com>
+
+	* subobj3.test: New file.
+	* Makefile.am (TESTS): Added subobj3.test.
+	(XFAIL_TESTS): Likewise.
+
+	* ltlibobjs.test: New file.
+	* Makefile.am (TESTS): Added ltlibobjs.test.
+	(XFAIL_TESTS): Added ltlibobjs.test.
+
+	* Makefile.am (XFAIL_TESTS): Added sourcesub.test.
+
+1999-05-19  Tom Tromey  <tromey@cygnus.com>
+
+	* specflags4.test: Typo fix.
+
+	* specflags4.test: New file.  From Pavel Roskin.
+	* Makefile.am (TESTS): Added specflags4.test.
+
+	* specflags.test: Added regression test for missing space.
+
+1999-05-13  Tom Tromey  <tromey@cygnus.com>
+
+	* sourcesub.test: New file.
+	* Makefile.am (TESTS): Added sourcesub.test.
+
+1999-05-01  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj2.test: Reverted previous change; it is incorrect.
+
+	* libobj2.test: Error if libtu.a.P is mentioned.
+
+1999-04-27  Tom Tromey  <tromey@cygnus.com>
+
+	* cond9.test: New file.  From Raja R Harinath.
+	* Makefile.am (TESTS): Added cond9.test.
+
+	* pluseq8.test: New file.
+	* Makefile.am (TESTS): Added pluseq8.test.
+
+	* canon5.test: Updated to reflect change to MACRO_PATTERN.
+
+	* specflags3.test: New file.
+	* Makefile.am (TESTS): Added specflags3.test.
+	(TESTS): Now lists one file per line, for simpler maintenance.
+
+	* specflags2.test: New file.
+	* specflags.test: New file.
+	* Makefile.am (TESTS): Added specflags.test, specflags2.test.
+
+1999-04-27  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* canon5.test (bin_PROGRAMS): New file.
+	* Makefile.am (TESTS): Added canon5.test.
+
+1999-04-20  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* libobj10.test: New file.
+	* Makefile.am (TESTS): Added libobj10.test.
+
+1999-04-11  Tom Tromey  <tromey@cygnus.com>
+
+	* subobj2.test: New file.
+	* Makefile.am (TESTS): Added subobj2.test.
+
+	* subobj.test: New file.
+	* Makefile.am (TESTS): Added subobj.test.
+
+	* confh.test: Use `sed' to extract full definition of
+	DIST_COMMON.  Look for stamp-h.in rule in include/Makefile.in.
+	* Makefile.am (XFAIL_TESTS): Removed confh.test.
+
+1999-04-10  Tom Tromey  <tromey@cygnus.com>
+
+	* defs: Ensure srcdir is always absolute.
+
+	* Makefile.am (XFAIL_TESTS): Removed cond8.test.
+
+	* gcj2.test: New file.
+	* Makefile.am (TESTS): Added gcj2.test.
+
+1999-04-10  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* suffix.test: New file.
+	* Makefile.am: Added suffix.test.
+
+	* Makefile.am (XFAIL_TESTS): Added cond8.test.
+
+	* cond3.test: Refer to am_targ_OBJECTS.
+
+	* yacc2.test, yacc3.test: New files.
+	* Makefile.am (TESTS): Added yacc2.test and yacc3.test.
+
+1999-04-09  Tom Tromey  <tromey@cygnus.com>
+
+	* nodist.test: New file.
+	* Makefile.am (TESTS): Added nodist.test.
+
+	* gcj.test: New file.
+	* Makefile.am (TESTS): Added gcj.test.
+
+1999-04-08  Tom Tromey  <tromey@cygnus.com>
+
+	* cond8.test: New file.
+	* Makefile.am (TESTS): Added cond8.test.
+
+1999-04-07  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* backsl2.test: New file.
+	* Makefile.am (TESTS): Added backsl2.test.
+
+	* texinfo8.test: texinfo.tex is only disted by aux/Makefile.
+
+	* texinfo8.test: New file.
+	* Makefile.am (TESTS): Added texinfo8.test.
+
+1999-03-31  Tom Tromey  <tromey@cygnus.com>
+
+	* pluseq2.test, pluseq3.test: Updated for recent \-preservation
+	change.
+
+1999-03-31  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* Makefile.am (XFAIL_TESTS): add confh.test
+
+1999-03-30  Tom Tromey  <tromey@cygnus.com>
+
+	* mclean.test: Fixed typo.
+
+	* mclean.test: New file.
+	* Makefile.am (TESTS): Added mclean.test.
+
+1999-03-30  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+	* confh.test: if include/Makefile.am is created, the test fails
+
+1999-03-27  Tom Tromey  <tromey@cygnus.com>
+
+	* extra4.test: Allow EXTRA_DATA to be specified.
+
+1999-03-22  Tom Tromey  <tromey@cygnus.com>
+
+	* ldadd.test: Use AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL.
+
+	* pluseq7.test: New file.
+	* Makefile.am (TESTS): Added pluseq7.test.
+	* pluseq6.test: New file.
+	* Makefile.am (TESTS): Added pluseq6.test.
+
+1999-03-21  Tom Tromey  <tromey@cygnus.com>
+
+	* nodep.test: New file.
+	* Makefile.am (TESTS): Added nodep.test.
+
+	* subdir3.test: Correctly mention _SOURCES in Makefile.am.
+
+	* subdir3.test: New file.
+	* Makefile.am (TESTS): Added subdir3.test.
+	* xsource.test: Changed to check whether multiple source files
+	with same object name cause failure.
+
+1999-03-11  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj9.test: New file.
+	* Makefile.am (TESTS): Added libobj9.test.
+
+	* insthook.test: Don't require GNU grep.  From John Pierce.
+
+	* lex3.test: New file.
+	* Makefile.am (TESTS): Added lex3.test.
+
+1999-03-01  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi3.test: Use no-dependencies option to avoid GNU make
+	requirement.  From Jerome Lovy.
+
+1999-02-27  Tom Tromey  <tromey@cygnus.com>
+
+	* ext.test (foo_SOURCES): New file.
+	* Makefile.am (TESTS): Added ext.test.
+
+1999-02-11  Tom Tromey  <tromey@cygnus.com>
+
+	* cygwin32.test: Use AC_EXEEXT, not AM_EXEEXT.
+
+	* obsolete2.test: New file.
+	* Makefile.am (TESTS): Added obsolete2.test.
+
+1999-02-01  Tom Tromey  <tromey@cygnus.com>
+
+	* installsh.test (AUTOMAKE): Use $PERL.  From Pavel Roskin.
+
+	* cond5.test: Sleep 15 seconds, not 5.  Some people still run the
+	test on slow machines.
+
+1999-01-22  Tom Tromey  <tromey@cygnus.com>
+
+	* copy.test: New file.
+	* Makefile.am (TESTS): Added copy.test.
+
+	* ppf77.test: New file.
+	* Makefile.am (TESTS): Added ppf77.test.
+
+1999-01-14  Tom Tromey  <tromey@cygnus.com>
+
+	* confh3.test: New file.
+	* Makefile.am (TESTS): Added confh3.test.
+
+	* confh2.test: New file.
+	* Makefile.am (TESTS): Added confh2.test.
+
+	* confh.test: Run automake differently the second time.
+
+	* mdate3.test: New file.
+	* Makefile.am (TESTS): Added mdate3.test.
+
+1999-01-11  Tom Tromey  <tromey@cygnus.com>
+
+	* confh.test: New file.
+	* Makefile.am (TESTS): Added confh.test.
+
+1999-01-10  Tom Tromey  <tromey@cygnus.com>
+
+	* objc.test: Updated to account for new ObjC support.
+
+	* pluseq5.test: New file.
+	* Makefile.am (TESTS): Added pluseq5.test.
+
+	* all.test: Test all *-local targets, not just all-local.
+
+	* all.test: New file.
+	* Makefile.am (TESTS): Added all.test.
+
+1999-01-07  Tom Tromey  <tromey@cygnus.com>
+
+	* include.test: New file.
+	* Makefile.am (TESTS): Added include.test.
+
+1998-12-21  Tom Tromey  <tromey@cygnus.com>
+
+	* insthook.test: Updated to fail when it should.
+
+1998-12-11  Tom Tromey  <tromey@cygnus.com>
+
+	* insthook.test: New file.
+	* Makefile.am (TESTS): Added insthook.test.
+
+1998-11-27  Tom Tromey  <tromey@cygnus.com>
+
+	* cond7.test: New file.  From Pavel Roskin.
+	* Makefile.am (TESTS): New file.
+
+1998-11-10  Tom Tromey  <tromey@cygnus.com>
+
+	* pluseq4.test: New file.
+	* Makefile.am (TESTS): Added pluseq4.test.
+
+1998-11-09  Tom Tromey  <tromey@cygnus.com>
+
+	* pluseq3.test: New file.
+	* Makefile.am (TESTS): Added pluseq3.test.
+
+	* pluseq2.test: New file.
+	* Makefile.am (TESTS): Added pluseq2.test.
+
+1998-10-30  Tom Tromey  <tromey@cygnus.com>
+
+	* pluseq.test: New file.
+	* Makefile.am (TESTS): Added pluseq.test.
+
+1998-10-28  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (distclean-local): Typo fix.
+
+1998-10-20  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (TESTS): Sorted tests.  From Jeff Garzik.
+
+1998-10-13  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj7.test: Updated to reflect minor change in automake (test
+	wasn't resilient enough).
+	* instman.test: Updated to reflect fact that mkinstalldirs will be
+	in distribution.
+
+	* cxxonly.test: Removed.
+
+Mon Aug 31 09:46:59 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* Makefile.am (TESTS): Added compile_f_c_cxx.test.
+	* compile_f_c_cxx.test: New file.
+
+Sat Aug 29 18:17:58 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* Makefile.am (TESTS): Added flink.test link_c_cxx.test
+	link_f_c.test link_f_c_cxx.test link_f_cxx.test link_f_only.test.
+	Removed flink.test.
+	* flibs.test: New File.
+	* link_c_cxx.test: New file.
+	* link_f_c.test: New file.
+	* link_f_c_cxx.test: New file.
+	* link_f_cxx.test: New file.
+	* link_f_only.test: New file.
+
+Tue Aug 11 10:46:36 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+
+	* Makefile.am (TESTS): Add cxxonly.test, fonly.test, flink.test,
+	fnoc.test and fo.test.
+	* cxxonly.test: New file.
+	* fonly.test: New file.
+	* flink.test: New file.
+	* fnoc.test: New file.
+	* fo.test: New file.
+
+1998-10-08  Tom Tromey  <tromey@cygnus.com>
+
+	* confdist.test: New file.
+	* Makefile.am (TESTS): Added confdist.test.
+
+1998-10-07  Tom Tromey  <tromey@cygnus.com>
+
+	* extra4.test: New file.
+	* extra3.test: New file.
+	* Makefile.am (TESTS): Added extra3.test, extra4.test.
+
+Mon Oct  5 12:47:32 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* badline.test: New file.
+	* Makefile.am (TESTS): Added badline.test.
+
+Thu Oct  1 00:03:39 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* seenc.test: Updated test to account for removed line numbers.
+
+	* xsource.test: Correctly fail if source in subdir.
+
+Wed Sep 30 12:17:34 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* colon7.test: New file.
+	* Makefile.am (TESTS): Added colon7.test.
+
+Tue Sep 29 02:09:11 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* config.test: New file.
+	* Makefile.am (TESTS): Added config.test.
+
+	* Makefile.am (TESTS): Reference clean.test, not clean.am.
+
+Mon Sep 28 01:46:34 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* recurs2.test: New file, from Jim Meyering.
+	* Makefile.am (TESTS): Added recurs2.test.
+
+	* Makefile.am (TESTS): Added clean.am.
+	* clean.test: New file.
+	* ansi2.test: Updated test for new SUBDIRS change.
+	* noinst.test: Updated test for new SUBDIRS change.
+	* checkall.test: Added check to make sure check-local is handled.
+	Updated test for new SUBDIRS change.
+	* java.test: Updated test for new SUBDIRS change.
+
+Sun Sep 27 20:01:20 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* Makefile.am (TESTS): Added else.test.
+	* else.test: New file.
+
+	* Makefile.am (TESTS): Added parse.test.
+	* parse.test: New file.
+
+Sat Sep 26 19:17:43 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.test: Put AM_INIT_AUTOMAKE into configure.in.
+	* library.test: Use AC_EXEEXT.
+	* texinfo5.test: Use AC_EXEEXT.
+	* Many files: use AC_PROG_INSTALL, not AM_PROG_INSTALL.
+
+	Test suite updates for the @SHELL@ change:
+	* exsource.test: Set SHELL on `make' command line.
+	* ansi.test: Set SHELL on `make' command line.
+	* texinfo.test: Set SHELL on `make' command line.
+	* insh2.test: Set SHELL on `make' command line.
+	* empty.test: Rewrite @SHELL@ to /bin/sh.
+
+Tue Sep 22 01:20:00 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi3.test: Use gcc and not gcc -traditional.
+
+Tue Sep 15 22:19:48 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo7.test: New file.
+
+Sun Aug 16 23:17:38 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* colon6.test: New file.
+
+Fri Aug 14 11:09:03 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* cond6.test: New file.
+
+Mon Aug 10 21:05:15 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi3.test: New file.
+
+Sat Jul 18 00:27:26 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* recurs.test: New file.
+
+	* cond3.test: Changed to match recent fixes.
+
+Fri Jul 17 23:44:49 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* cond4.test, cond5.test: New files.
+
+Tue May 26 01:44:37 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* syntax.test: New file.
+
+Sun Apr  5 15:26:42 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* version3.test: Increased version number to ensure failure for a
+	long time to come.
+
+	* library.test: New file.
+
+	* lex2.test: Updated since lex error changed to warning.
+
+Fri Apr  3 13:04:50 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* colon5.test: New file.
+
+	* exdir2.test: New file.
+	* instdata.test: New file.
+
+Wed Mar 25 15:30:39 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* badopt.test: new file.
+	* version3.test: New file.
+
+Mon Mar 23 10:52:36 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj8.test: New file.
+
+Fri Mar 20 00:32:16 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* lex2.test: New file.
+
+	* aclocalii.test: New file.
+
+	* javasubst.test: New file.
+
+Thu Mar 19 14:11:45 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* javaprim.test: New file.
+
+	* sinclude.test: New file.
+
+Wed Mar 18 17:15:22 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* java.test: New file.
+
+Sun Mar  8 15:35:14 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* colon4.test: New file.
+
+Fri Mar  6 21:17:10 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* colon3.test: Refined tests.
+
+Tue Feb 24 12:29:05 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* man.test: Removed.
+
+	* condman2.test: New file.
+
+Mon Feb 23 16:20:49 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo6.test: New file.
+
+Mon Feb 16 00:08:58 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocali.test: New file.
+
+Fri Feb 13 00:36:38 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo5.test (info_TEXINFOS): New file.
+
+	* condman.test: New file.
+
+	* Makefile.am (distclean-local): Ignore rm return value.
+
+Thu Feb 12 21:00:34 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* unused.test: New file.
+
+	* whoami.test: New file.
+
+	* alpha.test: New file.
+
+Wed Feb 11 17:28:30 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* aclocal.test: New file.
+
+Thu Feb  5 13:22:17 1998  Tom Tromey  <tromey@cygnus.com>
+
+	* cxxcpp.test: New file.
+
+Mon Dec  1 15:48:16 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* cond3.test: New file.
+
+Sat Nov 29 22:09:27 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* objc.test: New file.
+
+Sat Oct 25 00:04:04 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj7.test: New file.
+
+Tue Oct 21 00:46:24 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* lex2.test: Removed; @LEXLIB@ no longer required.
+
+	* depacl2.test: Use -I, not --acdir.
+
+	* install.test: New file.
+	* ammissing.test: New file.
+
+Sun Sep 28 17:19:52 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* cxxnoc.test: Changed to reflect MKDEP change.
+
+Wed Sep 24 16:01:59 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* output5.test: New file.
+
+	* depend3.test: New file.
+
+Mon Aug 25 17:24:42 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* cygwin32.test: Use AM_EXEEXT, not AM_CYGWIN32.
+
+Tue Aug  5 20:33:33 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj6.test: New file.
+
+Mon May 26 22:47:36 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* depend.test: Fixed test.
+
+Sat May 10 18:28:14 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* depend2.test: Fixed test; added another check.
+
+Sun May  4 15:47:24 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* xsource.test: New file.
+
+Tue Apr 29 19:08:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* cond.test, cond2.test: New files from Ian Taylor.
+
+Sun Apr 27 21:07:49 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* confsub.test: Fixed bug.
+
+Fri Apr 25 12:30:22 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* conf2.test: New file.
+
+Tue Apr  8 19:26:07 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi.test, empty.test, exsource.test, insh2.test, man.test,
+	mkinst2.test, texinfo.test, texinfo2.test: Use $MAKE.
+
+	* defs (MAKE): Define.
+
+Mon Apr  7 17:35:49 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* version2.test: New file.
+
+Wed Apr  2 00:12:26 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* ldadd.test: New file.
+
+Fri Mar 28 23:36:04 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* stamph.test: New file.
+
+Thu Mar 27 18:10:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* lisp.test: New file.
+
+Sat Mar 22 01:14:03 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* cygwin32.test: New file.
+
+Thu Mar 20 00:34:33 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* exsource.test: Exit if not using GNU make.
+
+Tue Mar 18 22:36:34 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* remake2.test: Changed for `missing' support.
+
+Sun Mar 16 14:29:45 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* seenc.test: New file.
+
+	* checkall.test, noinst.test: Don't use bogus construct when
+	checking.
+
+	* libobj3.test, canon.test, target.test, spell2.test,
+	primary2.test, discover.test, lex2.test: Fixed to test what it
+	claims to test.
+
+Mon Mar 10 23:21:03 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj.test, libobj2.test: Use AC_PROG_CC.
+
+	* confsub.test: Modified for definition of CONFIG_HEADER_FULL.
+
+	* cxxlibobj.test: New file.
+
+Wed Feb 26 13:05:42 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* tagsub.test: New file.
+
+Sun Feb 23 11:58:00 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo.test, texinfo2.test, texinfo3.test, info.test,
+	mdate.test, vtexi.test, canon2.test, mdate2.test, vtexi2.test:
+	Updated for new texinfo handling.
+
+	* texinfo4.test: New file.
+	* texinfo3.test: New file.
+
+Sat Feb 22 09:48:44 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* yaccpp.test: New file.
+
+Tue Feb 11 09:51:47 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* texinfo2.test: Fixed quoting bug.  From Michael Brantley.
+
+Tue Feb  4 18:41:32 1997  Tom Tromey  <tromey@cygnus.com>
+
+	* confsub.test: Check subdir/Makefile.in to make sure dependency
+	is correct.
+
+	* ansi2.test: ANSI2KNR dependency of all.
+
+Tue Dec 10 00:43:14 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* defun2.test: New file.
+	* subst.test: New file.
+
+Sun Dec  8 12:25:22 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* colneq2.test: New file.
+
+Sat Dec  7 12:52:45 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* output4.test: New file.
+	* output3.test: New file.
+	* remake2.test: New file.
+	* output2.test: New file.
+
+Fri Dec  6 19:00:31 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* output.test: New file.
+
+Thu Dec  5 18:23:17 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* remake.test: New file.
+	* colon3.test: New file.
+	* colon2.test: New file.
+	* cxxo.test: New file.
+
+Wed Dec  4 00:41:44 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* defs: Allow user to set interpreter via PERL environment
+	variable.
+
+	* Makefile.am (distclean-local): New target.
+
+Tue Dec  3 11:55:18 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* dup.test, dup2.test: Modified, now that aclocal allows
+	acinclude.m4 to override any installed macro file.
+
+Mon Dec  2 22:44:16 1996  Gordon Matzigkeit  <gord@gnu.ai.mit.edu>
+
+	* alllib.test: Removed from distribution, since LIBFILES are no
+	longer computed.
+
+Sun Nov 24 14:36:00 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* extra2.test: New file.
+
+Fri Nov 22 00:10:04 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* stdlib.test: New file.
+
+Thu Nov 21 22:51:35 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* confsub.test: Use AM_CONFIG_HEADER.
+
+Tue Nov 19 23:37:32 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* confvar2.test: New file.
+
+Fri Nov 15 00:09:18 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* ansi2.test: New file.
+
+	* libfiles.test: Removed (obsolete).
+
+	* libobj.test, canon4.test, libobj2.test, alllib.test,
+	ranlib.test: Fixed for Gord's changes to library handling.
+
+	* Many files: Use AC_PROG_CC to avoid error.
+
+Thu Oct 24 15:22:53 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* confvar.test: New file.
+	* ranlib.test: New file.
+
+Mon Oct 21 22:57:51 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* version.test: New file.
+
+Fri Oct 11 00:51:04 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* libobj5.test: New file.
+	* libobj4.test: New file.
+	* distdir.test: New file.
+	* lex2.test: New file.
+
+Sun Oct  6 11:00:44 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* acsilent.test: New file.
+	* req.test: New file.
+	* acinclude.test: New file.
+
+Sat Oct  5 11:31:38 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* discover.test: New file.
+
+	* mkinst2.test: Renamed from mkinstall2.test.
+
+	* symlink.test: New file.
+
+Thu Oct  3 19:55:23 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* vpath.test: New file.
+
+Mon Sep 30 08:34:07 1996  Tom Tromey  <tromey@cygnus.com>
+
+	* comment2.test: New file.
+
+Mon Sep 23 00:23:34 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* spell3.test: New file.
+
+Sun Sep 22 14:42:09 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* depend2.test: New file.
+
+Sat Sep 21 14:01:10 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* primary2.test: New file.
+	* primary.test: New file.
+
+Fri Sep 20 09:39:27 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* confsub.test: New file.
+
+Mon Sep 16 00:05:52 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* spell2.test: New file.
+
+	* spell.test: New file.
+
+Thu Sep 12 14:57:49 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* implicit.test: New file.
+
+Wed Sep 11 13:57:10 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* colneq.test: New file.
+
+	* interp2.test: New file.
+
+Sun Sep  8 10:47:07 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* gnits.test: New file.
+
+Thu Sep  5 22:54:26 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* libobj3.test: New file.
+
+Tue Sep  3 20:57:38 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* block.test: New file.
+
+Mon Aug 26 23:04:01 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* alllib.test: New file.
+
+	* interp.test: New file.
+
+Mon Aug 12 13:58:55 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* libobj2.test: New file.
+
+	* order.test: New file.
+
+Sun Aug 11 00:10:42 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* cxxnoc.test: New file.
+
+	* cxxlink.test: Use AC_PROG_CXX.
+
+	* lex.test: Use AC_PROG_LEX, AC_DECL_YYTEXT.
+
+	* yacc.test: Use AC_PROG_YACC in configure.in.
+
+	* cxxlink.test: New file.
+
+	* yacc.test: Fixed test for new yacc code.
+
+Sat Aug 10 10:09:45 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* defun.test: New file.
+
+	* dup.test: New file.
+
+Fri Aug  9 09:18:07 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* canon4.test: New file.
+
+Thu Aug  8 10:47:45 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* exsource.test: New file.
+
+	* subdir2.test: New file.
+
+	* scripts.test: New file.
+
+Tue Aug  6 12:30:41 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* lex.test: New file.
+
+Mon Aug  5 01:03:03 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* obsolete.test: New file.
+
+	* Many files: Use AM_ macros, not fp_ macros.
+
+	* info.test: New file.
+
+Sun Aug  4 12:47:34 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* man.test: New file.
+
+	* acouttbs2.test: New file.
+
+	* libfiles.test: New file.
+
+	* comment.test: New file.
+
+	* tags.test: New file.
+
+	* vtexi2.test: New file.
+
+	* colon.test: New file.
+
+Sun Jul 28 11:43:00 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* defs (ACLOCAL): Added definition.
+
+	* depacl.test, depacl2.test, error.test: New tests for aclocal.
+
+Fri Jul 19 10:09:56 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* ansi.test: New file.
+
+Sun Jun  9 23:20:03 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* texinfo2.test: New file.
+
+Sat Jun  8 10:00:42 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* mkinstall2.test: New file.
+
+Fri Jun  7 18:17:11 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* yacc.test: New file.
+
+Sun Jun  2 09:04:52 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* dejagnu.test: New file.
+
+	* texinfo.test: New file.
+
+Thu May 23 09:58:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* fpinst2.test: New file.
+
+	* fpinstall.test: New file.
+
+Wed May 22 09:45:52 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* outdir.test: New file.
+
+Sat May 18 10:51:37 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* insh2.test: New file.
+
+Fri May 17 17:32:35 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* number.test: New file.
+
+	* defs, many .test files: Define PACKAGE and VERSION in
+	configure.in.
+
+	* package.test: New file.
+
+	* backsl.test: New file.
+
+Thu May 16 09:15:57 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* subdir.test: New file.
+
+Tue May 14 10:17:17 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* mdate2.test: New file, from report by Jim Meyering.
+
+	* canon3.test: New file.
+
+	* auxdir.test: New file.
+
+	* mkinstall.test: New file.
+
+	* extra.test: Reversed sense of test.
+
+Fri Apr 26 15:15:01 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* instman.test: New file.
+
+Thu Apr 25 17:12:30 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* noinst.test: New file
+
+	* exdir.test: Quoting change from Gord Matzigkeit.
+
+	* extra.test (EXTRA_PROGRAMS): New file.
+
+Tue Apr  9 22:55:07 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* target.test: New file.
+
+Wed Apr  3 15:10:54 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* canon2.test: New file
+
+	* insh.test: New file.
+
+Wed Mar 27 23:31:51 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* rulepat.test: New file.
+
+Sat Mar 16 08:37:36 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* empty.test: New file.
+
+Fri Mar 15 17:55:13 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* installsh.test: New file.
+
+Tue Mar  5 16:22:46 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* badprog.test: Rewrote.
+
+	* canon.test: New file.
+
+Mon Mar  4 21:08:37 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* exdir.test: New file.
+
+Fri Mar  1 17:23:53 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* depend.test: New file.
+
+	* badprog.test: New file.
+
+	* defs (AUTOMAKE): Pass --foreign.
+
+Thu Feb 29 20:23:42 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	More tests:
+	* prefix.test: New file.
+	* spelling.test: New file
+	* confincl.test: New file.
+	* Makefile.am (TESTS): Updated.
+
+Wed Feb 28 11:57:02 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* acoutqnl.test: New file.
+	* Makefile.am (TESTS): Include it.
+
+Tue Feb 27 10:52:58 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* Makefile.am (DIST_OTHER): Include "defs".
+
+	* defs (AUTOMAKE): Never relative to $srcdir.
+
+Mon Feb 26 23:14:08 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* libobj.test: Put AC_PROG_RANLIB in configure.in
+
+Mon Feb 19 08:22:22 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* proginst.test: New file.
+
+Tue Feb 13 18:54:39 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* libobj.test: New file.
+
+Mon Feb 12 17:05:48 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* acouttbs.test: New file.
+
+	* Makefile.am (DIST_OTHER): New variable.
+
+	* acoutnoq.test: New file.
+
+Sun Feb 11 16:39:14 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* checkall.test: Delay a little.
+
+	* Makefile.am (check-local): Print name of failing test.
+
+Sat Feb 10 17:08:39 1996  Tom Tromey  <tromey@creche.cygnus.com>
+
+	* checkall.test: New file.
+
+	* instexec.test: New file.
+
+	* mdate.test, vtexi.test, acoutput.test: New files.
+
+	* Started.
Index: /trunk/essentials/sys-devel/automake-1.9/tests/Makefile.am
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/Makefile.am	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/Makefile.am	(revision 3089)
@@ -0,0 +1,580 @@
+## Process this file with automake to create Makefile.in
+
+XFAIL_TESTS = auxdir2.test cond17.test txinfo5.test
+
+TESTS =	\
+aclibobj.test \
+aclocal.test \
+aclocal3.test \
+aclocal4.test \
+aclocal5.test \
+aclocal6.test \
+aclocal7.test \
+aclocal8.test \
+aclocal9.test \
+acloca10.test \
+acloca11.test \
+acloca12.test \
+acloca13.test \
+acloca14.test \
+acloca15.test \
+acloca16.test \
+acloca17.test \
+acloca19.test \
+acoutnoq.test \
+acoutpt.test \
+acoutpt2.test \
+acoutqnl.test \
+acoutbs.test \
+acsilent.test \
+acsubst.test \
+acsubst2.test \
+all.test \
+alloca.test \
+alloca2.test \
+alpha.test \
+alpha2.test \
+amassign.test \
+ammissing.test \
+ansi.test \
+ansi2.test \
+ansi3.test \
+ansi3b.test \
+ansi4.test \
+ansi5.test \
+ansi6.test \
+ansi7.test \
+ansi8.test \
+ansi9.test \
+ansi10.test \
+ar.test \
+ar2.test \
+asm.test \
+autohdr.test \
+autohdr2.test \
+autohdr3.test \
+autohdr4.test \
+auxdir.test \
+auxdir2.test \
+auxdir3.test \
+auxdir4.test \
+backsl.test \
+backsl2.test \
+backsl3.test \
+backsl4.test \
+badline.test \
+badprog.test \
+block.test \
+bsource.test \
+canon.test \
+canon2.test \
+canon3.test \
+canon4.test \
+canon5.test \
+ccnoco.test \
+check.test \
+check2.test \
+check3.test \
+check4.test \
+checkall.test \
+clean.test \
+clean2.test \
+colneq.test \
+colneq2.test \
+colon.test \
+colon2.test \
+colon3.test \
+colon4.test \
+colon5.test \
+colon6.test \
+colon7.test \
+comment.test \
+comment2.test \
+comment3.test \
+comment4.test \
+comment5.test \
+comment6.test \
+comment7.test \
+comment8.test \
+comment9.test \
+commen10.test \
+compile.test \
+compile_f90_c_cxx.test \
+compile_f_c_cxx.test \
+cond.test \
+cond2.test \
+cond3.test \
+cond4.test \
+cond5.test \
+cond6.test \
+cond7.test \
+cond8.test \
+cond9.test \
+cond10.test \
+cond11.test \
+cond13.test \
+cond14.test \
+cond15.test \
+cond16.test \
+cond17.test \
+cond18.test \
+cond19.test \
+cond20.test \
+cond21.test \
+cond22.test \
+cond23.test \
+cond24.test \
+cond25.test \
+cond26.test \
+cond27.test \
+cond28.test \
+cond29.test \
+cond30.test \
+cond31.test \
+cond32.test \
+cond33.test \
+cond34.test \
+cond35.test \
+cond36.test \
+cond37.test \
+cond38.test \
+condd.test \
+condhook.test \
+condinc.test \
+condinc2.test \
+condlib.test \
+condman.test \
+condman2.test \
+conf2.test \
+confdeps.test \
+conff.test \
+conff2.test \
+confh.test \
+confh4.test \
+confh5.test \
+config.test \
+confincl.test \
+conflnk.test \
+conflnk2.test \
+conflnk3.test \
+confsub.test \
+confvar.test \
+confvar2.test \
+copy.test \
+ctarget1.test \
+cxx.test \
+cxx2.test \
+cxxansi.test \
+cxxcpp.test \
+cxxlibobj.test \
+cxxlink.test \
+cxxnoc.test \
+cxxo.test \
+cygwin32.test \
+dash.test \
+defun.test \
+defun2.test \
+dejagnu.test \
+dejagnu2.test \
+dejagnu3.test \
+dejagnu4.test \
+dejagnu5.test \
+dejagnu6.test \
+dejagnu7.test \
+depacl2.test \
+depcomp.test \
+depcomp2.test \
+depcomp3.test \
+depcomp4.test \
+depcomp5.test \
+depdist.test \
+depend.test \
+depend2.test \
+depend3.test \
+depend4.test \
+destdir.test \
+dirforbid.test \
+dirlist.test \
+discover.test \
+distcom2.test \
+distcom3.test \
+distcom4.test \
+distcom5.test \
+distcom6.test \
+distcom7.test \
+distdir.test \
+distname.test \
+dollar.test \
+double.test \
+dup2.test \
+else.test \
+empty.test \
+empty2.test \
+empty3.test \
+empty4.test \
+exdir.test \
+exdir2.test \
+exeext.test \
+exeext2.test \
+exeext3.test \
+exeext4.test \
+exsource.test \
+ext.test \
+ext2.test \
+extra.test \
+extra3.test \
+extra4.test \
+extra5.test \
+extra6.test \
+extra7.test \
+f90only.test \
+flibs.test \
+fn99.test \
+fnoc.test \
+fo.test	\
+fonly.test \
+fortdep.test \
+fpinst2.test \
+fpinstall.test \
+gcj.test \
+gcj2.test \
+gcj3.test \
+gcj4.test \
+gcj5.test \
+getopt.test \
+gettext.test \
+gettext2.test \
+gnumake.test \
+gnuwarn.test \
+gnuwarn2.test \
+gnits.test \
+gnits2.test \
+gnits3.test \
+header.test \
+help.test \
+hfs.test \
+hosts.test \
+implicit.test \
+include.test \
+include2.test \
+info.test \
+insh2.test \
+install2.test \
+installdir.test \
+instsh.test \
+instsh2.test \
+instdat.test \
+instdat2.test \
+instexec.test \
+insthook.test \
+instman.test \
+instman2.test \
+instspc.test \
+interp.test \
+interp2.test \
+java.test \
+java2.test \
+java3.test \
+javaprim.test \
+javasubst.test \
+ldadd.test \
+ldflags.test \
+lex.test \
+lex2.test \
+lex3.test \
+lex4.test \
+lex5.test \
+libobj2.test \
+libobj3.test \
+libobj4.test \
+libobj5.test \
+libobj7.test \
+libobj8.test \
+libobj10.test \
+libobj11.test \
+libobj12.test \
+libobj13.test \
+libobj14.test \
+library.test \
+library2.test \
+library3.test \
+libtool.test \
+libtool2.test \
+libtool3.test \
+libtool4.test \
+libtool5.test \
+libtool6.test \
+libtool7.test \
+libtool8.test \
+license.test \
+link_c_cxx.test	\
+link_dist.test \
+link_f90_only.test \
+link_fc.test \
+link_fccxx.test \
+link_fcxx.test	\
+link_f_only.test \
+lisp2.test \
+lisp3.test \
+lisp4.test \
+lisp5.test \
+lisp6.test \
+lisp7.test \
+lisp8.test \
+listval.test \
+location.test \
+longline.test \
+longlin2.test \
+ltcond.test \
+ltcond2.test \
+ltconv.test \
+ltdeps.test \
+ltlibobjs.test \
+ltlibsrc.test \
+maintclean.test \
+make.test \
+makej.test \
+makevars.test \
+man.test \
+man2.test \
+mclean.test \
+mdate.test \
+mdate2.test \
+mdate3.test \
+mdate4.test \
+missing.test \
+missing2.test \
+missing3.test \
+mkinstall.test \
+mkinst2.test \
+mkinst3.test \
+multlib.test \
+nobase.test \
+nodef.test \
+nodef2.test \
+nodep.test \
+nodepcomp.test \
+nodist.test \
+nodist2.test \
+nodist3.test \
+nogzip.test \
+nogzip2.test \
+noinst.test \
+noinstdir.test \
+nolink.test \
+nostdinc.test \
+number.test \
+obsolete.test \
+order.test \
+outdir.test \
+output.test \
+output2.test \
+output3.test \
+output4.test \
+output5.test \
+output6.test \
+output7.test \
+output8.test \
+output9.test \
+output10.test \
+overrid.test \
+parse.test \
+percent.test \
+percent2.test \
+phony.test \
+pluseq.test \
+pluseq2.test \
+pluseq3.test \
+pluseq4.test \
+pluseq5.test \
+pluseq6.test \
+pluseq7.test \
+pluseq8.test \
+pluseq9.test \
+pluseq10.test \
+postproc.test \
+ppf77.test \
+pr2.test \
+pr9.test \
+pr72.test \
+pr87.test \
+pr204.test \
+pr211.test \
+pr220.test \
+pr224.test \
+pr229.test \
+pr243.test \
+pr266.test \
+pr279.test \
+pr279-2.test \
+pr287.test \
+pr300-lib.test \
+pr300-ltlib.test \
+pr300-prog.test \
+pr307.test \
+prefix.test \
+primary.test \
+primary2.test \
+primary3.test \
+proginst.test \
+python.test \
+python2.test \
+python3.test \
+python4.test \
+python5.test \
+python6.test \
+python7.test \
+python8.test \
+python9.test \
+python10.test \
+python11.test \
+python12.test \
+recurs.test \
+recurs2.test \
+remake.test \
+remake2.test \
+remake3.test \
+remake4.test \
+remake5.test \
+regex.test \
+req.test \
+reqd.test \
+reqd2.test \
+rulepat.test \
+scripts.test \
+seenc.test \
+sinclude.test \
+srcsub.test \
+srcsub2.test \
+space.test \
+specflg.test \
+specflg2.test	\
+specflg3.test	\
+specflg6.test	\
+specflg7.test	\
+specflg8.test	\
+specflg9.test	\
+spell.test \
+spell2.test \
+spell3.test \
+spelling.test \
+spy.test \
+stamph2.test \
+stdlib.test \
+stdlib2.test \
+strip.test \
+subdir.test \
+subdir2.test \
+subdir3.test \
+subdir4.test \
+subdir5.test \
+subdir6.test \
+subdir7.test \
+subdir8.test \
+subdir9.test \
+subdirbuiltsources.test \
+subcond.test \
+subcond2.test \
+subcond3.test \
+subobj.test \
+subobj2.test \
+subobj3.test \
+subobj4.test \
+subobj5.test \
+subobj6.test \
+subobj7.test \
+subobj8.test \
+subobj9.test \
+subobjname.test \
+subpkg.test \
+subpkg2.test \
+subst.test \
+subst2.test \
+substref.test \
+substre2.test \
+substtarg.test \
+suffix.test \
+suffix2.test \
+suffix3.test \
+suffix4.test \
+suffix5.test \
+suffix6.test \
+suffix7.test \
+suffix8.test \
+suffix9.test \
+suffix10.test \
+suffix11.test \
+symlink.test \
+symlink2.test \
+symlink3.test \
+syntax.test \
+tags.test \
+tagsub.test \
+tar.test \
+tar2.test \
+tar3.test \
+target-cflags.test \
+targetclash.test \
+txinfo.test \
+txinfo2.test \
+txinfo3.test \
+txinfo4.test \
+txinfo5.test \
+txinfo6.test \
+txinfo7.test \
+txinfo8.test \
+txinfo9.test \
+txinfo10.test \
+txinfo13.test \
+txinfo16.test \
+txinfo17.test \
+txinfo18.test \
+txinfo19.test \
+txinfo20.test \
+txinfo21.test \
+txinfo22.test \
+txinfo23.test \
+txinfo24.test \
+txinfo25.test \
+txinfo26.test \
+txinfo27.test \
+txinfo28.test \
+txinfo29.test \
+txinfo30.test \
+transform.test \
+unused.test \
+vars.test \
+vars3.test \
+vartar.test \
+version.test \
+version2.test \
+version3.test \
+version4.test \
+version6.test \
+version7.test \
+vpath.test \
+vtexi.test \
+vtexi2.test \
+warnopts.test \
+werror.test \
+werror2.test \
+whoami.test \
+xsource.test \
+yacc.test \
+yacc2.test \
+yacc3.test \
+yacc4.test \
+yacc5.test \
+yacc6.test \
+yacc7.test \
+yacc8.test \
+yaccpp.test \
+yaccvpath.test
+
+EXTRA_DIST = ChangeLog-old $(TESTS)
+
+# Each test case depends on defs, aclocal, and automake.
+check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
+
+distclean-local:
+	-rm -rf testSubDir
Index: /trunk/essentials/sys-devel/automake-1.9/tests/Makefile.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/Makefile.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/Makefile.in	(revision 3089)
@@ -0,0 +1,940 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+subdir = tests
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+	$(srcdir)/aclocal.in $(srcdir)/automake.in $(srcdir)/defs.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \
+	$(top_srcdir)/m4/auxdir.m4 $(top_srcdir)/m4/init.m4 \
+	$(top_srcdir)/m4/install-sh.m4 $(top_srcdir)/m4/lead-dot.m4 \
+	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
+	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
+	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
+CONFIG_CLEAN_FILES = defs aclocal-${APIVERSION} automake-${APIVERSION}
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+APIVERSION = @APIVERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LN = @LN@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MODIFICATION_DELAY = @MODIFICATION_DELAY@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TEX = @TEX@
+VERSION = @VERSION@
+ac_ct_STRIP = @ac_ct_STRIP@
+am_AUTOCONF = @am_AUTOCONF@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgvdatadir = @pkgvdatadir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+XFAIL_TESTS = auxdir2.test cond17.test txinfo5.test
+TESTS = \
+aclibobj.test \
+aclocal.test \
+aclocal3.test \
+aclocal4.test \
+aclocal5.test \
+aclocal6.test \
+aclocal7.test \
+aclocal8.test \
+aclocal9.test \
+acloca10.test \
+acloca11.test \
+acloca12.test \
+acloca13.test \
+acloca14.test \
+acloca15.test \
+acloca16.test \
+acloca17.test \
+acloca19.test \
+acoutnoq.test \
+acoutpt.test \
+acoutpt2.test \
+acoutqnl.test \
+acoutbs.test \
+acsilent.test \
+acsubst.test \
+acsubst2.test \
+all.test \
+alloca.test \
+alloca2.test \
+alpha.test \
+alpha2.test \
+amassign.test \
+ammissing.test \
+ansi.test \
+ansi2.test \
+ansi3.test \
+ansi3b.test \
+ansi4.test \
+ansi5.test \
+ansi6.test \
+ansi7.test \
+ansi8.test \
+ansi9.test \
+ansi10.test \
+ar.test \
+ar2.test \
+asm.test \
+autohdr.test \
+autohdr2.test \
+autohdr3.test \
+autohdr4.test \
+auxdir.test \
+auxdir2.test \
+auxdir3.test \
+auxdir4.test \
+backsl.test \
+backsl2.test \
+backsl3.test \
+backsl4.test \
+badline.test \
+badprog.test \
+block.test \
+bsource.test \
+canon.test \
+canon2.test \
+canon3.test \
+canon4.test \
+canon5.test \
+ccnoco.test \
+check.test \
+check2.test \
+check3.test \
+check4.test \
+checkall.test \
+clean.test \
+clean2.test \
+colneq.test \
+colneq2.test \
+colon.test \
+colon2.test \
+colon3.test \
+colon4.test \
+colon5.test \
+colon6.test \
+colon7.test \
+comment.test \
+comment2.test \
+comment3.test \
+comment4.test \
+comment5.test \
+comment6.test \
+comment7.test \
+comment8.test \
+comment9.test \
+commen10.test \
+compile.test \
+compile_f90_c_cxx.test \
+compile_f_c_cxx.test \
+cond.test \
+cond2.test \
+cond3.test \
+cond4.test \
+cond5.test \
+cond6.test \
+cond7.test \
+cond8.test \
+cond9.test \
+cond10.test \
+cond11.test \
+cond13.test \
+cond14.test \
+cond15.test \
+cond16.test \
+cond17.test \
+cond18.test \
+cond19.test \
+cond20.test \
+cond21.test \
+cond22.test \
+cond23.test \
+cond24.test \
+cond25.test \
+cond26.test \
+cond27.test \
+cond28.test \
+cond29.test \
+cond30.test \
+cond31.test \
+cond32.test \
+cond33.test \
+cond34.test \
+cond35.test \
+cond36.test \
+cond37.test \
+cond38.test \
+condd.test \
+condhook.test \
+condinc.test \
+condinc2.test \
+condlib.test \
+condman.test \
+condman2.test \
+conf2.test \
+confdeps.test \
+conff.test \
+conff2.test \
+confh.test \
+confh4.test \
+confh5.test \
+config.test \
+confincl.test \
+conflnk.test \
+conflnk2.test \
+conflnk3.test \
+confsub.test \
+confvar.test \
+confvar2.test \
+copy.test \
+ctarget1.test \
+cxx.test \
+cxx2.test \
+cxxansi.test \
+cxxcpp.test \
+cxxlibobj.test \
+cxxlink.test \
+cxxnoc.test \
+cxxo.test \
+cygwin32.test \
+dash.test \
+defun.test \
+defun2.test \
+dejagnu.test \
+dejagnu2.test \
+dejagnu3.test \
+dejagnu4.test \
+dejagnu5.test \
+dejagnu6.test \
+dejagnu7.test \
+depacl2.test \
+depcomp.test \
+depcomp2.test \
+depcomp3.test \
+depcomp4.test \
+depcomp5.test \
+depdist.test \
+depend.test \
+depend2.test \
+depend3.test \
+depend4.test \
+destdir.test \
+dirforbid.test \
+dirlist.test \
+discover.test \
+distcom2.test \
+distcom3.test \
+distcom4.test \
+distcom5.test \
+distcom6.test \
+distcom7.test \
+distdir.test \
+distname.test \
+dollar.test \
+double.test \
+dup2.test \
+else.test \
+empty.test \
+empty2.test \
+empty3.test \
+empty4.test \
+exdir.test \
+exdir2.test \
+exeext.test \
+exeext2.test \
+exeext3.test \
+exeext4.test \
+exsource.test \
+ext.test \
+ext2.test \
+extra.test \
+extra3.test \
+extra4.test \
+extra5.test \
+extra6.test \
+extra7.test \
+f90only.test \
+flibs.test \
+fn99.test \
+fnoc.test \
+fo.test	\
+fonly.test \
+fortdep.test \
+fpinst2.test \
+fpinstall.test \
+gcj.test \
+gcj2.test \
+gcj3.test \
+gcj4.test \
+gcj5.test \
+getopt.test \
+gettext.test \
+gettext2.test \
+gnumake.test \
+gnuwarn.test \
+gnuwarn2.test \
+gnits.test \
+gnits2.test \
+gnits3.test \
+header.test \
+help.test \
+hfs.test \
+hosts.test \
+implicit.test \
+include.test \
+include2.test \
+info.test \
+insh2.test \
+install2.test \
+installdir.test \
+instsh.test \
+instsh2.test \
+instdat.test \
+instdat2.test \
+instexec.test \
+insthook.test \
+instman.test \
+instman2.test \
+instspc.test \
+interp.test \
+interp2.test \
+java.test \
+java2.test \
+java3.test \
+javaprim.test \
+javasubst.test \
+ldadd.test \
+ldflags.test \
+lex.test \
+lex2.test \
+lex3.test \
+lex4.test \
+lex5.test \
+libobj2.test \
+libobj3.test \
+libobj4.test \
+libobj5.test \
+libobj7.test \
+libobj8.test \
+libobj10.test \
+libobj11.test \
+libobj12.test \
+libobj13.test \
+libobj14.test \
+library.test \
+library2.test \
+library3.test \
+libtool.test \
+libtool2.test \
+libtool3.test \
+libtool4.test \
+libtool5.test \
+libtool6.test \
+libtool7.test \
+libtool8.test \
+license.test \
+link_c_cxx.test	\
+link_dist.test \
+link_f90_only.test \
+link_fc.test \
+link_fccxx.test \
+link_fcxx.test	\
+link_f_only.test \
+lisp2.test \
+lisp3.test \
+lisp4.test \
+lisp5.test \
+lisp6.test \
+lisp7.test \
+lisp8.test \
+listval.test \
+location.test \
+longline.test \
+longlin2.test \
+ltcond.test \
+ltcond2.test \
+ltconv.test \
+ltdeps.test \
+ltlibobjs.test \
+ltlibsrc.test \
+maintclean.test \
+make.test \
+makej.test \
+makevars.test \
+man.test \
+man2.test \
+mclean.test \
+mdate.test \
+mdate2.test \
+mdate3.test \
+mdate4.test \
+missing.test \
+missing2.test \
+missing3.test \
+mkinstall.test \
+mkinst2.test \
+mkinst3.test \
+multlib.test \
+nobase.test \
+nodef.test \
+nodef2.test \
+nodep.test \
+nodepcomp.test \
+nodist.test \
+nodist2.test \
+nodist3.test \
+nogzip.test \
+nogzip2.test \
+noinst.test \
+noinstdir.test \
+nolink.test \
+nostdinc.test \
+number.test \
+obsolete.test \
+order.test \
+outdir.test \
+output.test \
+output2.test \
+output3.test \
+output4.test \
+output5.test \
+output6.test \
+output7.test \
+output8.test \
+output9.test \
+output10.test \
+overrid.test \
+parse.test \
+percent.test \
+percent2.test \
+phony.test \
+pluseq.test \
+pluseq2.test \
+pluseq3.test \
+pluseq4.test \
+pluseq5.test \
+pluseq6.test \
+pluseq7.test \
+pluseq8.test \
+pluseq9.test \
+pluseq10.test \
+postproc.test \
+ppf77.test \
+pr2.test \
+pr9.test \
+pr72.test \
+pr87.test \
+pr204.test \
+pr211.test \
+pr220.test \
+pr224.test \
+pr229.test \
+pr243.test \
+pr266.test \
+pr279.test \
+pr279-2.test \
+pr287.test \
+pr300-lib.test \
+pr300-ltlib.test \
+pr300-prog.test \
+pr307.test \
+prefix.test \
+primary.test \
+primary2.test \
+primary3.test \
+proginst.test \
+python.test \
+python2.test \
+python3.test \
+python4.test \
+python5.test \
+python6.test \
+python7.test \
+python8.test \
+python9.test \
+python10.test \
+python11.test \
+python12.test \
+recurs.test \
+recurs2.test \
+remake.test \
+remake2.test \
+remake3.test \
+remake4.test \
+remake5.test \
+regex.test \
+req.test \
+reqd.test \
+reqd2.test \
+rulepat.test \
+scripts.test \
+seenc.test \
+sinclude.test \
+srcsub.test \
+srcsub2.test \
+space.test \
+specflg.test \
+specflg2.test	\
+specflg3.test	\
+specflg6.test	\
+specflg7.test	\
+specflg8.test	\
+specflg9.test	\
+spell.test \
+spell2.test \
+spell3.test \
+spelling.test \
+spy.test \
+stamph2.test \
+stdlib.test \
+stdlib2.test \
+strip.test \
+subdir.test \
+subdir2.test \
+subdir3.test \
+subdir4.test \
+subdir5.test \
+subdir6.test \
+subdir7.test \
+subdir8.test \
+subdir9.test \
+subdirbuiltsources.test \
+subcond.test \
+subcond2.test \
+subcond3.test \
+subobj.test \
+subobj2.test \
+subobj3.test \
+subobj4.test \
+subobj5.test \
+subobj6.test \
+subobj7.test \
+subobj8.test \
+subobj9.test \
+subobjname.test \
+subpkg.test \
+subpkg2.test \
+subst.test \
+subst2.test \
+substref.test \
+substre2.test \
+substtarg.test \
+suffix.test \
+suffix2.test \
+suffix3.test \
+suffix4.test \
+suffix5.test \
+suffix6.test \
+suffix7.test \
+suffix8.test \
+suffix9.test \
+suffix10.test \
+suffix11.test \
+symlink.test \
+symlink2.test \
+symlink3.test \
+syntax.test \
+tags.test \
+tagsub.test \
+tar.test \
+tar2.test \
+tar3.test \
+target-cflags.test \
+targetclash.test \
+txinfo.test \
+txinfo2.test \
+txinfo3.test \
+txinfo4.test \
+txinfo5.test \
+txinfo6.test \
+txinfo7.test \
+txinfo8.test \
+txinfo9.test \
+txinfo10.test \
+txinfo13.test \
+txinfo16.test \
+txinfo17.test \
+txinfo18.test \
+txinfo19.test \
+txinfo20.test \
+txinfo21.test \
+txinfo22.test \
+txinfo23.test \
+txinfo24.test \
+txinfo25.test \
+txinfo26.test \
+txinfo27.test \
+txinfo28.test \
+txinfo29.test \
+txinfo30.test \
+transform.test \
+unused.test \
+vars.test \
+vars3.test \
+vartar.test \
+version.test \
+version2.test \
+version3.test \
+version4.test \
+version6.test \
+version7.test \
+vpath.test \
+vtexi.test \
+vtexi2.test \
+warnopts.test \
+werror.test \
+werror2.test \
+whoami.test \
+xsource.test \
+yacc.test \
+yacc2.test \
+yacc3.test \
+yacc4.test \
+yacc5.test \
+yacc6.test \
+yacc7.test \
+yacc8.test \
+yaccpp.test \
+yaccvpath.test
+
+EXTRA_DIST = ChangeLog-old $(TESTS)
+
+# Each test case depends on defs, aclocal, and automake.
+check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  tests/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+defs: $(top_builddir)/config.status $(srcdir)/defs.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+aclocal-${APIVERSION}: $(top_builddir)/config.status $(srcdir)/aclocal.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+automake-${APIVERSION}: $(top_builddir)/config.status $(srcdir)/automake.in
+	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list='$(TESTS)'; \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		echo "XPASS: $$tst"; \
+	      ;; \
+	      *) \
+		echo "PASS: $$tst"; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *" $$tst "*) \
+		xfail=`expr $$xfail + 1`; \
+		echo "XFAIL: $$tst"; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		echo "FAIL: $$tst"; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      echo "SKIP: $$tst"; \
+	    fi; \
+	  done; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="All $$all tests passed"; \
+	    else \
+	      banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all tests failed"; \
+	    else \
+	      banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    skipped="($$skip tests were not run)"; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  echo "$$dashes"; \
+	  echo "$$banner"; \
+	  test -z "$$skipped" || echo "$$skipped"; \
+	  test -z "$$report" || echo "$$report"; \
+	  echo "$$dashes"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+	distclean distclean-generic distclean-local distdir dvi dvi-am \
+	html html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-info-am
+
+
+distclean-local:
+	-rm -rf testSubDir
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/README
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/README	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/README	(revision 3089)
@@ -0,0 +1,129 @@
+			    The Automake test suite
+
+
+User interface
+==============
+
+
+Running all tests
+-----------------
+
+  make check
+
+
+Interpretation
+--------------
+
+  Successes:
+    PASS  - success
+    XFAIL - expected failure
+
+  Failures:
+    FAIL  - failure
+    XPASS - unexpected success
+
+  Other:
+    SKIP  - skipped tests (third party tools not available)
+
+
+Getting details from failures
+-----------------------------
+
+  Each test is a script.  In a non-VPATH build you can run them
+  directly, they will be verbose.
+
+  Otherwise, you can invoke make as follows, just replace the list
+  of tests by those you want to check.
+
+    env VERBOSE=x TESTS='first.test second.test ...' make -e check
+
+
+Reporting failures
+------------------
+
+  Send verbose output of failing tests to <bug-automake@gnu.org>,
+  along with the usual version numbers (which Automake, which
+  Autoconf, which operating system, which make version, which shell,
+  etc.)
+
+
+
+Writing test cases
+==================
+
+
+Do
+--
+
+  If you plan to fix a bug, write the test case first.  This way you'll
+  make sure the test catches the bug, and that it succeeds once you have
+  fixed the bug.
+
+  Add a copyright/license paragraph.
+
+  Explain what the test does.
+
+  Cite the PR number (if any), and the original reporter (if any), so
+  we can find or ask for information if needed.
+
+  Use `required=...' for required tools.
+
+  Include ./defs (see other tests).
+
+  Use `set -e' to catch failures you might not have thought of.
+
+  ./defs sets a skeleton configure.in.  If possible, append to this
+  file.  In some cases you'll have to overwrite it, but this should
+  be the exception.  Note that configure.in registers Makefile.in
+  but do not output anything by default.  If you need ./configure
+  to create Makefile, append AC_OUTPUT to configure.in.
+
+  Use $ACLOCAL, $AUTOMAKE, $AUTOCONF, $AUTOUPDATE, $AUTOHEADER,
+  $PERL, $MAKE, $EGREP, and $FGREP, instead of the corresponding
+  commands.
+
+  Use $sleep when you have to make sure that some file is newer
+  than another.
+
+  Use `cat' or `grep' to display (part of) files that may be
+  interesting for debugging, so that when a user send a verbose
+  output we don't have to ask him for more details.
+
+  It's more important to make sure that a feature works, than
+  make sure that Automake's output looks correct.  It might look
+  correct and still fails to work.  In other words, prefer
+  running `make' over grepping `Makefile.in' (or do both).
+
+  If you run $AUTOMAKE or $AUTOCONF several times in the same test
+  and change `configure.in' by the meantime, do
+    rm -rf autom4te.cache
+  before the following runs.  On fast machines the new `configure.in'
+  could otherwise have the same timestamp as the old `autom4te.cache'.
+
+  Before commit: make sure the test is executable, add the tests to
+  TESTS in Makefile.am, add it to XFAIL_TESTS in addition if needed,
+  write a ChangeLog entry, send the diff to <automake-patches@gnu.org>.
+
+
+Do not
+------
+
+  Do not test an Automake error with `$AUTOMAKE && exit 1', or in three
+  years we'll discover that this test failed for some other bogus reason.
+  This happened many times.  Better use something like
+     AUTOMAKE_fails
+     grep 'expected diagnostic' stderr
+  (Note this doesn't prevent the test from failing for another
+  reason, but at least it makes sure the original error is still
+  here.)
+
+  Do not override Makefile variables using make arguments, as in
+    $MAKE ANSI2KNR=./ansi2knr U=_ all
+  this is not portable for recursive targets (targets that
+  call a sub-make may not pass `ANSI2KNR=./ansi2knr U=_' along).
+  Use the following instead.
+    ANSI2KNR=./ansi2knr U=_ $MAKE -e all
+
+  Do not send a test case without signing a copyright disclaimer.
+  See http://sources.redhat.com/automake/contribute.html or
+  ask <automake@gnu.org> for details.
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclibobj.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclibobj.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclibobj.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure AC_LIBOBJ and friends work.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+: > maude.c
+: > liver.c
+
+$ACLOCAL
+
+set -e
+
+cp configure.in X
+echo 'AC_LIBSOURCE(maude.c)' >> configure.in
+$AUTOMAKE
+
+cp X configure.in
+echo 'AC_LIBSOURCES([maude.c, liver.c])' >> configure.in
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca10.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal define macros in the same order as -I's.
+# This is the same as aclocal9.test, with the macro calls reversed.
+# (It did make a difference.)
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+MACRO2
+MACRO1
+END
+
+mkdir m4_1 m4_2
+
+cat >m4_1/somedefs.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro11 >> foo])
+AC_DEFUN([MACRO2], [echo macro21 > foo])
+EOF
+
+cat >m4_2/somedefs.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro12 >> foo])
+EOF
+
+$ACLOCAL -I m4_1 -I m4_2
+$AUTOCONF
+./configure
+grep macro11 foo
+grep macro21 foo
+
+$ACLOCAL -I m4_2 -I m4_1
+$AUTOCONF
+./configure
+grep macro12 foo
+grep macro21 foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca11.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca11.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca11.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that when two files define the same macro in the same
+# directory, the macro from the lexically greatest file is used.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+MACRO2
+MACRO1
+END
+
+mkdir m4
+
+cat >m4/version1.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro11 >> foo])
+AC_DEFUN([MACRO2], [echo macro21 > foo])
+EOF
+
+cat >m4/version2.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro12 >> foo])
+EOF
+
+$ACLOCAL -I m4
+$AUTOCONF
+./configure
+grep macro12 foo
+grep macro21 foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca12.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca12.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca12.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that when two files define the same macro in the same
+# directory, the macro from the lexically greatest file is used.
+# Same as acloca11.test, but without calling MACRO2.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+MACRO1
+END
+
+mkdir m4
+
+cat >m4/version1.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro11 >> foo])
+AC_DEFUN([MACRO2], [echo macro21 > foo])
+EOF
+
+cat >m4/version2.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro12 >> foo])
+EOF
+
+$ACLOCAL --verbose -I m4
+$AUTOCONF
+./configure
+grep macro11 foo && exit 1
+grep macro21 foo && exit 1
+grep macro12 foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca13.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca13.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca13.test	(revision 3089)
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure changes to m4_included files also cause aclocal.m4 to change.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+m4_include([somefile.m4])
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'EOF'
+check-local:
+	test -f "$(srcdir)/somefile.m4"
+	test -f "$(srcdir)/m4/version1.m4"
+	test -f "$(srcdir)/m4/otherfile.m4"
+EOF
+
+mkdir m4
+
+echo MACRO1 >somefile.m4
+echo 'AC_PREREQ([2.58])' >m4/otherfile.m4
+
+cat >m4/version1.m4 <<EOF
+AC_DEFUN([MACRO1])
+AC_DEFUN([MACRO2])
+m4_sinclude(m4/otherfile.m4)
+EOF
+
+cat >m4/version2.m4 <<EOF
+AC_DEFUN([MACRO1])
+EOF
+
+$ACLOCAL -I m4
+grep version2 aclocal.m4
+grep version1 aclocal.m4 && exit 1
+
+$sleep
+echo MACRO2 >somefile.m4
+
+$ACLOCAL -I m4
+grep version2 aclocal.m4 && exit 1
+grep version1 aclocal.m4
+
+$sleep
+# aclocal.m4 should change if we touch otherfile.m4
+touch m4/otherfile.m4
+$sleep
+$ACLOCAL -I m4
+test `ls -1t aclocal.m4 m4/otherfile.m4 | sed 1q` = aclocal.m4
+
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca14.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca14.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca14.test	(revision 3089)
@@ -0,0 +1,116 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure m4_included files are also scanned for definitions.
+# Report from Phil Edwards.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+echo 'm4_include([a.m4])' > acinclude.m4
+echo 'm4_include([b.m4])' > a.m4
+cat >b.m4 <<EOF
+m4_include([c.m4])
+AC_DEFUN([AM_PROG_LIBTOOL],
+[AC_REQUIRE([SOMETHING])dnl
+AC_REQUIRE([SOMETHING_ELSE])dnl
+])
+
+AC_DEFUN([SOMETHING])
+EOF
+echo 'm4_include([d.m4])' > c.m4
+echo 'AC_DEFUN([SOMETHING_ELSE])' >d.m4
+
+mkdir defs
+echo 'AC_DEFUN([SOMETHING_ELSE])' >defs/e.m4
+echo 'AC_DEFUN([ANOTHER_MACRO])' >defs/f.m4
+
+cat >>Makefile.am<<\EOF
+ACLOCAL_AMFLAGS = -I defs
+testdist1: distdir
+	test -f $(distdir)/acinclude.m4
+	test -f $(distdir)/a.m4
+	test -f $(distdir)/b.m4
+	test -f $(distdir)/c.m4
+	test -f $(distdir)/d.m4
+	test ! -d $(distdir)/defs
+testdist2: distdir
+	test -f $(distdir)/acinclude.m4
+	test -f $(distdir)/a.m4
+	test -f $(distdir)/b.m4
+	test -f $(distdir)/c.m4
+	test -f $(distdir)/d.m4
+	test ! -f $(distdir)/defs/e.m4
+	test -f $(distdir)/defs/f.m4
+EOF
+
+$ACLOCAL -I defs
+
+$FGREP acinclude.m4 aclocal.m4
+# None of the following macro should be included.  acinclude.m4
+# includes the first four, and the last two are not needed at all.
+$FGREP a.m4 aclocal.m4 && exit 1
+$FGREP b.m4 aclocal.m4 && exit 1
+$FGREP c.m4 aclocal.m4 && exit 1
+$FGREP d.m4 aclocal.m4 && exit 1
+$FGREP defs/e.m4 aclocal.m4 && exit 1
+$FGREP defs/f.m4 aclocal.m4 && exit 1
+
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE testdist1
+
+cp aclocal.m4 stamp
+$sleep
+
+cat >>c.m4 <<\EOF
+AC_DEFUN([FOO], [ANOTHER_MACRO])
+EOF
+$MAKE
+# Because c.m4 has changed, aclocal.m4 must have been rebuilt.
+test `ls -1t aclocal.m4 stamp | sed 1q` = aclocal.m4
+# However, since FOO is not used, f.m4 should not be included
+# and the contents of aclocal.m4 should remain the same
+cmp aclocal.m4 stamp
+
+
+# If FOO where to be used, that would be another story, of course.
+cat >>configure.in <<EOF
+FOO
+EOF
+cp aclocal.m4 stamp
+$sleep
+$MAKE
+grep 'defs/f.m4' aclocal.m4
+$MAKE testdist2
+
+# Make sure aclocal diagnose missing included files with correct `file:line:'.
+rm -f b.m4
+$ACLOCAL 2>stderr && exit 1
+grep 'a.m4:1:.*b.m4.*does not exist' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca15.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca15.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca15.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal scans configure.in for macro definitions.
+# PR/319.
+
+. ./defs || exit 1
+
+set -e
+
+# Start macros with AM_ because that causes aclocal to complain if it
+# cannot find them.
+
+cat >> configure.in << 'END'
+m4_include([somedef.m4])
+AC_DEFUN([AM_SOME_MACRO])
+AC_DEFUN([AM_SOME_OTHER_MACRO])
+AM_SOME_MACRO
+AM_SOME_OTHER_MACRO
+AM_MORE_MACRO
+END
+
+mkdir m4
+echo 'AC_DEFUN([AM_SOME_MACRO])' > m4/some.m4
+echo 'AC_DEFUN([AM_SOME_DEF])' > somedef.m4
+echo 'AC_DEFUN([AM_MORE_MACRO], [AC_REQUIRE([AM_SOME_DEF])])' > m4/more.m4
+
+$ACLOCAL -I m4
+$FGREP AM_SOME_MACRO aclocal.m4 && exit 1
+$FGREP AM_MORE_MACRO aclocal.m4 && exit 1
+$FGREP 'm4_include([m4/more.m4])' aclocal.m4
+test 1 = `grep m4_include aclocal.m4 | wc -l`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca16.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca16.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca16.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal does not include definitions that are not actually
+# evaluated.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_SUBST([POM])
+END
+
+mkdir m4
+cat >m4/some.m4 <<'EOF'
+AC_DEFUN([AM_SOME_MACRO],
+[AC_DEFUN([AC_SUBST], [GREPME])])
+EOF
+
+$ACLOCAL -I m4
+grep m4/some.m4 aclocal.m4 && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca17.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca17.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca17.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal report unused required macros.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+SOME_DEFS
+END
+
+mkdir m4
+cat >m4/somedefs.m4 <<EOF
+AC_DEFUN([SOME_DEFS], [
+  AC_REQUIRE([UNDEFINED_MACRO])
+])
+EOF
+
+# FIXME: We want autom4te's 'undefined required macro' warning to be fatal,
+# but have no means to say so to aclocal.  We use WARNINGS=error instead.
+
+WARNINGS=error $ACLOCAL -I m4 2>stderr && exit 1
+cat stderr
+grep 'configure.in:4:.*UNDEFINED_MACRO' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acloca19.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acloca19.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acloca19.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal does not fail on configure.ac inclusions that do
+# more than just variable definitions.
+# Report from Peter Breitenlohner (PR/450).
+
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<'END'
+AC_INIT([acloca19], [1.0])
+m4_include([aconfig.ac])
+FOO
+AC_OUTPUT
+END
+
+cat >aconfig.ac <<'END'
+AM_INIT_AUTOMAKE
+AC_DEFUN([FOO], [echo GREPME])
+sinclude([bconfig.ac])
+END
+
+cat >bconfig.ac <<'END'
+AC_ARG_WITH([grepme], [string])
+END
+
+$ACLOCAL
+$AUTOCONF
+./configure >stdout
+cat stdout
+grep GREPME stdout
+grep 'aconfig\.ac' aclocal.m4 && exit 1
+grep 'bconfig\.ac' aclocal.m4 && exit 1
+grep with-grepme configure
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal.in	(revision 3089)
@@ -0,0 +1,18 @@
+#!/bin/sh
+# @configure_input@
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+fi
+
+perllibdir="@abs_top_builddir@/lib@PATH_SEPARATOR@@abs_top_srcdir@/lib"
+export perllibdir
+# Most of the files are in $srcdir/../m4.  However amversion.m4 is
+# generated in ../m4, so we include that directory in the search path too.
+exec @abs_top_builddir@/aclocal \
+     -I @abs_top_builddir@/m4 --acdir=@abs_top_srcdir@/m4 ${1+"$@"}
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal.test	(revision 3089)
@@ -0,0 +1,26 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that aclocal --output works.  Report from
+# Alexandre Oliva.
+. ./defs || exit 1
+
+$ACLOCAL --output=fred || exit 1
+test -f fred
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal3.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1998, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure include of include detects missing macros
+. ./defs || exit 1
+
+echo GNOME_X_CHECKS >> configure.in
+
+mkdir macros
+
+cat > macros/gnome.m4 << 'END'
+AC_DEFUN([GNOME_X_CHECKS], [
+	AM_PATH_GTK(0.99.5,,AC_MSG_ERROR(GTK not installed, or gtk-config not in path))
+])
+END
+
+$ACLOCAL -I macros 2>stderr
+cat stderr
+grep 'macros/gnome.m4:2:.*AM_PATH_GTK.*not found' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal4.test	(revision 3089)
@@ -0,0 +1,79 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure dependencies on aclocal.m4 are set correctly.
+# Report from Jim Meyering.
+
+# We need GNU make for the `rebuild rules' to be triggered.
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_RANLIB
+AC_PROG_CC
+MY_MACRO
+AC_CONFIG_FILES([lib/Makefile])
+AC_OUTPUT
+EOF
+
+mkdir m4
+cat >m4/mymacro.m4 <<EOF
+AC_DEFUN([MY_MACRO], [])
+EOF
+
+mkdir lib
+: > lib/foo.c
+: > lib/bar.c
+cat >lib/Makefile.am <<'EOF'
+noinst_LIBRARIES = liberi.a
+liberi_a_SOURCES = bar.c
+liberi_a_LIBADD = $(LIBOBJS)
+EOF
+
+cat >Makefile.am <<'EOF'
+SUBDIRS = lib
+EXTRA_DIST = m4/mymacro.m4
+ACLOCAL_AMFLAGS = -I m4
+check-foo: distdir
+	test -f $(distdir)/lib/foo.c
+	test -f $(distdir)/lib/bar.c
+
+check-not-foo: distdir
+	test ! -f $(distdir)/lib/foo.c
+	test -f $(distdir)/lib/bar.c
+EOF
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE check-not-foo
+
+# Update one of the macros.  This should cause ./configure, Makefile.in,
+# Makefile, lib/Makefile.in, and lib/Makfile to be updated.  This assumes
+# GNU make.
+
+cat >m4/mymacro.m4 <<'EOF'
+AC_DEFUN([MY_MACRO], [AC_LIBOBJ([foo])])
+EOF
+
+$MAKE check-foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal5.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that aclocal.m4's dependencies are honored
+# in sub-directories.
+
+# This test assumes that the `make' utility is able to start
+# over and reload Makefiles which have been remade (a non-POSIX feature).
+required='GNUmake'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_TEST([GREPME])
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+ACLOCAL_AMFLAGS = -I m4
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+mkdir m4
+echo 'AC_DEFUN([AM_TEST], [echo $@])' > m4/moredefs.m4
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+./configure
+$MAKE
+
+# Update an aclocal.m4 dependency, then make sure all Makefiles are
+# updated, even from a sub-directory.  Check that AU_ALIAS is
+# recognized. Change the definition of AM_TEST to check that its new
+# definition is used.
+echo 'AU_ALIAS([AM_TEST], [AC_SUBST])' > m4/moredefs.m4
+cd sub
+$MAKE
+cd ..
+grep GREPME Makefile
+grep GREPME sub/Makefile
+
+# Make sure configure dependencies are distributed.
+$MAKE distdir
+test -f aclocal5-1.0/m4/moredefs.m4
+
+# Change the definition of AM_TEST to check that its new definition is
+# used.  Check that AC_DEFUN_ONCE is caught.
+echo 'AC_DEFUN_ONCE([AM_TEST], [AC_SUBST(__$1__)])' > m4/moredefs.m4
+$MAKE
+grep 'm4/moredefs\.m4' aclocal.m4
+grep '__GREPME__' configure
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal6.test	(revision 3089)
@@ -0,0 +1,95 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal.m4 is rebuilt whenever a configure
+# dependency changes.  Test for acinclude.m4 and VPATH too.
+
+required='GNUmake'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+SOME_DEFS
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+ACLOCAL_AMFLAGS = -I m4
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+mkdir m4
+echo 'AC_DEFUN([SOME_DEFS], [])' > m4/somedefs.m4
+echo 'AC_DEFUN([MORE_DEFS], [AC_SUBST([GREPME])])' > m4/moredefs.m4
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+
+# Users can disable autom4te.cache.
+if test -d autom4te.cache; then
+  test_cache='test -d'
+else
+  test_cache=:
+fi
+
+mkdir build
+cd build
+
+../configure
+$MAKE
+
+# Update an aclocal.m4 dependency, then make sure all Makefiles
+# are updated, even from a sub-directory.
+echo 'AC_DEFUN([SOME_DEFS], [MORE_DEFS])' > ../m4/somedefs.m4
+# Because aclocal will run again, it should also pick up acinclude.m4.
+echo 'AC_SUBST([METOO])' > ../acinclude.m4
+
+cd sub
+$MAKE
+cd ..
+grep GREPME Makefile
+grep GREPME sub/Makefile
+grep GREPME sub/Makefile
+grep METOO Makefile
+grep METOO sub/Makefile
+grep METOO sub/Makefile
+
+# Make sure configure dependencies are distributed.
+$MAKE distdir
+test -f aclocal6-1.0/m4/moredefs.m4
+test -f aclocal6-1.0/m4/somedefs.m4
+test -f aclocal6-1.0/acinclude.m4
+
+# Make sure maintainer-clean works in VPATH builds.
+# (This is unrelated to the rest of this test.)
+$MAKE clean
+$test_cache ../autom4te.cache
+test -f Makefile
+test -f sub/Makefile
+$MAKE maintainer-clean
+test ! -d ../autom4te.cache
+test ! -f Makefile
+test ! -f sub/Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal7.test	(revision 3089)
@@ -0,0 +1,119 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal does not overwrite aclocal.m4 needlessly.
+# Also make sure automake --no-force does not overwrite Makefile.in needlessly.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+SOME_DEFS
+AC_CONFIG_FILES([sub/Makefile])
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+cat >> Makefile.am << 'END'
+SUBDIRS = sub
+include fragment.inc
+END
+
+: > fragment.inc
+
+mkdir m4
+echo 'AC_DEFUN([SOME_DEFS], [])' > m4/somedefs.m4
+
+$sleep
+
+$ACLOCAL -I m4
+
+# Automake will take aclocal.m4 to be newer if it has the same timestamp
+# as Makefile.in.  Avoid the confusing by sleeping.
+$sleep
+
+$AUTOMAKE --no-force
+
+$sleep
+
+touch foo
+$ACLOCAL -I m4
+$AUTOMAKE --no-force
+
+# aclocal.m4 and Makefile.in should not have been updated, so `foo'
+# should be younger
+test `ls -1t aclocal.m4 Makefile.in sub/Makefile.in foo | sed 1q` = foo
+
+$sleep
+$ACLOCAL -I m4 --force
+test `ls -1t aclocal.m4 foo | sed 1q` = aclocal.m4
+# We still use --no-force for automake, but since aclocal.m4 has
+# changed all Makefile.ins should be updated.
+$sleep
+$AUTOMAKE --no-force
+test `ls -1t Makefile.in foo | sed 1q` = Makefile.in
+test `ls -1t sub/Makefile.in foo | sed 1q` = sub/Makefile.in
+
+touch m4/somedefs.m4
+$sleep
+touch foo
+$sleep
+$ACLOCAL -I m4
+$sleep
+$AUTOMAKE --no-force
+
+# aclocal.m4 should have been updated, although its contents haven't changed.
+test `ls -1t aclocal.m4 foo | sed 1q` = aclocal.m4
+test `ls -1t Makefile.in foo | sed 1q` = Makefile.in
+test `ls -1t sub/Makefile.in foo | sed 1q` = sub/Makefile.in
+
+touch fragment.inc
+$sleep
+touch foo
+$ACLOCAL -I m4
+$AUTOMAKE --no-force
+# Only ./Makefile.in should change.
+test `ls -1t aclocal.m4 foo | sed 1q` = foo
+test `ls -1t Makefile.in foo | sed 1q` = Makefile.in
+test `ls -1t sub/Makefile.in foo | sed 1q` = foo
+
+grep README Makefile.in && exit 1
+
+: > README
+$sleep
+touch foo
+$AUTOMAKE --no-force
+# Even if no dependency change, the content changed.
+test `ls -1t Makefile.in foo | sed 1q` = Makefile.in
+test `ls -1t sub/Makefile.in foo | sed 1q` = foo
+
+grep README Makefile.in
+
+: > sub/Makefile.in
+$sleep
+touch foo
+$ACLOCAL -I m4
+$AUTOMAKE --no-force
+# Only sub/Makefile.in should change.
+test `ls -1t aclocal.m4 foo | sed 1q` = foo
+test `ls -1t Makefile.in foo | sed 1q` = foo
+test `ls -1t sub/Makefile.in foo | sed 1q` = sub/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal8.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal does not require unused macros.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+SOME_DEFS
+END
+
+mkdir m4
+cat >m4/somedefs.m4 <<EOF
+AC_DEFUN([SOME_DEFS], [
+  m4_if([a], [a], [MACRO1], [MACRO2])
+])
+EOF
+
+echo 'AC_DEFUN([MACRO1],)' >m4/macro1.m4
+echo 'AC_DEFUN([MACRO2], [AC_REQUIRE([AM_UNUSED_MACRO])])' >m4/macro2.m4
+
+$ACLOCAL -I m4 >output 2>&1
+cat output
+test 0 = `wc -l <output`
+grep macro1.m4 aclocal.m4
+grep macro2.m4 aclocal.m4 && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/aclocal9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/aclocal9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/aclocal9.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal define macros in the same order as -I's.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+MACRO1
+MACRO2
+END
+
+mkdir m4_1 m4_2
+
+cat >m4_1/somedefs.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro11 > foo])
+AC_DEFUN([MACRO2], [echo macro21 >> foo])
+EOF
+
+cat >m4_2/somedefs.m4 <<EOF
+AC_DEFUN([MACRO1], [echo macro12 > foo])
+EOF
+
+$ACLOCAL -I m4_1 -I m4_2
+$AUTOCONF
+./configure
+grep macro11 foo
+grep macro21 foo
+
+$ACLOCAL -I m4_2 -I m4_1
+$AUTOCONF
+./configure
+grep macro12 foo
+grep macro21 foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acoutbs.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acoutbs.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acoutbs.test	(revision 3089)
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by François Pinard.
+# If \ is in AC_OUTPUT, automake barfs.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile \
+zot)
+END
+
+: > Makefile.am
+: > zot.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acoutnoq.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acoutnoq.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acoutnoq.test	(revision 3089)
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Jerome Santini.
+# If I put this line in my configure.in:
+# AC_OUTPUT(Makefile src/Makefile tests/Makefile, echo timestamp > stamp-h)dnl
+# automake is not happy:
+# [ ... ]
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile, [true])
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acoutpt.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acoutpt.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acoutpt.test	(revision 3089)
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug when AC_OUTPUT has 2 args on the same line, eg:
+#   AC_OUTPUT([Makefile automake tests/Makefile],[chmod +x automake])
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT([Makefile], [true])
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acoutpt2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acoutpt2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acoutpt2.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Eric Magnien.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT([subdir/Makefile subdir/foo Makefile foo], [true])
+END
+
+mkdir subdir
+
+: > Makefile.am
+: > subdir/Makefile.am
+: > foo.in
+: > subdir/foo.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+count=`$FGREP foo.in Makefile.in | wc -l`
+test $count -eq 2 || exit 1
+
+# This ought to work as well.
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing --force-missing
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acoutqnl.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acoutqnl.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acoutqnl.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by François Pinard.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT([Makefile],
+[echo zardoz has spoken])
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE
+
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acsilent.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acsilent.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acsilent.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure there are no spurious acinclude warnings.
+
+. ./defs || exit 1
+
+cat >configure.in <<EOF
+AC_INIT
+AM_INIT_GUILE_MODULE
+EOF
+
+cat > acinclude.m4 << 'END'
+AC_DEFUN([AM_INIT_GUILE_MODULE],[
+. $srcdir/../GUILE-VERSION
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_CONFIG_AUX_DIR(..)
+module=[$1]
+AC_SUBST(module)])
+END
+
+$ACLOCAL > output 2>&1 || exit 1
+test -z "`cat output`"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acsubst.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acsubst.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acsubst.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_SUBST([FOOBAR_LDFLAGS],[blablabla])
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = mumble
+mumble_SOURCES = a.c b.c d.h
+mumble_LDFLAGS = $(FOOBAR_LDFLAGS)
+END
+
+$ACLOCAL
+$AUTOMAKE -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/acsubst2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/acsubst2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/acsubst2.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_SUBST([FOOBAR_CFLAGS],[blablabla])
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = mumble
+mumble_SOURCES = a.c b.c d.h
+mumble_CFLAGS = $(FOOBAR_CFLAGS)
+END
+
+$ACLOCAL
+$AUTOMAKE -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/all.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/all.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/all.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure all-local and other -local targets work correctly.
+
+. ./defs || exit 1
+
+for target in all install-exec install-data uninstall; do
+   echo "Doing $target"
+   echo "${target}-local:" > Makefile.am
+
+   $ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+   $FGREP "${target}-local ${target}-local" Makefile.in && exit 1
+done
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/alloca.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/alloca.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/alloca.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we complain if @ALLOCA@ is used without being set in configure.in
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @ALLOCA@
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:1:.*AC_PROG_RANLIB' stderr
+grep 'Makefile.am:3:.*AC_FUNC_ALLOCA' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/alloca2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/alloca2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/alloca2.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we complain if @LTALLOCA@ is used without being set in configure.in
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+noinst_LTLIBRARIES = libtu.la
+libtu_la_SOURCES =
+libtu_la_LIBADD = @LTALLOCA@
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:1:.*AC_PROG_LIBTOOL' stderr
+grep 'Makefile.am:3:.*ALLOCA' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/alpha.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/alpha.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/alpha.test	(revision 3089)
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure README-alpha is distributed when appropriate.  Report from
+# Jim Meyering.
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([alpha], [1.0a])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = gnits
+SUBDIRS = sub
+check-local: distdir
+	test -f $(distdir)/README-alpha
+	test -f $(distdir)/sub/README
+	test ! -f $(distdir)/sub/README-alpha
+	: > works
+END
+
+mkdir sub
+cat > sub/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = gnits
+END
+
+: > README-alpha
+: > sub/README-alpha
+: > sub/README
+
+# Gnits stuff.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+# make distdir should fail because NEWS does not mention 1.0a
+$MAKE check 2>stderr && exit 1
+cat stderr
+grep 'NEWS not updated' stderr
+test ! -f works
+
+echo 'alpha 1.0a released' > NEWS
+$MAKE check
+test -f works
Index: /trunk/essentials/sys-devel/automake-1.9/tests/alpha2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/alpha2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/alpha2.test	(revision 3089)
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another check for README-alpha support.  This time it is requested
+# from configure.in.  Report from Akim Demaille.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([alpha], [1.0b])
+AM_INIT_AUTOMAKE([readme-alpha])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+check-local: distdir
+	test -f $(distdir)/README-alpha
+	test -f $(distdir)/sub/README
+	test ! -f $(distdir)/sub/README-alpha
+	: > works
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+: > README-alpha
+: > sub/README-alpha
+: > sub/README
+
+# Gnits stuff.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE check
+test -f works
Index: /trunk/essentials/sys-devel/automake-1.9/tests/amassign.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/amassign.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/amassign.test	(revision 3089)
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to see if AM_ name can be assigned to in configure.in.
+# Report from Steve Robbins.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_CFLAGS=foo
+AC_SUBST(AM_BAR)
+AC_SUBST([AM_ZARDOZ])
+END
+
+$ACLOCAL
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ammissing.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ammissing.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ammissing.test	(revision 3089)
@@ -0,0 +1,29 @@
+#! /bin/sh
+# Copyright (C) 1997, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to see if aclocal correctly reports missing AM_ macro.
+
+. ./defs || exit 1
+
+echo AM_ZARDOZ >> configure.in
+
+$ACLOCAL 2>stderr
+cat stderr
+grep 'configure.in:.*AM_ZARDOZ.*not found' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug where ansi2knr.c is not included in distribution.
+# From François Pinard.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+magic:
+	@echo $(DISTFILES)
+END
+
+cat >> configure.in << 'END'
+AM_C_PROTOTYPES
+END
+
+: > ansi2knr.c
+: > ansi2knr.1
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
+$MAKE -s -f Makefile.sed SHELL=$SHELL magic | grep 'ansi2knr\.c'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi10.test	(revision 3089)
@@ -0,0 +1,77 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure ansi2knr works with $(LIBOBJS).
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_PROG_RANLIB
+AC_LIBOBJ([hello])
+AC_CONFIG_FILES([dir/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = dir
+END
+
+mkdir dir
+
+cat > dir/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+noinst_LIBRARIES = liblib.a
+liblib_a_SOURCES =
+liblib_a_LIBADD = $(LIBOBJS)
+END
+
+cat > dir/hello.c << 'END'
+#include <stdio.h>
+
+int
+main (int argc, char **argv)
+{
+   printf ("hello\n");
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure it's ok to set ac_cv_prog_cc_stdc as we do.
+grep ac_cv_prog_cc_stdc configure
+
+./configure ac_cv_prog_cc_stdc=no
+$MAKE
+test -f dir/hello_.c
+$MAKE distclean
+test ! -f dir/hello_.c
+
+# Also run without forcing ansi2knr, so we make sure the
+# rules work with ANSI compilers.
+./configure
+$MAKE
+test ! -f dir/hello_.c
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi2.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure ansi2knr built at the right time.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+bin_PROGRAMS = joe
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_C_PROTOTYPES
+END
+
+: > ansi2knr.c
+: > ansi2knr.1
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^all[-a-z]*:.*ANSI2KNR' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi3.test	(revision 3089)
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Actual test of ansi2knr functionality.  Relies on existence
+# of working gcc.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT(hello.c)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr no-dependencies
+bin_PROGRAMS = hello
+END
+
+cat > hello.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+   printf ("yeah, yeah\n");
+   return 0;
+}
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+# We use gcc and not gcc -traditional as the latter fails on some
+# Linux boxes (Red Hat 5.1 in particular).
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a 2>stderr
+cat stderr
+grep 'Makefile.am:1:.*ansi2knr\.c' stderr
+CC='gcc' ./configure
+ANSI2KNR=./ansi2knr U=_ $MAKE -e
+./hello
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi3b.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi3b.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi3b.test	(revision 3089)
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Actual test of ansi2knr functionality.  Relies on existence
+# of working gcc.  Same as ansi3.test, but with AUTOMAKE_OPTIONS
+# defined in configure.in.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([hello], [0.24])
+AM_INIT_AUTOMAKE([ansi2knr no-dependencies])
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+echo 'bin_PROGRAMS = hello' > Makefile.am
+
+cat > hello.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+   printf ("yeah, yeah\n");
+   return 0;
+}
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+# We use gcc and not gcc -traditional as the latter fails on some
+# Linux boxes (Red Hat 5.1 in particular).
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a 2>stderr
+cat stderr
+grep 'configure.in:2:.*ansi2knr\.1' stderr
+CC='gcc' ./configure
+ANSI2KNR=./ansi2knr U=_ $MAKE -e
+./hello
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi4.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Quoting regression.  Test from Thomas Gagne.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_EXEEXT
+AC_OBJEXT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+bin_PROGRAMS = hello
+hello_SOURCES = hello.c
+END
+
+: > ansi2knr.1
+: > ansi2knr.c
+: > hello.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP 'ansi2knr.$(' Makefile.in || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi5.test	(revision 3089)
@@ -0,0 +1,95 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for ansi2knr in another directory.
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(one/joe.c)
+AM_INIT_AUTOMAKE(liver, 0.23)
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_OUTPUT(Makefile one/Makefile two/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = one two
+END
+
+mkdir one two
+
+cat > one/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+bin_PROGRAMS = joe
+END
+
+cat > two/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ../one/ansi2knr
+bin_PROGRAMS = maude
+END
+
+cat > one/joe.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+   printf ("joe\n");
+   return 0;
+}
+END
+
+cat > two/maude.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+   printf ("maude\n");
+   return 0;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+CC=gcc ./configure
+
+# This is ugly!  If we set U at make time then the "wrong" file gets
+# included.
+find . -name '*.Po' -print \
+| while read file; do
+    base="`echo $file | sed -e 's/\.Po//'`"
+    mv $file ${base}_.Po
+done
+
+# So is this!  If we set ANSI2KNR on the make command line then the
+# wrong value is passed to two's Makefile.
+mv one/Makefile one/Makefile.old
+sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile
+
+U=_ $MAKE -e
+./one/joe
+./two/maude
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi6.test	(revision 3089)
@@ -0,0 +1,90 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check ansi2knr on a source file in subdirectory.
+# From Kevin Ryde.
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(ansi6, 1.0)
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_EXEEXT
+AC_OBJEXT
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+bin_PROGRAMS = hello
+hello_SOURCES = hello.c sub/dir.c
+END
+
+cat > hello.c << 'END'
+#include <stdio.h>
+
+extern int foo ();
+
+int
+main (int argc, char **argv)
+{
+   printf ("%d\n", foo ());
+}
+END
+
+mkdir sub
+
+cat > sub/dir.c << 'END'
+int
+foo ()
+{
+   return 23;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure it's ok to set ac_cv_prog_cc_stdc as we do.
+grep ac_cv_prog_cc_stdc configure
+
+./configure ac_cv_prog_cc_stdc=no
+$MAKE
+
+test -f hello_.c
+test -f dir_.c			# Must be in current directory.
+test ! -f sub/dir_.c
+$MAKE distclean
+test ! -f hello_.c
+test ! -f dir_.c
+
+# Also run without forcing ansi2knr, so we make sure the
+# rules work with ANSI compilers.
+# Report from Andreas Schwab.
+
+./configure
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi7.test	(revision 3089)
@@ -0,0 +1,92 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check ansi2knr on a source file in subdirectory.
+# ansi6.test is the same test without subdir-objects.
+# From Kevin Ryde.
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(ansi6, 1.0)
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AM_PROG_CC_C_O
+AM_C_PROTOTYPES
+AC_EXEEXT
+AC_OBJEXT
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr subdir-objects
+bin_PROGRAMS = hello
+hello_SOURCES = hello.c sub/dir.c
+END
+
+cat > hello.c << 'END'
+#include <stdio.h>
+
+extern int foo ();
+
+int
+main (int argc, char **argv)
+{
+   printf ("%d\n", foo ());
+}
+END
+
+mkdir sub
+
+cat > sub/dir.c << 'END'
+int
+foo ()
+{
+   return 23;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure it's ok to set ac_cv_prog_cc_stdc as we do.
+grep ac_cv_prog_cc_stdc configure
+
+./configure ac_cv_prog_cc_stdc=no
+$MAKE
+
+test -f hello_.c
+test -f sub/dir_.c		# Must be in sub directory, unlike ansi6.test.
+test ! -f dir_.c
+$MAKE distclean
+test ! -f hello_.c
+test ! -f sub/dir_.c
+
+# Also run without forcing ansi2knr, so we make sure the
+# rules work with ANSI compilers.
+# Report from Andreas Schwab.
+
+./configure
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi8.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that AM_C_PROTOTYPES is required by ansi2knr
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+bin_PROGRAMS = hello
+END
+
+$ACLOCAL
+AUTOMAKE_fails -a
+grep AM_C_PROTOTYPES stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ansi9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ansi9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ansi9.test	(revision 3089)
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that subdir sources, and file compiled using per-target flags
+# can still be deansified.
+# Report from Paul D. Smith.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AM_PROG_CC_C_O
+AM_C_PROTOTYPES
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr subdir-objects
+noinst_PROGRAMS = loadavg sub/sub
+loadavg_SOURCES = loadavg.c
+loadavg_CFLAGS = -DTEST
+sub_sub_SOURCES = sub/sub.c
+# Force ansi2knr's use, regardless of the compiler.
+U=_
+ANSI2KNR=./ansi2knr
+END
+
+cat > loadavg.c << 'END'
+int
+main ()
+{
+   return 0;
+}
+END
+
+mkdir sub
+cp loadavg.c sub/sub.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing -Wno-override
+
+$FGREP 'loadavg-loadavg$U.o: loadavg$U.c' Makefile.in
+# The following rule should not exists, because the
+# default .o.c: inference rule is enough.
+$FGREP 'sub/sub$U.o: sub/sub$U.c' Makefile.in && exit 1
+./configure
+$MAKE sub/sub_.c
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ar.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ar.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ar.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that AR, ARFLAGS, and RANLIB can be substituted from configure.in.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_SUBST([AR], ['echo it works'])
+AC_SUBST([ARFLAGS], ['>'])
+AC_SUBST([RANLIB], ['echo really works >>'])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LIBRARIES = libfoo.a
+libfoo_a_SOURCES =
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
+grep 'it works' libfoo.a
+grep 'really works' libfoo.a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ar2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ar2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ar2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure AR and ARFLAGS are defined for EXTRA_LIBRARIES.
+# Report from Kevin Ryde.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+EXTRA_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c
+END
+
+$ACLOCAL
+$AUTOMAKE
+grep 'ARFLAGS =' Makefile.in
+grep 'AR =' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/asm.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/asm.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/asm.test	(revision 3089)
@@ -0,0 +1,119 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of basic assembly functionality
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = maude
+maude_SOURCES = maude.s
+END
+
+: > maude.s
+
+# Should fail because we need CC and CCAS.
+echo 1
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_SUBST(CCASFLAGS)
+AC_OUTPUT(Makefile)
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AM_PROG_AS stderr
+
+# On fast machines the autom4te.cache created during the above run of
+# $AUTOMAKE is likely to have the same time stamp as the configure.in
+# created below; thus causing traces for the old configure.in to be
+# used.  We could do `$sleep', but it's faster to erase the
+# directory.  (Erase autom4te*.cache, not autom4te.cache, because some
+# bogus installations of Autoconf use a versioned cache.)
+rm -rf autom4te*.cache
+
+# We still need CCAS.
+echo 2
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_SUBST(CCASFLAGS)
+AC_OUTPUT(Makefile)
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep CCAS stderr
+grep AM_PROG_AS stderr
+
+rm -rf autom4te*.cache
+
+# We need CCASFLAGS.
+echo 3
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+CCAS='$(CC)'
+AC_SUBST(CCAS)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep CCASFLAGS stderr
+grep AM_PROG_AS stderr
+
+rm -rf autom4te*.cache
+
+# We have every needed, expect a success.
+echo 4
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+CCAS='$(CC)'
+AC_SUBST(CCAS)
+AC_PROG_CC
+AC_SUBST(CCASFLAGS)
+AC_OUTPUT(Makefile)
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+rm -rf autom4te*.cache
+
+# We have every needed, expect a success.
+echo 5
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_PROG_AS
+AC_OUTPUT(Makefile)
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/autohdr.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/autohdr.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/autohdr.test	(revision 3089)
@@ -0,0 +1,36 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that autoheaders works, despite our AC_CONFIG_HEADERS hack.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AC_CONFIG_HEADERS([thisfile.h])
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOHEADER
+
+test -f thisfile.h.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/autohdr2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/autohdr2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/autohdr2.test	(revision 3089)
@@ -0,0 +1,36 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that autoheaders works, despite our AC_CONFIG_HEADERS hack.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AM_CONFIG_HEADER([thisfile.h])
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOHEADER
+
+test -f thisfile.h.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/autohdr3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/autohdr3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/autohdr3.test	(revision 3089)
@@ -0,0 +1,52 @@
+#!/bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check rebuild rules for autoheader.
+
+required=GNUmake
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+m4_include([foo.m4])
+AC_CONFIG_HEADERS([config.h:config.hin])
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+: > foo.m4
+
+$ACLOCAL
+$AUTOCONF
+$AUTOHEADER
+$AUTOMAKE
+
+./configure
+$MAKE
+
+$sleep
+echo 'AC_DEFINE([GREPME], 1, [Doc for GREPME])' > foo.m4
+
+$MAKE
+grep GREPME config.hin
+grep GREPME config.h
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/autohdr4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/autohdr4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/autohdr4.test	(revision 3089)
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check rebuild rules for AC_CONFIG_HEADERS.
+# (This should also work without GNU Make.)
+
+required=gcc
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AC_CONFIG_HEADERS([defs.h config.h:sub1/config.top:sub2/config.bot])
+AC_CONFIG_FILES([sub3/Makefile])
+AC_OUTPUT
+EOF
+
+mkdir sub1 sub2 sub3
+
+: > sub1/config.top
+echo '#define NAME "grepme1"' >sub2/config.bot
+echo SUBDIRS = sub3 >Makefile.am
+echo noinst_PROGRAMS = run >sub3/Makefile.am
+
+cat >sub3/run.c <<'EOF'
+#include <defs.h>
+#include <config.h>
+#include <stdio.h>
+
+int
+main ()
+{
+  puts (NAME); /* from config.h */
+  puts (PACKAGE); /* from defs.h */
+}
+EOF
+
+
+$ACLOCAL
+$AUTOCONF
+$AUTOHEADER
+$AUTOMAKE
+
+./configure
+$MAKE
+sub3/run | grep grepme1
+
+$sleep
+echo '#define NAME "grepme2"' > sub2/config.bot
+$MAKE
+sub3/run | grep grepme2
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/automake.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/automake.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/automake.in	(revision 3089)
@@ -0,0 +1,15 @@
+#!/bin/sh
+# @configure_input@
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+fi
+
+perllibdir="@abs_top_builddir@/lib@PATH_SEPARATOR@@abs_top_srcdir@/lib"
+export perllibdir
+exec @abs_top_builddir@/automake --libdir=@abs_top_srcdir@/lib ${1+"$@"}
Index: /trunk/essentials/sys-devel/automake-1.9/tests/auxdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/auxdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/auxdir.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure AC_CONFIG_AUX_DIR works correctly.
+
+. ./defs || exit 1
+
+# The "./." is here so we don't have to mess with subdirs.
+cat > configure.in << 'END'
+AC_INIT([auxdir], [1.0])
+AC_CONFIG_AUX_DIR(./.)
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+
+cat > Makefile.am << 'END'
+pkgdata_DATA =
+END
+
+cp $testsrcdir/../lib/mkinstalldirs .
+
+# The "././" prefix confuses Automake into thinking it is doing a
+# subdir build.  Yes, this is hacky.
+$ACLOCAL || exit 1
+$AUTOMAKE ././Makefile || exit 1
+
+grep '/\./\./mkinstalldirs' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/auxdir2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/auxdir2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/auxdir2.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# It should be possible to use a computed auxdir.  This might seem
+# bizarre, but it is actually used in multilib builds.
+
+. ./defs || exit 1
+
+# The "./." is here so we don't have to mess with subdirs.
+cat > configure.in << 'END'
+AC_INIT([auxdir2], [1.0])
+AC_CONFIG_AUX_DIR($foo)
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/auxdir3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/auxdir3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/auxdir3.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure we diagnose misplaced AC_CONFIG_AUX_DIR.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_AUX_DIR(.)
+END
+
+: > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'AC_CONFIG_AUX_DIR.*AM_INIT_AUTOMAKE' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/auxdir4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/auxdir4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/auxdir4.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we diagnose dangerous AC_CONFIG_AUX_DIR names.
+
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<'END'
+AC_INIT([auxdir4], [1.0])
+AC_CONFIG_AUX_DIR([aux])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+
+: > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'configure.in:2:.*aux.*does not exist' stderr
+grep 'configure.in:2:.*aux.*W32' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/backsl.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/backsl.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/backsl.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for "\" problems.  Bug report from Joerg-Martin Schwarz.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = \
+   frob
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^_SOURCE' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/backsl2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/backsl2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/backsl2.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# We must skip the backslash, not complain about `./\' not existing.
+# Reported by Rick Scott <rwscott@omnisig.com>
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+SUBDIRS = \
+   .
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/backsl3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/backsl3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/backsl3.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we diagnose trailing backslash at the end of a file.
+# Report from Akim Demaile <akim@epita.fr>
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+foo = \
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+cat stderr
+grep 'trailing backslash' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/backsl4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/backsl4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/backsl4.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we diagnose and fix white spaces following backslash.
+# Report from Peter Muir.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >>configure.in
+
+# Note: trailing whitespace used during the test should not appear as
+# trailing whitespace in this file, or it will get stripped by any
+# reasonable editor.
+
+echo 'bin_SCRIPTS = foo \ ' >Makefile.am
+cat >>Makefile.am <<'END'
+bar
+ok:
+	:
+END
+echo 'data_DATA = baz \  ' >>Makefile.am
+echo '	fum' >>Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+AUTOMAKE_fails
+grep ':1:.*whitespace' stderr
+grep ':5:.*whitespace' stderr
+$AUTOMAKE -Wno-error
+./configure
+# Older versions of Automake used to produce invalid Makefiles such input.
+$MAKE ok
Index: /trunk/essentials/sys-devel/automake-1.9/tests/badline.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/badline.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/badline.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that line number and file name in error message
+# referring to variable is always correct.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_SUBST(TEXINFOS)
+AC_CONFIG_FILES([Makefile])
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+AUTOMAKE_fails
+grep 'configure.in:3:.*info_TEXINFOS' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/badprog.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/badprog.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/badprog.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that programs with bad names are properly
+# transformed.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = a,b
+a_b_SOURCES = ab.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/block.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/block.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/block.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure block comments are not double-spaced.
+# Report from François Pinard.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+#START
+#a
+#b
+#c
+#END
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+(sed -e '/^#START/,/^#END/ !d' Makefile.in | grep -v '^#') && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/bsource.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/bsource.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/bsource.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for install-recursive appearing in a non recursive Makefile.
+# Report from Bruno Haible.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+noinst_SCRIPTS = hostname
+include_HEADERS = gettext-po.h
+BUILT_SOURCES = po-hash-gen.c
+END
+
+$ACLOCAL
+$AUTOMAKE
+grep 'install-recursive' Makefile.in && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/canon.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/canon.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/canon.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that name canonicalization error works.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = sniff-glue
+sniff-glue_SOURCES = sg.c
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*sniff_glue_SOURCES' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/canon2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/canon2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/canon2.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure name canonicalization happens for texinfo.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = zar-doz.texi
+zar_doz_TEXINFOS = frob.texi
+END
+
+: > texinfo.tex
+echo '@setfilename zar-doz.info' > zar-doz.texi
+echo '@setfilename frob' > frob.texi
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep zar-doz_TEXINFOS Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/canon3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/canon3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/canon3.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Yet another canonicalization test.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = perm-number
+END
+
+: > perm-number.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'perm_number\.c' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/canon4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/canon4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/canon4.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure name canonicalization happens for libraries.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libx-y.a
+libx_y_a_SOURCES = xy.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^libx-y.*=' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/canon5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/canon5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/canon5.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that we allow variable names starting in
+# non-letters.  Whatever that might mean.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = 123test
+123test_SOURCES = 123.c
+END
+
+$ACLOCAL
+$AUTOMAKE || exit 1
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = _foo
+_foo_SOURCES = foo.c
+END
+
+$AUTOMAKE
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = ,foo
+,foo_SOURCES = foo.c
+END
+
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*_foo_SOURCES' stderr
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = ,foo
+_foo_SOURCES = foo.c
+END
+
+$AUTOMAKE -Wno-portability
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ccnoco.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ccnoco.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ccnoco.test	(revision 3089)
@@ -0,0 +1,101 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure we can compile when the compiler doesn't
+# understand `-c -o'.
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.1 << 'END'
+AC_INIT(a.c)
+AM_INIT_AUTOMAKE(nonesuch, 0.23)
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT(Makefile)
+END
+
+# This one makes sure that $CC can be used after AM_PROG_CC_C_O.
+cat > configure.3 << 'END'
+AC_INIT(a.c)
+AM_INIT_AUTOMAKE(nonesuch, 0.23)
+AC_PROG_CC
+AM_PROG_CC_C_O
+$CC -v > Hi 2>&1 || exit 1
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+# Make sure we need something strange.
+wish_CFLAGS = -g
+END
+
+cat > a.c << 'END'
+#include <stdio.h>
+
+int main ()
+{
+   printf ("hi\n");
+}
+END
+
+cat > Mycomp << 'END'
+#!/bin/sh
+
+case "$@" in
+ *-c*-o* | *-o*-c*)
+    exit 1
+    ;;
+esac
+
+exec gcc "$@"
+END
+
+chmod +x Mycomp
+
+set -e
+
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+for conf in configure.1 configure.3; do
+   cp $conf configure.in
+
+   $ACLOCAL
+   $AUTOCONF
+   $AUTOMAKE --copy --add-missing
+
+   rm -rf build
+   mkdir build
+   cd build
+
+   # Make sure the compiler doesn't understand `-c -o'
+   CC=`pwd`/../Mycomp
+   export CC
+
+   ../configure
+   $MAKE
+
+   cd ..
+done
Index: /trunk/essentials/sys-devel/automake-1.9/tests/check.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/check.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/check.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test Automake style tests.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+TESTS = frob.test
+END
+
+: > frob.test
+
+$ACLOCAL
+$AUTOMAKE
+
+grep '^check-TESTS:' Makefile.in
+grep '^check-DEJAGNU' Makefile.in && exit 1
+
+# check-TESTS is phony.
+sed -n '/^\.PHONY:/,/^$/p' Makefile.in | grep check-TESTS
+
+# check should depend directly on check-am (similar tests are
+# in check2.test and check3.test).
+grep '^check: check-am' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/check2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/check2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/check2.test	(revision 3089)
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test Automake style tests.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([dir/Makefile])
+AC_OUTPUT
+END
+
+mkdir dir
+
+cat > Makefile.am << 'END'
+SUBDIRS = dir
+TESTS = subrun.sh
+subrun.sh:
+	(echo '#! /bin/sh'; echo 'dir/echo.sh') > $@
+	chmod +x $@
+CLEANFILES = subrun.sh
+END
+
+cat > dir/Makefile.am << 'END'
+check_SCRIPTS = echo.sh
+echo.sh:
+	(echo '#! /bin/sh'; echo 'echo Hello') > $@
+	chmod +x $@
+CLEANFILES = echo.sh
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE check >stdout
+cat stdout
+grep 'PASS: subrun.sh' stdout
+
+# check should depend directly on check-am (similar tests are
+# in check.test and check3.test).
+grep 'check: check-recursive' Makefile.in
+grep 'check: check-am' dir/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/check3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/check3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/check3.test	(revision 3089)
@@ -0,0 +1,81 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `check:' and `install:' honor $(BUILT_SOURCES).
+# PR/359.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([dir/Makefile])
+AC_OUTPUT
+END
+
+mkdir dir
+
+cat > Makefile.am << 'END'
+BUILT_SOURCES = command1.inc
+SUBDIRS = dir
+TESTS = subrun.sh
+subrun.sh:
+	(echo '#! /bin/sh'; cat command1.inc) > $@
+	chmod +x $@
+command1.inc:
+	echo 'dir/echo.sh' > $@
+CLEANFILES = subrun.sh command1.inc
+END
+
+cat > dir/Makefile.am << 'END'
+BUILT_SOURCES = command2.inc
+check_SCRIPTS = echo.sh
+echo.sh:
+## The next line ensures that command1.inc has been built before
+## recurring into the subdir.
+	test -f ../command1.inc
+	(echo '#! /bin/sh'; cat command2.inc) > $@
+	chmod +x $@
+command2.inc:
+	echo 'echo Hello' > $@
+CLEANFILES = echo.sh command2.inc
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure --prefix `pwd`/inst
+$MAKE check >stdout
+cat stdout
+grep 'PASS: subrun.sh' stdout
+
+# check should depend directly on check-am (similar tests are
+# in check.test and check2.test).
+$FGREP 'check: $(BUILT_SOURCES)' Makefile.in
+$FGREP 'check: $(BUILT_SOURCES)' dir/Makefile.in
+
+$MAKE clean
+# Sanity checks
+test ! -f command1.inc
+test ! -f dir/command2.inc
+# Now make sure these two files are rebuilt during make install.
+$MAKE install
+test -f command1.inc
+test -f dir/command2.inc
Index: /trunk/essentials/sys-devel/automake-1.9/tests/check4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/check4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/check4.test	(revision 3089)
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `make -k check' processes all directories.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([dir/Makefile])
+AC_OUTPUT
+END
+
+mkdir dir
+
+cat > Makefile.am <<'END'
+SUBDIRS = dir
+TESTS = ok.sh
+END
+
+echo TESTS = fail.sh >dir/Makefile.am
+
+cat >ok.sh <<'END'
+#!/bin/sh
+:
+END
+
+cat >dir/fail.sh <<'END'
+#!/bin/sh
+exit 1
+END
+
+chmod +x ok.sh dir/fail.sh
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure --prefix `pwd`/inst
+$MAKE check >stdout && exit 1
+cat stdout
+grep 'FAIL: fail.sh' stdout
+grep 'PASS: ok.sh' stdout && exit 1
+
+# The exit status of `make -k' can be anything
+# (depending on the Make implementation)
+$MAKE -k check >stdout || :
+cat stdout
+grep 'FAIL: fail.sh' stdout
+grep 'PASS: ok.sh' stdout
+
+# should also works when -k is not in first position
+$MAKE -s -k check >stdout || :
+cat stdout
+grep 'FAIL: fail.sh' stdout
+grep 'PASS: ok.sh' stdout
+
+# The rest of the test is for GNU Make.
+
+# Use --version AND -v, because SGI Make doesn't fail on --version.
+# Also grep for GNU because newer versions of FreeBSD make do
+# not complain about `--version' (they seem to silently ignore it).
+($MAKE --version -v | grep GNU) || exit 0
+
+# Try with a long-option that do not have a short option equivalent
+# (here, --no-print-directory).  That should cause all options to
+# appear verbatim in MAKEFLAGS.
+$MAKE --no-print-directory -k check >stdout || :
+cat stdout
+grep 'FAIL: fail.sh' stdout
+grep 'PASS: ok.sh' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/checkall.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/checkall.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/checkall.test	(revision 3089)
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Copyright (C) 1996, 1997, 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug where check target doesn't depend on all.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+bin_SCRIPTS = derived
+check-local:
+	true
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^check-am:.*all-am' Makefile.in || exit 1
+grep 'MAKE.*check-local' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/clean.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/clean.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/clean.test	(revision 3089)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure a clean target depends on previous one.
+
+. ./defs || exit 1
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^clean-am:.*mostlyclean-am' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/clean2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/clean2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/clean2.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure distclean works in cygnus mode.
+# Report from Daniel Jacobowitz
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_MAINTAINER_MODE
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+END
+
+mkdir sub
+
+cat > sub/Makefile.am << 'END'
+data_DATA = foo
+
+foo:
+	touch $@
+
+CLEANFILES = $(data_DATA)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --cygnus
+
+./configure
+$MAKE
+test -f sub/foo
+$MAKE distclean
+test ! -f sub/foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colneq.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colneq.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colneq.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that := definitions produce warnings, but otherwise work.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+ICONS := $(wildcard *.xbm)
+data_DATA = $(ICONS)
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep ':=.*not portable' stderr
+
+echo 'AUTOMAKE_OPTIONS = -Wno-portability' >> Makefile.am
+$AUTOMAKE
+grep 'ICONS :=' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colneq2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colneq2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colneq2.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that := in var substitutions works.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+t = a b c
+EXTRA_DIST = $(t:=.test)
+END
+
+: > a.test
+: > b.test
+: > c.test
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Nyul Laszlo.  When using the ":" syntax in
+# AC_OUTPUT, Automake fails to find the correct file.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile foo.h:foo.hin)
+END
+
+: > Makefile.am
+: > foo.hin
+: > stamp-h.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon2.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure ":" works with files automake generates.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile:zardoz.in)
+END
+
+: > zardoz.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# We actually check several things here.
+test -f zardoz.in || exit 1
+grep '^zardoz:' zardoz.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon3.test	(revision 3089)
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003
+#   Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure ":" works with files automake generates.
+# This test is for multiple ":"s.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile:zardoz.in:two.in:three.in)
+END
+
+: > zardoz.am
+: > two.in
+: > three.in
+
+$ACLOCAL
+$AUTOMAKE
+
+# We actually check several things here.
+# Automake should have created zardoz.in.
+test -f zardoz.in
+
+# The generated file should refer to zardoz.in and zardoz.am, but
+# never just "zardoz".
+echo Grep1
+grep zardoz zardoz.in | $EGREP -v 'zardoz.in' | $FGREP -v 'zardoz.am' > O || :
+# We cat the output file so we see in when verbose.
+cat O
+test -z "`cat O`"
+
+# Makefile should depend on two.in.
+echo Grep2
+grep '^Makefile:.* \$(srcdir)/two.in' zardoz.in
+# Likewise three.in.
+echo Grep3
+grep '^Makefile:.* \$(srcdir)/three.in' zardoz.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon4.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure ":" works with files automake generates.
+# This test is for multiple ":"s.
+# Test from Maciej W. Rozycki.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile zardoz:one:two:three)
+END
+
+: > Makefile.am
+: > one
+: > two
+: > three
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# The rule should regenerate the file "zardoz".
+grep '^zardoz:one:two' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon5.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another multi-":" test, this time from Doug Evans.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile:Makefile.in:Makefile.dep)
+END
+
+: > Makefile.am
+: > Makefile.dep
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'Makefile:Makefile.in' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon6.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Yet another multi-":" test, this time from Ken Pizzini.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(demo/Makefile demo/version.good:demo/version.gin)
+END
+
+mkdir demo
+
+: > demo/Makefile.am
+: > demo/version.gin
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/colon7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/colon7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/colon7.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another test for a failing ":" in AC_OUTPUT.  Report from Maciej
+# Stachowiak.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(subdir/bar:subdir/foo \
+   Makefile \
+   subdir/Makefile
+)
+END
+
+: > Makefile.am
+
+mkdir subdir
+: > subdir/Makefile.am
+: > subdir/foo
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# shouldn't have any bar.in
+grep 'bar.in' subdir/Makefile.in && exit 1
+
+# DIST_COMMON should have foo, not subdir/foo
+grep 'DIST_COMMON.*subdir/foo' subdir/Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/commen10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/commen10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/commen10.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure comments following trailing backslashes are diagnosed.
+# Report from Harald Dunkel.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+SUBDIRS = foo \
+# bar
+
+END
+
+mkdir foo
+
+$ACLOCAL
+AUTOMAKE_fails
+grep backslash stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment.test	(revision 3089)
@@ -0,0 +1,31 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that `#' as start of word in AUTOMAKE_OPTIONS means
+# comment.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = #no such option
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment2.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure comment recognition works in PROGRAMS.  Report from Mark
+# Galassi.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = sim_products receive_th receive_pos # image_proc
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^image_proc' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment3.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that `#' after a tab is a failure.
+# The Tru64 Unix V5.1 system make will pass these to the
+# shell, which in turn can't find `#' as a command.
+# Sigh.  Some vendors must be destroyed.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+install-data-local:
+	# Tru64 Unix must die
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*#' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment4.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure commented variables are output near their comments.
+
+. ./defs || exit 1
+
+cat >> configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'EOF'
+# UnIqUe_COPYRIGHT_BOILERPLATE
+
+# UnIqUe_MUMBLE_COMMENT
+mumble = UnIqUe_MUMBLE_VALUE
+EOF
+
+set -e
+$ACLOCAL
+$AUTOMAKE
+# UnIqUe_COPYRIGHT_BOILERPLATE should appear near the top of the file
+test `sed -n -e '1,/UnIqUe_COPYRIGHT_BOILERPLATE/p' Makefile.in \
+      | wc -l` -le 30
+# UnIqUe_MUMBLE_COMMENT should appear right before the mumble declaration.
+test `sed -n -e '/UnIqUe_MUMBLE_COMMENT/,/UnIqUe_MUMBLE_VALUE/p' Makefile.in \
+      | wc -l` -eq 2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment5.test	(revision 3089)
@@ -0,0 +1,90 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR/280.
+# (Automake should complain about trailing backslashes in comments.)
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'EOF'
+all-local:
+	@echo ${var}
+
+# a comment with backslash \
+
+
+var = foo
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails
+grep '^Makefile.am:5: blank line following trailing backslash' stderr
+
+
+## Here is a second test because head comments are
+## handled differently in Automake 1.5.
+
+cat > Makefile.am << 'EOF'
+# a comment with backslash \
+
+
+all-local:
+	@echo ${var}
+
+var = foo
+EOF
+
+AUTOMAKE_fails
+grep '^Makefile.am:2: blank line following trailing backslash' stderr
+
+
+## Make sure we print an 'included' stack on errors.
+
+echo 'include Makefile.inc'> Makefile.am
+cat > Makefile.inc << 'EOF'
+# a comment with backslash \
+
+EOF
+
+AUTOMAKE_fails
+grep '^Makefile.inc:2: blank line following trailing backslash' stderr
+grep '^Makefile.am:1: .*included from here' stderr
+
+
+## Make sure backslashes are still allowed within a comment.
+## This usually happens when commenting out a Makefile rule.
+
+cat > Makefile.am << 'EOF'
+all-local:
+	@echo ${var}
+
+# a comment with backslash \
+# but terminated by a line without backslash
+
+var = foo
+EOF
+
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment6.test	(revision 3089)
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR/322.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+## There are two tests: one with backslashed comments at the top
+## of the file, and one with a rule first.  This is because
+## Comments at the top of the file are handled specially
+## since Automake 1.5.
+
+cat > Makefile.am << 'EOF'
+# SOME_FILES = \
+         file1 \
+         file2 \
+         file3
+
+all-local:
+	@echo Good
+
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
+
+grep '# SOME_FILES' Makefile
+grep '# *file3' Makefile
+
+cat > Makefile.am << 'EOF'
+all-local:
+	@echo Good
+
+# SOME_FILES = \
+         file1 \
+         file2 \
+         file3
+EOF
+
+$AUTOMAKE
+./configure
+$MAKE
+grep '# SOME_FILES' Makefile
+grep '# *file3' Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment7.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure comment for conditional variables are output near the
+# corresponding conditional definitions.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'EOF'
+AM_CONDITIONAL([COND], [true])
+EOF
+
+cat > Makefile.am << 'EOF'
+if COND
+# Comment for VAR in COND_TRUE.
+VAR = foo
+else
+# Comment for VAR in COND_FALSE.
+VAR = bar
+endif
+EOF
+
+$ACLOCAL
+$AUTOMAKE
+
+# The VAR definition appears once for each condition.
+test `grep '@COND_TRUE@VAR' Makefile.in | wc -l` = 1
+test `grep '@COND_FALSE@VAR' Makefile.in | wc -l` = 1
+
+# Make sure the right definition follows each comment.
+sed -n '/^#.*VAR.*COND_TRUE/ { n; p; }' Makefile.in |
+  grep '@COND_TRUE@VAR = foo'
+sed -n '/^#.*VAR.*COND_FALSE/ { n; p; }' Makefile.in |
+  grep '@COND_FALSE@VAR = bar'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment8.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure += does not append to a comment.
+# Report from Stepan Kasal.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'EOF'
+AM_CONDITIONAL([COND1], [true])
+AM_CONDITIONAL([COND2], [true])
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'EOF'
+VAR = valA# comA ## com C
+VAR += valB # comB
+if COND1
+  VAR += val1 # com1
+endif COND1
+VAR += valC
+if COND2
+  VAR += val2 # com2
+endif COND2
+
+test:
+	test "`echo $(VAR)`" = 'valA valB val1 valC val2'
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/comment9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/comment9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/comment9.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure ##-comments are ignored in variable definitions.
+# Report from Julien Sopena.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+TESTS = \
+   1.test \
+   2.test \
+   3.test \
+## 4.test \
+   5.test \
+   6.test \
+   7.test
+EOF
+
+$ACLOCAL
+$AUTOMAKE
+
+sed -n -e '/^TESTS =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^TESTS =/ p' Makefile.in > tests
+
+grep '3\.test' tests
+grep '##' tests && exit 1
+grep '4\.test' tests && exit 1
+grep '5\.test' tests
Index: /trunk/essentials/sys-devel/automake-1.9/tests/compile.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/compile.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/compile.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `compile' preserves spaces in its arguments.
+
+. ./defs || exit 1
+
+set -e
+
+cp $testsrcdir/../lib/compile .
+
+# -o 'a c' should not be stripped because 'a c' is not an object
+# (it does not matter whether touch creates ./-- or not)
+./compile touch a.o -- -o 'a c' a.c
+test -f 'a c'
+test -f ./-o
+test -f a.o
+test -f a.c
+
+rm -f 'a c' ./-o a.o a.c
+
+./compile touch a.o -- -o 'a c.o' a.c
+test -f 'a c.o'
+test ! -f ./-o
+test ! -f a.o
+test -f a.c
+
+# Make sure `compile' works for .obj too.
+./compile touch a.obj -- -o ac.obj a.c
+test ! -f a.obj
+test ac.obj
Index: /trunk/essentials/sys-devel/automake-1.9/tests/compile_f90_c_cxx.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/compile_f90_c_cxx.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/compile_f90_c_cxx.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure rules to invoke all compilers are selected with
+# mixed source objects.
+# (copied from compile_f_c_cxx.test) Mike Nolta <mrnolta@princeton.edu>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_FC
+AC_FC_LIBRARY_LDFLAGS
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES  = foo.f90 bar.c baz.cc
+foo_LDADD    = @FLIBS@
+END
+
+: > foo.f90
+: > bar.c
+: > baz.cc
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# Look for the macros at the beginning of rules.  Be careful, as there
+# are literal tabs at the beginning of the search strings.
+grep '	\$(COMPILE)'     Makefile.in  || exit 1
+grep '	\$(CXXCOMPILE)'  Makefile.in  || exit 1
+grep '	\$(FCCOMPILE)'  Makefile.in  || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/compile_f_c_cxx.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/compile_f_c_cxx.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/compile_f_c_cxx.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure rules to invoke all compilers are selected with
+# mixed source objects.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_F77
+AC_F77_LIBRARY_LDFLAGS
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES  = foo.f bar.c baz.cc
+foo_LDADD    = @FLIBS@
+END
+
+: > foo.f
+: > bar.c
+: > baz.cc
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# Look for the macros at the beginning of rules.  Be careful, as there
+# are literal tabs at the beginning of the search strings.
+grep '	\$(COMPILE)'     Makefile.in  || exit 1
+grep '	\$(CXXCOMPILE)'  Makefile.in  || exit 1
+grep '	\$(F77COMPILE)'  Makefile.in  || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check basic use of conditionals.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONDITIONAL(TEST, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+if TEST
+VAR = true
+else
+VAR = false
+endif
+END
+
+set -e
+$ACLOCAL || exit 1
+$AUTOMAKE
+
+grep '^@TEST_TRUE@VAR = true$' Makefile.in
+grep '^@TEST_FALSE@VAR = false$' Makefile.in
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond10.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.  From Raja R Harinath.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(foo,0.0)
+AC_PROG_CC
+AM_CONDITIONAL(USE_A,[test x = y])
+AM_CONDITIONAL(USE_B,[test x = z])
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+if USE_A
+out=output_a.c
+else
+if USE_B
+out=output_b.c
+else
+out=output_c.c
+endif
+endif
+
+noinst_PROGRAMS=foo
+foo_SOURCES=foo.c $(out)
+END
+
+$ACLOCAL \
+  && $AUTOMAKE -a \
+  && grep 'USE_A_FALSE.*USE_B_FALSE.*output_c\...OBJEXT.' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond11.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond11.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond11.test	(revision 3089)
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.  From Richard Boulton.
+# This checks that, if LDADD is set from a conditional variable
+# and an AC_SUBST, the _DEPENDENCIES variable is set correctly.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL([USE_A], [test -z "$two"])
+AC_SUBST([SUBSTVAR], [bar])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+
+if USE_A
+foolibs=faz.la
+else
+foolibs=
+endif
+
+noinst_PROGRAMS = foo
+foo_SOURCES = foo.c
+LDADD = $(SUBSTVAR) $(foolibs)
+
+print:
+	@echo BEG: $(foo_DEPENDENCIES) :END
+END
+
+: > config.guess
+: > config.sub
+: > compile
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE -e print > stdout
+cat stdout
+grep 'BEG: faz.la :END' stdout
+
+./configure two=yes
+$MAKE -e print > stdout
+cat stdout
+grep 'BEG: :END' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond13.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond13.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond13.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.
+# Report from Lars J. Aas.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_RANLIB
+AM_CONDITIONAL(COND1, true)
+AM_CONDITIONAL(COND2, true)
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtest.a
+
+if COND1
+SOURCEVAR1 = 
+SOURCEVAR2 = habla.cpp espanol.cpp
+else
+SOURCEVAR1 = dummy.cpp
+SOURCEVAR2 =
+endif
+
+if COND2
+TESTSOURCES = $(SOURCEVAR1)
+else
+TESTSOURCES = $(SOURCEVAR2)
+endif
+
+libtest_a_SOURCES = $(TESTSOURCES)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'am_libtest_a_OBJECTS = .*$' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond14.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond14.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond14.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.
+# Report from Robert Boehne
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL(COND1, true)
+END
+
+cat > Makefile.am << 'END'
+
+if COND1
+BUILD_helldl = helldl
+helldl_SOURCES = dlmain.c
+helldl_DEPENDENCIES = libhello.la
+else
+BUILD_helldl = 
+bin_SCRIPTS = helldl
+helldl$(EXEEXT):
+	rm -f $@
+	echo '#! /bin/sh' > $@
+	echo '-dlopen is unsupported' >> $@
+	chmod +x $@
+endif
+
+bin_PROGRAMS = $(BUILD_helldl)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+num=`grep 'helldl$(EXEEXT):' Makefile.in | wc -l`
+test $num -eq 2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond15.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond15.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond15.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for conditionally defined overriding of automatic rules.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL(COND1, true)
+AM_CONDITIONAL(COND2, true)
+END
+
+cat > Makefile.am << 'END'
+
+if COND1
+if COND2
+bin_SCRIPTS = helldl
+helldl$(EXEEXT):
+	rm -f $@
+	echo '#! /bin/sh' > $@
+	echo '-dlopen is unsupported' >> $@
+	chmod +x $@
+endif
+else
+if COND2
+else
+bin_SCRIPTS = helldl
+helldl$(EXEEXT):
+	rm -f $@
+	echo '#! /bin/sh' > $@
+	echo '-dlopen is unsupported' >> $@
+	chmod +x $@
+endif
+endif
+
+bin_PROGRAMS = helldl
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+num1=`grep 'helldl$(EXEEXT):' Makefile.in | wc -l`
+num2=`grep '@COND1_FALSE@@COND2_TRUE@helldl$(EXEEXT):' Makefile.in | wc -l`
+test $num1 -eq 4 || exit 1
+test $num2 -eq 1 || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond16.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond16.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond16.test	(revision 3089)
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals in SOURCES with variable substitution references.
+# Report from Richard Boulton
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(hello.c)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AM_CONDITIONAL(COND1, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > hello.c << 'END'
+END
+
+cat > Makefile.am << 'END'
+
+if COND1
+var = foo.c
+else
+var = foo.c
+endif
+
+bin_PROGRAMS = hell
+hell_SOURCES = $(var:=)
+
+echorule:
+	@echo $(hell_SOURCES) $(hell_OBJECTS)
+
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+val=`$MAKE -s echorule`;
+echo $val
+test "x$val" = "xfoo.c foo.o"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond17.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond17.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond17.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for being able to define an object to be generated in different ways
+# according to a conditional.
+# Report from Richard Boulton
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AC_PROG_CXX
+AM_CONDITIONAL(COND1, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = helldl
+if COND1
+helldl_SOURCES = foo.cc
+else
+helldl_SOURCES = foo.c
+endif
+END
+
+set -e
+
+$ACLOCAL
+$AUTOMAKE -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond18.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond18.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond18.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for substitution references to conditional variables.
+# Report from Richard Boulton
+
+required='GNUmake gcc'
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AM_CONDITIONAL(COND1, true)
+AM_CONDITIONAL(COND2, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+
+var1 = dlmain
+
+if COND1
+var2 = $(var1:=.c) foo.cc
+else
+var2 = $(var1:=.c)
+endif
+
+if COND2
+var3 = $(var2:.cc=.c)
+else
+var3 = $(var2:.cc=.c)
+endif
+
+helldl_SOURCES = $(var3)
+
+echorule:
+	@echo $(helldl_SOURCES) $(helldl_OBJECTS)
+
+bin_PROGRAMS = helldl
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+
+val=`$MAKE --no-print-directory echorule`;
+echo $val
+test "x$val" = "xdlmain.c foo.c dlmain.o foo.o"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond19.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond19.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond19.test	(revision 3089)
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for substitution references to conditional variables.
+# Report from Richard Boulton
+
+required='GNUmake gcc'
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AM_CONDITIONAL(COND1, test "x$CONDITION1" = "xtrue")
+AM_CONDITIONAL(COND2, test "x$CONDITION2" = "xtrue")
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+
+var1 = dlmain
+
+if COND1
+var2 = $(var1:=.c)
+else
+var2 = $(var1:=.c)
+endif
+
+if COND2
+var3 = $(var2:.c=a.c)
+var4 = $(var2:.c=b.c)
+else
+var3 = $(var2:.c=b.c)
+var4 = $(var2:.c=a.c)
+endif
+
+helldl_SOURCES = $(var3:.c=1.c) $(var4:.c=2.c)
+
+echorule:
+	@echo $(helldl_SOURCES) $(helldl_OBJECTS)
+
+bin_PROGRAMS = helldl
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+CONDITION1=true CONDITION2=true ./configure
+vala=`$MAKE --no-print-directory echorule`;
+CONDITION1=true CONDITION2=false ./configure
+valb=`$MAKE --no-print-directory echorule`;
+CONDITION1=false CONDITION2=true ./configure
+valc=`$MAKE --no-print-directory echorule`;
+CONDITION1=false CONDITION2=false ./configure
+vald=`$MAKE --no-print-directory echorule`;
+
+echo $vala
+echo $valb
+echo $valc
+echo $vald
+test "x$vala" = "xdlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o" || exit 1
+test "x$valb" = "xdlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o" || exit 1
+test "x$valc" = "xdlmaina1.c dlmainb2.c dlmaina1.o dlmainb2.o" || exit 1
+test "x$vald" = "xdlmainb1.c dlmaina2.c dlmainb1.o dlmaina2.o" || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond2.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check SUBDIRS set based on conditionals.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONDITIONAL(TEST, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+if TEST
+DIR = dir1
+else
+DIR = dir2
+endif
+SUBDIRS = $(DIR)
+END
+
+mkdir dir1
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:4:.*dir2.*does not exist' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond20.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond20.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond20.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for recursion handling in substitution references to
+# conditional variables.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AM_CONDITIONAL(COND1, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+
+var1 = $(var2)
+
+if COND1
+var2 = $(var1:=.c) foo.c
+else
+var2 = $(var1:=.c)
+endif
+
+helldl_SOURCES = $(var2)
+
+bin_PROGRAMS = helldl
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+AUTOMAKE_fails -a
+grep "recursively defined" stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond21.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond21.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond21.test	(revision 3089)
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Copyright (C) 2002, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for use of = and += in different conditions.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL(COND1, true)
+AM_CONDITIONAL(COND2, true)
+AM_CONDITIONAL(COND3, true)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+
+FOO = foo
+if COND1
+  FOO += foo1
+else
+  FOO += foon1
+endif
+if COND2
+  FOO += foo2
+else
+  FOO += foon2
+endif
+if COND1
+  FOO += foo1b
+else
+  FOO += foon1b
+endif
+
+if COND1
+if COND2
+  BAR = bar12
+else
+  BAR = bar1n2
+endif
+else
+  BAR = barn1
+endif
+
+BAR += bar
+
+if COND3
+  BAR += bar3
+endif
+
+test:
+	@echo BAR: $(BAR) :BAR
+	@echo FOO: $(FOO) :FOO
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE test | $FGREP 'BAR: bar12 bar bar3 :BAR'
+$MAKE test | $FGREP 'FOO: foo foo1 foo2 foo1b :FOO'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond22.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond22.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond22.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for bug when sources listed in conditional.
+# Report from Richard Boulton.  PR/326.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL(ONE, true)
+AM_CONDITIONAL(TWO, false)
+AM_CONDITIONAL(THREE, false)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = targ
+
+if ONE
+SONE = one.c
+endif
+
+if TWO
+STWO =
+else
+STWO = two.c
+endif
+
+if THREE
+STHREE =
+else
+STHREE = three.c
+endif
+
+if THREE
+STHREE2 =
+else
+STHREE2 = three2.c
+endif
+
+targ_SOURCES = $(SONE) $(STWO) $(STHREE) $(STHREE2)
+
+echo:
+	echo BEG: $(targ_OBJECTS) :END;
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+OBJEXT=oo $MAKE -e echo > output
+cat output
+$FGREP 'BEG: one.oo two.oo three.oo three2.oo :END' output
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond23.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond23.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond23.test	(revision 3089)
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that conditional redefinitions of AC_SUBST'ed variables are detected.
+# Report from Patrik Weiskircher
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AM_CONDITIONAL([COND], [true])
+AC_OUTPUT
+EOF
+
+cat >Makefile.am <<EOF
+if COND
+libdir = mumble
+endif
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'libdir was already defined' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond24.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond24.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond24.test	(revision 3089)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that conditional redefinitions of AC_SUBST'ed variables are detected.
+# Report from Patrik Weiskircher
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AC_SUBST([foo], [bar])
+AM_CONDITIONAL([COND], [true])
+AC_OUTPUT
+EOF
+
+cat >Makefile.am <<EOF
+if COND
+foo = baz
+endif
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'foo was already defined' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond25.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond25.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond25.test	(revision 3089)
@@ -0,0 +1,43 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that conditional primaries can use non-conditional directories.
+# From Pavel Roskin.
+
+. ./defs
+
+set -e
+
+cat >>configure.in << 'EOF'
+AM_CONDITIONAL([USE_FOO], [true])
+AC_PROG_CC
+EOF
+
+cat >Makefile.am << 'EOF'
+if USE_FOO
+foo_PROGRAMS = foo
+endif
+
+foodir = $(libdir)/foo
+foo_SOURCES = foo.c
+EOF
+
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond26.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond26.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond26.test	(revision 3089)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that non-conditional primaries can use conditional directories.
+# Reported by Juergen Keil.
+
+. ./defs
+
+set -e
+
+cat >>configure.in << 'EOF'
+AM_CONDITIONAL([USE_FOO], [true])
+EOF
+
+cat >Makefile.am << 'EOF'
+if USE_FOO
+mydir = /foo
+else
+mydir = /bar
+endif
+my_DATA = foo
+EOF
+
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond27.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond27.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond27.test	(revision 3089)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that non-conditional primaries cannot use directories defined
+# in some conditions (but not others).
+
+. ./defs
+
+set -e
+
+cat >>configure.in << 'EOF'
+AM_CONDITIONAL([USE_FOO], [true])
+EOF
+
+cat >Makefile.am << 'EOF'
+if USE_FOO
+mydir = /foo
+endif
+my_DATA = foo
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails
+grep ' USE_FOO' stderr && exit 1
+grep '!USE_FOO' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond28.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond28.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond28.test	(revision 3089)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that conditional primaries can use directories defined
+# in the same conditions (but not others).
+
+. ./defs
+
+set -e
+
+cat >>configure.in << 'EOF'
+AM_CONDITIONAL([USE_FOO], [true])
+EOF
+
+cat >Makefile.am << 'EOF'
+if USE_FOO
+mydir = /foo
+endif
+if USE_FOO
+my_DATA = foo
+endif
+EOF
+
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond29.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond29.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond29.test	(revision 3089)
@@ -0,0 +1,57 @@
+#!/bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that many conditions do not lead to combinatorial explosion.
+# (This is related to PR/352.)
+#
+# On this test, Automake 1.7.x would compute all 2**22 = 4194304
+# possible combinations of conditionals (it would do this five times,
+# to define a01_DEPENDENCIES, a02_DEPENDENCIES, a03_OBJECTS,
+# a04_OBJECTS, and to rewrite bin_PROGRAM), eating all memory, swap,
+# or cpu time it can found.  Although this test won't print `FAIL' if
+# it fails, it will take long enough so it can't go unnoticed.
+
+. ./defs
+
+set -e
+
+echo AC_PROG_CC >>configure.in
+
+cat >Makefile.am <<EOF
+bin_PROGRAMS = a
+a02_LDADD =
+a03_SOURCES =
+EOF
+
+for i in 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22; do
+cat >>Makefile.am <<EOF
+if C$i
+bin_PROGRAMS += a$i
+a01_LDADD = foo${i}.o
+a02_LDADD += bar${i}.o
+a03_SOURCES += baz${i}.c
+a04_SOURCES = quux${i}.c
+endif C$i
+EOF
+echo "AM_CONDITIONAL([C$i], [:])" >>configure.in
+done
+
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond3.test	(revision 3089)
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test sources listed in conditional.
+# Report from Rob Savoye <rob@cygnus.com>, and Lars J. Aas.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AM_CONDITIONAL(ONE, true)
+AM_CONDITIONAL(TWO, false)
+AM_CONDITIONAL(THREE, maybe)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = targ
+
+if ONE
+SONE = one.c
+else
+SONE =
+endif
+
+if TWO
+STWO = two.c
+else
+STWO =
+endif
+
+if THREE
+STHREE = three.c
+else
+STHREE =
+endif
+
+targ_SOURCES = $(SONE) $(STWO) $(STHREE)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# `b top' so that
+sed -n '
+/[oO][bB][jJ][eE][cC][tT].* =/ {
+  : loop
+  /\\$/ {
+    p
+    n
+    b loop
+  }
+  p
+}' Makefile.in >produced
+
+cat >expected << 'EOF'
+@ONE_TRUE@am__objects_1 = one.$(OBJEXT)
+@TWO_TRUE@am__objects_2 = two.$(OBJEXT)
+@THREE_TRUE@am__objects_3 = three.$(OBJEXT)
+am_targ_OBJECTS = $(am__objects_1) $(am__objects_2) $(am__objects_3)
+targ_OBJECTS = $(am_targ_OBJECTS)
+EOF
+
+diff expected produced || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond30.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond30.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond30.test	(revision 3089)
@@ -0,0 +1,61 @@
+#!/bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# For PR/352: make sure we support bin_PROGRAMS being defined conditionally.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AC_PROG_CC
+AM_CONDITIONAL(C1, [test -z "$two"])
+AM_CONDITIONAL(C2, [test -n "$two"])
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+if C1
+bin_PROGRAMS = a
+endif
+if C2
+bin_PROGRAMS = b $(undefined)
+endif
+
+print:
+	@echo 'BEG: $(bin_PROGRAMS) :END'
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+EXEEXT=.foo $MAKE -e print > stdout
+cat stdout
+grep 'BEG: a.foo :END' stdout
+
+./configure two=yes
+EXEEXT=.foo $MAKE -e print > stdout
+cat stdout
+grep 'BEG: b.foo :END' stdout
+
+grep 'a_SOURCES = a.c' Makefile.in
+grep 'b_SOURCES = b.c' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond31.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond31.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond31.test	(revision 3089)
@@ -0,0 +1,59 @@
+#!/bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we define conditional _DEPENDENCIES correctly.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AC_PROG_CC
+AM_CONDITIONAL(C1, [test -z "$two"])
+AM_CONDITIONAL(C2, [test -n "$two"])
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+bin_PROGRAMS = a
+a_LDADD = c0.o -L/some/where
+if C1
+a_LDADD += c1.o -llibfoo.a
+endif
+if C2
+a_LDADD += c2.o -dlopen c3.la
+endif
+print:
+	@echo BEG: $(a_DEPENDENCIES) :END
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE -e print > stdout
+cat stdout
+grep 'BEG: c0.o c1.o :END' stdout
+
+./configure two=yes
+$MAKE -e print > stdout
+cat stdout
+grep 'BEG: c0.o c2.o c3.la :END' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond32.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond32.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond32.test	(revision 3089)
@@ -0,0 +1,62 @@
+#!/bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure the user can override a conditional _DEPENDENCIES.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AC_PROG_CC
+AM_CONDITIONAL(C1, [test -z "$two"])
+AM_CONDITIONAL(C2, [test -n "$two"])
+AC_SUBST([MYSUB], [foo.o])
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+bin_PROGRAMS = a
+if C1
+a_LDADD = $(MYSUB)
+a_DEPENDENCIES = $(MYSUB) nonsense.a
+# Note that `nonsense.a' is there just to make sure Automake insn't
+# using some self computed a_DEPENDENCIES variable.
+endif
+if C2
+a_LDADD = bar.o
+endif
+print:
+	@echo BEG: $(a_DEPENDENCIES) :END
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE -e print > stdout
+cat stdout
+grep 'BEG: foo.o nonsense.a :END' stdout
+
+./configure two=yes
+$MAKE -e print > stdout
+cat stdout
+grep 'BEG: bar.o :END' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond33.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond33.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond33.test	(revision 3089)
@@ -0,0 +1,73 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for conditional library with a conditional directory.
+# Report from Ralf Corsepius
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_CONDITIONAL([INC], [test -z "$two"])
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+if INC
+include_foodir = $(includedir)/foo
+include_foo_HEADERS = foo.h
+else
+bardir = $(bindir)
+dist_bar_SCRIPTS = x.sh
+endif
+
+foo.h x.sh:
+	:>$@
+distdircheck: distdir
+	test -f $(distdir)/foo.h
+	test -f $(distdir)/x.sh
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+mkdir nowhere
+chmod a-w nowhere
+./configure --prefix=`pwd`/nowhere --bindir=`pwd`/bin --includedir=`pwd`/inc
+$MAKE installdirs
+test ! -d bin
+test -d inc/foo
+test ! -f inc/foo/foo.h
+rm -rf inc
+$MAKE install
+test ! -d bin
+test -f inc/foo/foo.h
+rm -rf inc
+./configure two=two \
+            --prefix=`pwd`/nowhere --bindir=`pwd`/bin --includedir=`pwd`/inc
+$MAKE install
+test ! -d inc
+test -f bin/x.sh
+$MAKE installdirs
+test ! -d inc
+test -d bin
+$MAKE distdircheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond34.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond34.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond34.test	(revision 3089)
@@ -0,0 +1,72 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for _DEPDENDENCIES definition with conditional _LDADD.
+# Report from Elena A. Vengerova
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_CONDITIONAL([TWO], test -n "$two")
+AC_PROG_CC
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+OBJEXT=z
+
+bin_PROGRAMS = test1 test2
+
+if TWO
+  test1_LDADD = two.$(OBJEXT)
+  test2_LDADD = two.$(OBJEXT)
+  test2_DEPENDENCIES = $(test2_LDADD) somethingelse.a
+else !TWO
+  test1_LDADD = one.$(OBJEXT)
+  test2_LDADD = three.$(OBJEXT)
+endif !TWO
+
+test1_DEPENDENCIES = $(test1_LDADD) somethingelse.a
+
+dep-test1:
+	echo BEG: $(test1_DEPENDENCIES) :END
+dep-test2:
+	echo BEG: $(test2_DEPENDENCIES) :END
+
+EOF
+
+:> test.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE dep-test1 >out
+grep 'BEG: one.z somethingelse.a :END' out
+$MAKE dep-test2 >out
+grep 'BEG: three.z :END' out
+
+./configure two=2
+$MAKE dep-test1 >out
+grep 'BEG: two.z somethingelse.a :END' out
+$MAKE dep-test2 >out
+grep 'BEG: two.z somethingelse.a :END' out
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond35.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond35.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond35.test	(revision 3089)
@@ -0,0 +1,94 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check rules output for parser defined conditionally.
+# Report from Roman Fietze.
+
+required='flex bison gcc'
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_CONDITIONAL([CASE_A], test -z "$case_B")
+AC_PROG_CC
+AM_PROG_LEX
+AC_PROG_YACC
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+AM_YFLAGS               =       -d
+
+BUILT_SOURCES           =       tparse.h
+
+if CASE_A
+bin_PROGRAMS            =       ta
+ta_SOURCES              =       ta.c tparse.h tscan.l tparse.y
+ta_LDADD                =       $(LEXLIB)
+else
+bin_PROGRAMS            =       tb
+tb_SOURCES              =       tb.c tparse.h tscan.l tparse.y
+tb_LDADD                =       $(LEXLIB)
+endif
+
+
+test-ta:
+	test -f ta$(EXEEXT)
+test-tb:
+	test -f tb$(EXEEXT)
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+test `grep tparse.h: Makefile.in | wc -l` = 1
+
+cat > tscan.l << 'END'
+%%
+"END"   return EOF;
+END
+
+cat > tparse.y << 'END'
+%{
+void yyerror (char *s) {}
+%}
+%token EOF
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' EOF {};
+END
+
+cat >ta.c <<'END'
+int main()
+{
+  return 0;
+}
+END
+
+cp ta.c tb.c
+
+./configure
+$MAKE
+$MAKE test-ta
+
+./configure case_B=yes
+$MAKE
+$MAKE test-tb
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond36.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond36.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond36.test	(revision 3089)
@@ -0,0 +1,65 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check rules output for parser defined conditionally.
+
+required='flex bison gcc'
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_CONDITIONAL([CASE_A], test -z "$case_B")
+AC_PROG_CC
+AM_PROG_LEX
+AC_PROG_YACC
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+AM_YFLAGS               =       -d
+
+BUILT_SOURCES           =       tparse.h
+
+if CASE_A
+bin_PROGRAMS            =       ta
+ta_SOURCES              =       ta.c tparse.h tscan.l tparse.y
+ta_LDADD                =       $(LEXLIB)
+else
+bin_PROGRAMS            =       tb
+tb_SOURCES              =       tb.c tparse.h tscan.l tparse.y
+tb_LDADD                =       $(LEXLIB)
+tparse.h: tparce.c
+	echo whatever
+endif
+EOF
+
+$ACLOCAL
+
+# Presently Automake doesn't fully support partially overriden rules
+# and should complain.
+AUTOMAKE_fails --add-missing
+grep 'tparse.h.*already defined' stderr
+$AUTOMAKE -Wno-error
+
+# Still and all, it should generate two rules.
+test `grep tparse.h: Makefile.in | wc -l` = 2
+grep '@CASE_A_TRUE@tparse.h:' Makefile.in
+grep '@CASE_A_FALSE@tparse.h:' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond37.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond37.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond37.test	(revision 3089)
@@ -0,0 +1,63 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check conditional local rules.
+# Report from Simon Josefsson.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_CONDITIONAL([CASE_A], test -n "$case_A")
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+if CASE_A
+check-local:
+	@echo GrepMe1
+else
+install-data-local:
+	@echo GrepMe2
+endif
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE check >stdout
+cat stdout
+grep GrepMe1 stdout && exit 1
+$MAKE install >stdout
+cat stdout
+grep GrepMe2 stdout
+
+./configure case_A=1
+$MAKE check >stdout
+cat stdout
+grep GrepMe1 stdout
+$MAKE install >stdout
+cat stdout
+grep GrepMe2 stdout && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond38.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond38.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond38.test	(revision 3089)
@@ -0,0 +1,71 @@
+#!/bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check conditional variable ordering.
+# Report from Ed Hartnett.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_CONDITIONAL([CASE_A], :)
+AM_CONDITIONAL([CASE_B], :)
+AC_OUTPUT
+EOF
+
+cat >>Makefile.am <<'EOF'
+SUBDIRS = a
+if CASE_A
+SUBDIRS += b
+endif
+SUBDIRS += c
+if CASE_A
+SUBDIRS += d
+if CASE_B
+SUBDIRS += e
+endif
+SUBDIRS += f
+endif
+SUBDIRS += g
+if CASE_B
+SUBDIRS += h
+endif
+if CASE_B
+SUBDIRS += iXYZ
+SUBDIRS += jZYX
+endif
+print:
+	@echo BEG: $(SUBDIRS) :END
+EOF
+
+mkdir a b c d e f g h iXYZ jZYX
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE print >stdout
+cat stdout
+# Check good ordering
+grep 'BEG: a b c d e f g h iXYZ jZYX :END' stdout
+# Make sure no extra variable was created for the last 3 items.
+grep 'append.*=.* h iXYZ jZYX' Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond4.test	(revision 3089)
@@ -0,0 +1,81 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another sources-in-conditional test.  Report from Tim Goodwin.
+
+required='GNUmake gcc'
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(foo,0.0)
+AC_PROG_CC
+AM_CONDITIONAL(ONE, test "x$CONDITION1" = "xtrue")
+AM_CONDITIONAL(TWO, test "x$CONDITION2" = "xtrue")
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = targ
+
+if ONE
+OPT1 = one.c
+endif
+
+if TWO
+OPT2 = two.c
+endif
+
+targ_SOURCES = main.c $(OPT1) $(OPT2)
+
+echo-objects:
+	@echo $(targ_OBJECTS)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# We should not output useless definitions.
+test "`grep '^@TWO_FALSE@' Makefile.in | wc -l`" -eq 0 || exit 1
+
+$AUTOCONF || exit 1
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+CONDITION1=true CONDITION2=true ./configure || exit 1
+msgtt=`$MAKE --no-print-directory echo-objects`
+CONDITION1=true CONDITION2=false ./configure || exit 1
+msgtf=`$MAKE --no-print-directory echo-objects`
+CONDITION1=false CONDITION2=true ./configure || exit 1
+msgft=`$MAKE --no-print-directory echo-objects`
+CONDITION1=false CONDITION2=false ./configure || exit 1
+msgff=`$MAKE --no-print-directory echo-objects`
+
+echo $msgtt
+echo $msgtf
+echo $msgft
+echo $msgff
+
+test "$msgtt" = "main.o one.o two.o" || exit 1
+test "$msgtf" = "main.o one.o" || exit 1
+test "$msgft" = "main.o two.o" || exit 1
+test "$msgff" = "main.o" || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond5.test	(revision 3089)
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Yet another sources-in-conditional test.  Report from Tim Goodwin.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AM_CONDITIONAL(ONE, true)
+AM_CONDITIONAL(TWO, false)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = targ
+
+if ONE
+OPT_SRC = one.c
+endif
+
+if TWO
+OPT_SRC = $(OPT_SRC) two.c
+endif
+
+targ_SOURCES = main.c $(OPT_SRC)
+END
+
+# The bug is that automake hangs.  So we give it a few seconds and
+# then kill it.
+$ACLOCAL || exit 1
+$AUTOMAKE &
+pid=$!
+
+sleep 60
+kill -0 $pid && {
+   kill $pid
+   exit 1
+}
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond6.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for an odd conditional bug.  Report from Matt Leach.
+
+. ./defs || exit 1
+
+echo 'AM_CONDITIONAL(FOO, true)' >> configure.in
+
+cat > Makefile.am << 'END'
+
+if FOO
+
+helpdir = $(prefix)/Help
+# The continuation line below must start with a Tab to see the bug.
+help_DATA = a b c d e \
+	f g h
+
+else
+
+helpdir = $(prefix)/help
+help_DATA = foo
+
+endif
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond7.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for an odd conditional bug.  Report from Pavel Roskin.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT()
+AM_INIT_AUTOMAKE(test,0.1)
+compat=yes
+AM_CONDITIONAL(Compatible, test x$compat = xyes)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS=foreign
+if Compatible
+abdir = none
+ab_HEADERS = \
+        minus.h
+endif
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+grep '^[^#].*002' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond8.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure _PROGRAMS conditionals can be written in a useful
+# way.
+
+. ./defs || exit 1
+
+echo 'AC_PROG_CC' >> configure.in
+echo 'AM_CONDITIONAL(X, false)' >> configure.in
+
+cat > Makefile.am << 'END'
+if X
+bin_PROGRAMS = x y
+else
+noinst_PROGRAMS = x y
+endif
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cond9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cond9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cond9.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.  From Raja R Harinath.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(foo,0.0)
+AM_CONDITIONAL(WRONG, [test x = y])
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+if WRONG
+this=
+else
+this=is_something_interesting
+endif
+
+echo-something:
+	echo '$(this)'
+END
+
+$ACLOCAL \
+  && $AUTOCONF \
+  && $AUTOMAKE -a \
+  && ./configure \
+  && $MAKE echo-something | grep interesting > /dev/null
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condd.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condd.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condd.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+dnl Define a macro with the same name as the conditional to exhibit
+dnl any underquotted bug.
+AC_DEFUN([COND1], ["some'meaningless;characters`])
+AM_CONDITIONAL([COND1], false)
+AC_CONFIG_FILES([foo/Makefile])
+AC_CONFIG_FILES([bar/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = foo
+if COND1
+SUBDIRS += bar
+endif
+
+# Small example from the manual
+bin_PROGRAMS = hello
+hello_SOURCES = hello-common.c
+if COND1
+hello_SOURCES += hello-cond1.c
+else
+hello_SOURCES += hello-generic.c
+endif
+
+test: distdir
+	test -f $(distdir)/foo/Makefile.am
+	test -f $(distdir)/bar/Makefile.am
+	test -f $(distdir)/hello-common.c
+	test -f $(distdir)/hello-cond1.c
+	test -f $(distdir)/hello-generic.c
+END
+
+mkdir foo bar
+
+: > foo/Makefile.am
+: > bar/Makefile.am
+: > hello-common.c
+: > hello-cond1.c
+: > hello-generic.c
+
+$ACLOCAL
+$AUTOCONF
+grep "meaningless;characters" configure && exit 1
+$AUTOMAKE
+./configure
+$MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condhook.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condhook.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condhook.test	(revision 3089)
@@ -0,0 +1,47 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test install when a conditional install-*-hook is not defined.
+# Report by Nik A. Melchior (PR/428).
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL(TEST, false)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+sysconf_DATA = mumble
+if TEST
+install-data-hook:
+	echo foo
+endif
+END
+
+: > mumble
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure --prefix `pwd`/inst
+$MAKE install
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condinc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condinc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condinc.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure a conditional include statement is handled properly.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL(TOBE, false)
+END
+
+cat > Makefile.am << 'END'
+if TOBE
+include adjunct
+endif
+END
+
+cat > adjunct << 'END'
+target: dependency
+	rule
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^target:' Makefile.in && exit 1
+
+grep '^@TOBE_TRUE@target:' Makefile.in || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condinc2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condinc2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condinc2.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another test of conditional include statements.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL(TOBE, false)
+END
+
+cat > Makefile.am << 'END'
+if TOBE
+include adjunct
+endif
+END
+
+cat > adjunct << 'END'
+target: dependency
+	rule
+endif
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'adjunct:3: too many conditionals closed' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condlib.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condlib.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condlib.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug with conditional library.
+# From Harlan Stenn
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_RANLIB
+AM_MAINTAINER_MODE
+AC_EXEEXT
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = @LIBRSAREF@
+EXTRA_LIBRARIES = librsaref.a
+
+nodist_librsaref_a_SOURCES = desc.c digit.c
+
+BUILT_SOURCES = $(nodist_librsaref_a_SOURCES)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP librsaref.a.c Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condman.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condman.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condman.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure conditionals work with man pages.
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL(FRED, true)
+END
+
+cat > Makefile.am << 'END'
+if FRED
+man_MANS = foo.1
+else
+man_MANS = joe.1
+endif
+END
+
+: > foo.1
+: > joe.1
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/condman2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/condman2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/condman2.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure appropriate man install targets generated in all cases.
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+man_MANS = foo.1 foo.2
+man5_MANS = foo.5
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^install-man1:' Makefile.in || exit 1
+grep '^install-man2:' Makefile.in || exit 1
+grep '^install-man5:' Makefile.in || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/conf2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/conf2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/conf2.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure several config headers are allowed.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONFIG_HEADER(config.h two.h)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+: > Makefile.am
+
+: > config.h.in
+: > two.h.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confdeps.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confdeps.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confdeps.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that config* files are properly regenerated.
+
+. ./defs || exit 1
+
+echo "FOO = foo"        > Makefile.am
+set -e
+
+echo "$me: Generated by aclocal..."
+$ACLOCAL
+$AUTOMAKE
+grep '^\$(ACLOCAL_M4):' Makefile.in
+
+echo "$me: Not generated by aclocal..."
+# Pretend it is not from aclocal (remove the signature),
+# but keep it correct, i.e., with AM_INIT_AUTOMAKE etc.
+sed -n '3,$p' aclocal.m4 >aclocal.m4t
+mv aclocal.m4t aclocal.m4
+$AUTOMAKE
+grep '^\$(ACLOCAL_M4):' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/conff.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/conff.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/conff.test	(revision 3089)
@@ -0,0 +1,99 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure rebuild rules work even when AC_CONFIG_FILES uses colons.
+# Report from Alexander Turbov.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([bar/Makefile:bar/Makefile.in:Makefile.bot])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = bar
+EXTRA_DIST = Makefile.bot
+END
+
+mkdir bar
+cat > bar/Makefile.am << 'END'
+top-rule:
+	@echo 'top rule'
+END
+
+cat > Makefile.bot << 'END'
+bot-rule:
+	@echo 'bot rule'
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
+
+cd bar
+$MAKE top-rule >stdout
+cat stdout
+grep 'top rule' stdout
+$MAKE bot-rule >stdout
+cat stdout
+grep 'bot rule' stdout
+cd ..
+
+$sleep
+
+cat > bar/Makefile.am << 'END'
+top-rule:
+	@echo 'top2 rule'
+END
+$MAKE
+
+cd bar
+$MAKE top-rule >stdout
+cat stdout
+grep 'top2 rule' stdout
+$MAKE bot-rule >stdout
+cat stdout
+grep 'bot rule' stdout
+cd ..
+
+$sleep
+
+cat > Makefile.bot << 'END'
+bot-rule:
+	@echo 'bot2 rule'
+END
+$MAKE
+
+cd bar
+$MAKE top-rule >stdout
+cat stdout
+grep 'top2 rule' stdout
+$MAKE bot-rule >stdout
+cat stdout
+grep 'bot2 rule' stdout
+cd ..
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/conff2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/conff2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/conff2.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure empty calls to AC_CONFIG_FILES or AC_CONFIG_HEADERS are diagnosed.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES ([oops])
+AC_CONFIG_HEADERS
+AC_OUTPUT
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'configure.in:3:.*AC_CONFIG_FILES' stderr
+grep 'configure.in:4:.*AC_CONFIG_HEADERS' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confh.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confh.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confh.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config.h works in a subdir.
+# Report from Alexandre Oliva.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONFIG_HEADER(include/config.h)
+AC_OUTPUT(Makefile include/Makefile)
+END
+
+: > Makefile.am
+: > acconfig.h
+
+mkdir include
+: > include/Makefile.am
+: > include/config.h.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+(sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep acconfig.h) || exit 1
+
+# Make sure re-running automake in a different way generates same
+# Makefile.in.
+mv Makefile.in save
+$ACLOCAL || exit 1
+$AUTOMAKE Makefile || exit 1
+cmp Makefile.in save
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confh4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confh4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confh4.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 34.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONFIG_HEADER(include/config.h)
+AC_PROG_CC
+AC_OUTPUT(Makefile include/Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+END
+
+: > foo.c
+: > acconfig.h
+
+mkdir include
+: > include/Makefile.am
+: > include/config.h.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$EGREP '^DEFAULT_INCLUDES =.* -I(\.|\$\(top_builddir\))/include' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confh5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confh5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confh5.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we do not distribute header sources when they are built.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST([FOO], [name])
+AC_CONFIG_FILES(include/config.h.in)
+AC_CONFIG_HEADERS(config.h)
+AC_CONFIG_HEADERS(include/config.h)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+test: distdir
+	test -f $(distdir)/config.h.in
+	test -f $(distdir)/include/config.h.in.in
+	test ! -e $(distdir)/include/config.h.in
+END
+
+mkdir include
+: > include/config.h.in.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOHEADER
+$AUTOMAKE
+
+./configure
+$MAKE
+
+$sleep
+echo '#undef @FOO@' > include/config.h.in.in
+$MAKE include/config.h
+grep '/\*.*#undef.*name' include/config.h
+$MAKE test
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/config.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/config.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/config.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config.h rule made even if it is in a subdir.  The
+# idea is that if config.h is in a subdir, and there is no Makefile in
+# that subdir, then we want to build config.h as the top level.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONFIG_HEADER(subdir/config.h)
+AC_OUTPUT
+END
+
+: > Makefile.am
+mkdir subdir
+: > subdir/config.h.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
+
+$sleep
+echo '#define FOO' > subdir/config.h.in
+$MAKE subdir/config.h
+grep FOO subdir/config.h
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confincl.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confincl.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confincl.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# This tests for a bug reported by Gord Matzigkeit.
+# If config.h is not used, @CONFIG_INCLUDE_SPEC@ should not appear
+# in Makefile.in.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'EOF'
+bin_PROGRAMS = fred
+EOF
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+if grep '@CONFIG_INCLUDE_SPEC@' Makefile.in; then
+   exit 1
+fi
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/conflnk.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/conflnk.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/conflnk.test	(revision 3089)
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure links created by AC_CONFIG_LINKS get removed with
+# `make distclean'
+
+. ./defs || exit 1
+
+set -e
+
+echo 'SUBDIRS = sdir' > Makefile.am
+: > src
+mkdir sdir
+: > sdir/Makefile.am
+: > sdir/src2
+mkdir sdir-no-make
+
+cat >>configure.in << 'EOF'
+AC_CONFIG_FILES(sdir/Makefile)
+AC_CONFIG_LINKS(dest:src)
+AC_CONFIG_LINKS(dest2:src)
+AC_CONFIG_LINKS(sdir/dest3:src)
+AC_CONFIG_LINKS(dest4:sdir/src2)
+AC_CONFIG_LINKS(sdir/dest5:sdir/src2 sdir-no-make/dest6:src)
+AC_OUTPUT
+EOF
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+./configure
+
+# Make sure nothing is deleted by `make clean'
+$MAKE clean
+
+test -r dest
+test -r dest2
+test -r sdir/dest3
+test -r dest4
+test -r sdir/dest5
+test -r sdir-no-make/dest6
+test -f src
+test -f sdir/src2
+
+# Make sure the links are deleted by `make distclean' and the original files
+# are not.
+$MAKE distclean
+
+test -f src
+test -f sdir/src2
+
+test -r dest && exit 1
+test -r dest2 && exit 1
+test -r sdir/dest3 && exit 1
+test -r dest4 && exit 1
+test -r sdir/dest5 && exit 1
+test -r sdir-no-make/dest6 && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/conflnk2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/conflnk2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/conflnk2.test	(revision 3089)
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Copyright (C) 2003 Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that sources for links created by AC_CONFIG_LINKS
+# are distributed.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+SUBDIRS = sdir
+test: distdir
+	test -f $(distdir)/src
+	test -f $(distdir)/src2
+	test -f $(distdir)/sdir/src3
+	test -f $(distdir)/sdir-no-make/src4
+	test 2 -gt `find $(distdir)/sdir -type d | wc -l`
+	test 2 -gt `find $(distdir)/sdir-no-make -type d | wc -l`
+	test 4 -gt `find $(distdir) -type d | wc -l`
+END
+
+: > src
+: > src2
+mkdir sdir
+: > sdir/Makefile.am
+: > sdir/src3
+mkdir sdir-no-make
+: > sdir-no-make/src4
+
+cat >>configure.in << 'EOF'
+AC_CONFIG_FILES(sdir/Makefile)
+AC_CONFIG_LINKS(dest:src)
+AC_CONFIG_LINKS(sdir/dest2:src2 sdir-no-make/dest3:sdir/src3)
+AC_CONFIG_LINKS(sdir/dest4:sdir-no-make/src4)
+AC_OUTPUT
+EOF
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+./configure
+$MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/conflnk3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/conflnk3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/conflnk3.test	(revision 3089)
@@ -0,0 +1,96 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that AC_CONFIG_LINKS using a variable source
+# is not broken.
+
+. ./defs || exit 1
+
+set -e
+
+# Skip platforms where `test -e' does not work.  (Note that Changing
+# all `test -e' into `test -h' will not work when AC_CONFIG_LINKS
+# copies or hardlinks files.)
+(test -e configure.in) >/dev/null 2>&1 || exit 77
+
+cat > Makefile.am << 'END'
+SUBDIRS = sdir
+test: distdir
+	test ! -e $(distdir)/sdir/dest3
+	test ! -e $(distdir)/sdir/dest2
+	test ! -e $(distdir)/dest3
+	test ! -e $(distdir)/dest2
+	test -f $(distdir)/src2
+## src3 cannot be distributed, Automake knows nothing about it
+	test ! -e $(distdir)/sdir/src3
+	test ! -e $(distdir)/src3
+END
+
+: > src
+: > src2
+mkdir sdir
+: > sdir/Makefile.am
+: > sdir/src3
+
+cat >>configure.in << 'EOF'
+AC_CONFIG_FILES(sdir/Makefile)
+my_src_dir=sdir
+my_dest=dest
+AC_CONFIG_LINKS(sdir/dest2:src2 sdir/dest3:$my_src_dir/src3)
+AC_CONFIG_LINKS($my_dest:src)
+# the following is a link whose source is itself a link
+AC_CONFIG_LINKS(dest4:sdir/dest2)
+# Some package prefer to compute links.
+cmplink='dest5:src';
+AC_CONFIG_LINKS($cmplink)
+AC_OUTPUT
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+# $my_src_dir and $my_dest are variables local to configure, they should
+# not appear in Makefile.
+grep my_src_dir Makefile.in && exit 1
+grep my_dest Makefile.in && exit 1
+
+./configure
+test -e sdir/dest2
+test -e sdir/dest3
+test -e dest
+test -e dest4
+test -e dest5
+$MAKE test
+
+$MAKE distclean
+test ! -e sdir/dest2
+test ! -e sdir/dest3
+test -e dest  # Should still exist, Automake knows nothing about it.
+test -e dest5 # ditto
+rm -f dest dest5
+test ! -e dest4
+
+## Cannot do the following, because at the time of writing Autoconf
+## (2.59) does not support AC_CONFIG_LINKS source in the build tree.
+# mkdir build
+# cd build
+# ../configure
+# $MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confsub.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confsub.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confsub.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config.h can be in subdir.
+# Also, make sure config.h is properly rebuilt.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONFIG_HEADER(subdir/config.h:subdir/config.hin)
+AC_OUTPUT(Makefile subdir/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = subdir
+END
+
+mkdir subdir
+cat > subdir/Makefile.am << 'END'
+END
+
+echo 'Before.' > subdir/config.hin
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# Make sure subdir Makefile.in doesn't itself look in the subdir.
+# One line is allowed though:
+#
+# cd $(top_builddir) && $(SHELL) ./config.status subdir/config.h
+($FGREP 'subdir/config.h' subdir/Makefile.in |
+   $FGREP -v 'cd $(top_builddir)') && exit 1
+
+$AUTOCONF || exit 1
+./configure || exit 1
+$FGREP 'Before.' subdir/config.h
+
+$sleep
+echo 'After.' > subdir/config.hin
+$MAKE || exit 1
+$FGREP 'After.' subdir/config.h || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confvar.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confvar.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confvar.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure configure_vars stuff works.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST(QBERT)
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^QBERT' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/confvar2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/confvar2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/confvar2.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Jim Meyering.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST(OTHER_SCRIPTS)
+END
+
+cat > Makefile.am << 'END'
+bin_SCRIPTS = foo
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/copy.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/copy.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/copy.test	(revision 3089)
@@ -0,0 +1,29 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `-c' works.  Report from Andris Pavenis.
+
+. ./defs || exit 1
+
+: > Makefile.am
+rm -f install-sh
+
+$ACLOCAL || exit 1
+$AUTOMAKE -c -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ctarget1.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ctarget1.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ctarget1.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check basic use of conditionals.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONDITIONAL(TEST, true)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+if TEST
+target: true
+	action
+else
+target: false
+endif
+END
+
+set -e
+
+$ACLOCAL || exit 1
+$AUTOMAKE
+grep '^@TEST_TRUE@target: true' Makefile.in
+grep '^@TEST_TRUE@	action' Makefile.in
+grep '^@TEST_FALSE@target: false' Makefile.in
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxx.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxx.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxx.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that `.c++' extension works.
+# From Ralf Corsepius.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = hello
+hello_SOURCES = hello.c++
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^\.SUFFIXES:.*c[+][+]' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxx2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxx2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxx2.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that Automake suggests using AC_PROG_CXX if C++ sources are used.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >>configure.in
+
+cat >Makefile.am <<'END'
+bin_PROGRAMS = hello
+hello_SOURCES = hello.cpp
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AC_PROG_CXX stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxxansi.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxxansi.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxxansi.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure ansi2knr doesn't use `$U' for C++.
+# Report from Robert Boehne.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+AM_C_PROTOTYPES
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+sbin_PROGRAMS = anonymous
+anonymous_SOURCES = doe.c jane.C
+END
+
+: > ansi2knr.c
+: > ansi2knr.1
+
+: > doe.C
+: > jane.C
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP 'jane$U' Makefile.in && exit 1
+$FGREP 'doe$U' Makefile.in || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxxcpp.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxxcpp.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxxcpp.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure automake sees AC_PROG_CXXCPP.  From Garth Corral.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXXCPP
+END
+
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^CXXCPP' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxxlibobj.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxxlibobj.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxxlibobj.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure LIBOBJS and C++ sources work right.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+AC_PROG_CC
+AC_REPLACE_FUNCS(strdup)
+END
+
+cat > Makefile.am << 'END'
+sbin_PROGRAMS = anonymous
+anonymous_SOURCES = doe.C jane.C
+anonymous_LDADD = @LIBOBJS@
+END
+
+: > strdup.c
+: > doe.C
+: > jane.C
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep CC Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxxlink.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxxlink.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxxlink.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure C++ linker is used when appropriate.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lava.c lamp.cxx
+END
+
+: > lava.c
+: > lamp.cxx
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.CXXLINK' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxxnoc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxxnoc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxxnoc.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure pure C++ sources don't include C-specific code.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+sbin_PROGRAMS = anonymous
+anonymous_SOURCES = doe.C jane.C
+END
+
+: > doe.C
+: > jane.C
+
+$ACLOCAL
+$AUTOMAKE
+
+$FGREP '(CC)' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cxxo.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cxxo.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cxxo.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure C++ files are rewritten to ".o" and not just "o".
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+sbin_PROGRAMS = anonymous
+anonymous_SOURCES = doe.C
+END
+
+: > doe.C
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP 'doe.$(OBJEXT)' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/cygwin32.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/cygwin32.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/cygwin32.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1997, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test basic Cygwin32 functionality.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_EXEEXT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = www
+www_SOURCES = www.c
+EXTRA_www_SOURCES = xtra.c
+www_LDADD = @extra_stuff@
+END
+
+: > www.c
+: > xtra.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^CYGWIN' Makefile.in && exit 1
+grep 'EXEEXT' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dash.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dash.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dash.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `-' can be used in path.
+# Report from Matthew D. Langston.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+include Make-lang
+END
+
+: > Make-lang
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/defs.in
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/defs.in	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/defs.in	(revision 3089)
@@ -0,0 +1,344 @@
+# -*- shell-script -*-
+# @configure_input@
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with autoconf; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Defines for Automake testing environment.
+# Tom Tromey <tromey@cygnus.com>
+
+# Be Bourne compatible.
+# (Snippet copied from configure's initialization in Autoconf 2.57.)
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+# Ensure we are running from the right directory.
+test -f ./defs || {
+   echo "defs: not found in current directory" 1>&2
+   exit 1
+}
+
+# If srcdir is not set, then we are not running from `make check', be verbose.
+if test -z "$srcdir"; then
+   test -z "$VERBOSE" && VERBOSE=x
+   # compute $srcdir.
+   srcdir=`echo "$0" | sed -e 's,/[^\\/]*$,,'`
+   test $srcdir = $0 && srcdir=.
+fi
+
+# Ensure $srcdir is set correctly.
+test -f $srcdir/defs.in || {
+   echo "$srcdir/defs.in not found, check \$srcdir" 1>&2
+   exit 1
+}
+
+me=`echo "$0" | sed -e 's,.*[\\/],,;s/\.test$//'`
+
+# See how redirections should work.  User can set VERBOSE to see all
+# output.
+test -z "$VERBOSE" && {
+   exec > /dev/null 2>&1
+}
+
+# Make sure we override the user shell.
+SHELL='@SHELL@'
+export SHELL
+# User can override various tools used.
+test -z "$PERL" && PERL='@PERL@'
+test -z "$MAKE" && MAKE=make
+test -z "$AUTOCONF" && AUTOCONF="@am_AUTOCONF@"
+test -z "$AUTOHEADER" && AUTOHEADER="@AUTOHEADER@"
+test -z "$AUTOUPDATE" && AUTOUPDATE=autoupdate
+test -z "$MISSING" && MISSING=`pwd`/../lib/missing
+test -z "$ACLOCAL" && ACLOCAL="aclocal-@APIVERSION@"
+# See how Automake should be run.  We put --foreign as the default
+# strictness to avoid having to create lots and lots of files.  A test
+# can override this by specifying a different strictness.  Use -Wall
+# -Werror by default.  Tests for which this is inappropriate
+# (e.g. when testing that a warning is enabled by a specific switch)
+# should use -Wnone or/and -Wno-error
+test -z "$AUTOMAKE" && AUTOMAKE="automake-@APIVERSION@ --foreign -Werror -Wall"
+
+PATH="`pwd`@PATH_SEPARATOR@$PATH"
+echo $PATH
+# Some shells forget to export modified environment variables.
+# (See note about `export' in the Autoconf manual.)
+export PATH
+
+if test -n "$required"
+then
+  for tool in $required
+  do
+    # Check that each required tool is present.
+    case $tool in
+      bison)
+	# Since bison is required, we pick YACC for ./configure.
+	YACC='bison -y'
+	export YACC
+	echo "$me: running bison --version"
+	( bison --version ) || exit 77
+	;;
+      bzip2)
+	# Do not use --version, bzip2 still tries to compress stdin.
+	echo "$me: running bzip2 --help"
+	( bzip2 --help ) || exit 77
+	;;
+      etags)
+	# Exuberant Ctags will create a TAGS file even
+	# when asked for --help or --version.  (Emacs's etags
+	# does not have such problem.)  Use -o /dev/null
+	# to make sure we do not pollute the tests/ directory.
+	echo "$me: running etags --version -o /dev/null"
+	( etags --version -o /dev/null ) || exit 77
+	;;
+      GNUmake)
+	# Use --version AND -v, because SGI Make doesn't fail on --version.
+	# Also grep for GNU because newer versions of FreeBSD make do
+	# not complain about `--version' (they seem to silently ignore it).
+	echo "$me: running $MAKE --version -v | grep GNU"
+	( $MAKE --version -v | grep GNU ) || exit 77
+	;;
+      gcc)
+        # When gcc is required, export `CC=gcc' so that ./configure
+        # always use it.  This is important only when the user
+        # has defined CC in his environment, otherwise ./configure will
+        # prefer gcc to other compilers.
+        CC=gcc
+	export CC
+	echo "$me: running $CC --version"
+	( $CC --version ) || exit 77
+	;;
+      g++)
+        CXX=g++
+	export CXX
+	echo "$me: running $CXX --version"
+	( $CXX --version ) || exit 77
+	;;
+      icc)
+        CC=icc
+	export CC
+	# There is no way to ask *only* the compiler's version.
+	# This tool always want to do something (by default
+	# it will try link *nothing* and complain it cannot find
+	# main(); funny).  Use -help so it does not try linking anything.
+	echo "$me: running $CC -V -help"
+	( $CC -V -help ) || exit 77
+	;;
+      makedepend)
+	echo "$me: running makedepend -f-"
+	( makedepend -f- ) || exit 77
+	;;
+      makeinfo-html)
+	# Make sure makeinfo understands --html.
+	echo "$me: running makeinfo --html --version"
+	( makeinfo --html --version ) || exit 77
+	;;
+      non-root)
+	# Skip this test case if the user is root.
+	# We try to append to a read-only file to detect this.
+	priv_check_temp=priv-check.$$
+	touch $priv_check_temp || exit 1
+	chmod a-w $priv_check_temp || exit 1
+	(echo foo >> $priv_check_temp) >/dev/null 2>&1
+	overwrite_status=$?
+	rm -f $priv_check_temp
+	test $overwrite_status = 0 && exit 77
+	;;
+      python)
+	# Python doesn't support --version, it has -V
+	echo "$me: running python -V"
+	( python -V ) || exit 77
+	;;
+      ro-dir)
+	# Skip this test case if read-only directories aren't supported
+	# (e.g., under DOS.)
+	ro_dir_temp=ro_dir.$$
+	mkdir $ro_dir_temp || exit 1
+	chmod a-w $ro_dir_temp || exit 1
+	(: > $ro_dir_temp/probe) >/dev/null 2>/dev/null
+	create_status=$?
+	rm -rf $ro_dir_temp
+	test $create_status = 0 && exit 77
+	;;
+      runtest)
+	# DejaGnu's runtest program. We rely on being able to specify
+	# the program on the runtest command-line. This requires
+	# DejaGnu 1.4.3 or later.
+	echo "$me: running runtest --version"
+	(runtest SOMEPROGRAM=someprogram --version) || exit 77
+	;;
+      tex)
+        # No all versions of Tex support `--version', so we use
+        # a configure check.
+        test -n "@TEX@" || exit 77
+	;;
+      texi2dvi-o)
+        # Texi2dvi supports `-o' since Texinfo 4.1.
+	echo "$me: running texi2dvi -o /dev/null --version"
+	( texi2dvi -o /dev/null --version ) || exit 77
+	;;
+      # Generic case: the tool must support --version.
+      *)
+	echo "$me: running $tool --version"
+	( $tool --version ) || exit 77
+	;;
+    esac
+    # Additional variables to define if some $tool is required.
+    case $tool in
+      gcc)
+	;;
+    esac
+  done
+fi
+
+# Always use an absolute srcdir.  Otherwise symlinks made in subdirs
+# of the test dir just won't work.
+case "$srcdir" in
+ [\\/]* | ?:[\\/]*)
+    ;;
+
+ *)
+    srcdir=`CDPATH=: && cd "$srcdir" && pwd`
+    ;;
+esac
+
+chmod -R a+rwx testSubDir > /dev/null 2>&1
+rm -rf testSubDir > /dev/null 2>&1
+mkdir testSubDir
+
+# Copy in some files we need.
+for file in install-sh missing depcomp; do
+   cp $srcdir/../lib/$file testSubDir/$file || exit 1
+done
+
+cd ./testSubDir
+
+# Build appropriate environment in test directory.  Eg create
+# configure.in, touch all necessary files, etc.
+# Don't use AC_OUTPUT, but AC_CONFIG_FILES so that appending
+# still produces a valid configure.ac.  But then, tests running
+# config.status really need to append AC_OUTPUT.
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+
+# Unset some MAKE... variables that may cause $MAKE to act like a
+# recursively invoked sub-make.  Any $MAKE invocation in a test is
+# conceptually an independent invocation, not part of the main
+# 'automake' build.
+unset MFLAGS
+unset MAKEFLAGS
+unset MAKELEVEL
+unset DESTDIR
+
+echo "=== Running test $0"
+
+# We might need extra macros, e.g., from Libtool or Gettext.
+# Find them on the system.
+# Use `-I $srcdir/../m4' in addition to `--acdir=$srcdir/../m4', because the
+# other `-I' directories added for libtool and gettext might contain
+# files from an old version of Automake that we don't want to use.
+aclocaldir='@prefix@/share/aclocal'
+extra_includes=""
+if [ -f $aclocaldir/dirlist ] ; then
+   extra_includes=`(tmp_inc=""
+   while read LINE ; do
+      tmp_inc="$tmp_inc -I $LINE"
+   done
+   echo $tmp_inc) < $aclocaldir/dirlist`
+fi
+case $required in
+  *libtool* )
+    libtool_found=no
+    for d in $extra_includes $aclocaldir ; do
+       if [ "x$d" != "x-I" ] && [ -f "$d/libtool.m4" ] ; then
+          libtool_found=yes
+       fi
+    done
+    test "x$libtool_found" = "xyes" || exit 77
+    ACLOCAL="$ACLOCAL -I $srcdir/../m4 $extra_includes -I $aclocaldir"
+    ;;
+  *gettext* )
+    gettext_found=no
+    for d in $extra_includes $aclocaldir ; do
+       if [ "x$d" != "x-I" ] && [ -f "$d/gettext.m4" ] ; then
+          gettext_found=yes
+       fi
+    done
+    test "x$gettext_found" = "xyes" || exit 77
+    ACLOCAL="$ACLOCAL -I $srcdir/../m4 $extra_includes -I $aclocaldir"
+    ;;
+esac
+
+# POSIX no longer requires 'egrep' and 'fgrep',
+# but some hosts lack 'grep -E' and 'grep -F'.
+EGREP='@EGREP@'
+FGREP='@FGREP@'
+
+# The amount we should wait after modifying files depends on the platform.
+# For instance, Windows '95, '98 and ME have 2-second granularity
+# and can be up to 3 seconds in the future w.r.t. the system clock.
+sleep='sleep @MODIFICATION_DELAY@'
+
+# The tests call `make -e' but we do not want $srcdir from the environment
+# to override the definition from the Makefile.
+testsrcdir=$srcdir
+unset srcdir
+
+# AUTOMAKE_run status [options...]
+# --------------------------------
+# Run Automake with OPTIONS, and fail if automake
+# does not exit with STATUS.
+AUTOMAKE_run ()
+{
+  expected_exitcode=$1
+  shift
+  exitcode=0
+  $AUTOMAKE ${1+"$@"} 2>stderr >stdout || exitcode=$?
+  cat stderr
+  cat stdout
+  test $exitcode = $expected_exitcode || exit 1
+}
+
+# AUTOMAKE_fails [options...]
+# ---------------------------
+# Run Automake with OPTIONS, and fail if automake
+# does not exit with STATUS.
+AUTOMAKE_fails ()
+{
+  AUTOMAKE_run 1 ${1+"$@"}
+}
+
+# Turn on shell traces when VERBOSE=x.
+if test "x$VERBOSE" = xx; then
+  set -x
+else
+  :
+fi
+pwd
Index: /trunk/essentials/sys-devel/automake-1.9/tests/defun.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/defun.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/defun.test	(revision 3089)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 1996, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal picks up on all macro definitions.
+
+. ./defs || exit 1
+
+cat > acinclude.m4 << 'END'
+AC_DEFUN([AM_FUNC_TWO])
+AC_DEFUN([AM_FUNC_ONE], [AC_REQUIRE([AM_FUNC_TWO])])
+END
+
+$ACLOCAL
Index: /trunk/essentials/sys-devel/automake-1.9/tests/defun2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/defun2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/defun2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we don't mistake a macro definition for an invocation.
+# From Jim Meyering.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+dnl if buggy this will require getloadavg.c
+AC_PROG_CC
+AC_DEFUN([AC_FUNC_GETLOADAVG])
+dnl need this to avoid LIBOBJS used but not defined.
+AC_FUNC_MEMCMP
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_LDADD = @LIBOBJS@
+END
+
+: > memcmp.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dejagnu tests and automake-style tests can coexist.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
+TESTS = frob.test
+END
+
+: > frob.test
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^check-TESTS' Makefile.in
+grep '^check-DEJAGNU' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu2.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we don't override the user's site.exp rule.
+
+. ./defs || exit 1
+
+set -e
+
+echo 'AC_OUTPUT' >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
+
+site.exp:
+	@echo foo
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -Wno-override
+
+grep site.exp Makefile.in
+test `grep '^site\.exp:' Makefile.in | wc -l` -eq 1
+
+./configure
+$MAKE site.exp >stdout
+cat stdout
+grep foo stdout
+
+AUTOMAKE_fails
+grep 'Makefile.am:3:.*site.exp' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu3.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that the DejaGnu rules work for a simple program and test case.
+
+required=runtest
+. ./defs || exit 1
+
+set -e
+
+cat > hammer << 'END'
+#! /bin/sh
+echo "Everything looks like a nail to me!"
+END
+
+chmod +x hammer
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
+
+DEJATOOL = hammer
+
+AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer
+
+EXTRA_DIST = hammer hammer.test/hammer.exp
+END
+
+mkdir hammer.test
+
+cat > hammer.test/hammer.exp << 'END'
+set test test
+spawn $HAMMER
+expect {
+    "Everything looks like a nail to me!" { pass "$test" }
+    default { fail "$test" }
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check
+test -f hammer.log
+test -f hammer.sum
+
+$MAKE distcheck
+
+# Ensure that the envvar RUNTESTFLAGS is used.
+# Report from Mark Mitchell.
+RUNTESTFLAGS=--unknown-option $MAKE check && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu4.test	(revision 3089)
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that the DejaGnu rules work for a simple program and test case.
+
+required=runtest
+. ./defs || exit 1
+
+set -e
+
+cat > hammer << 'END'
+#! /bin/sh
+echo "Everything looks like a nail to me!"
+END
+
+chmod +x hammer
+
+cat > spanner << 'END'
+#! /bin/sh
+echo "I'm a right spanner!"
+END
+
+chmod +x spanner
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
+
+DEJATOOL = hammer spanner
+
+AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer SPANNER=$(srcdir)/spanner
+
+EXTRA_DIST  = hammer  hammer.test/hammer.exp
+EXTRA_DIST += spanner spanner.test/spanner.exp
+END
+
+mkdir hammer.test
+mkdir spanner.test
+
+cat > hammer.test/hammer.exp << 'END'
+set test test
+spawn $HAMMER
+expect {
+    "Everything looks like a nail to me!" { pass "$test" }
+    default { fail "$test" }
+}
+END
+
+cat > spanner.test/spanner.exp << 'END'
+set test test
+spawn $SPANNER
+expect {
+    "I'm a right spanner!" { pass "$test" }
+    default { fail "$test" }
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check
+test -f hammer.log
+test -f hammer.sum
+test -f spanner.log
+test -f spanner.sum
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu5.test	(revision 3089)
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that the DejaGnu rules do look for a testsuite named after
+# the package by default.
+
+required=runtest
+. ./defs || exit 1
+
+set -e
+
+# Get the package name from configure.in.
+package=`$FGREP AC_INIT configure.in | sed -e 's:^[^[]*\[\([^]]*\)\].*$:\1:'`
+
+cat > $package << 'END'
+#! /bin/sh
+echo "Ah, we have been expecting you, Mr. Blond."
+END
+
+chmod +x $package
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << END
+AUTOMAKE_OPTIONS = dejagnu
+
+EXTRA_DIST = $package $package.test/$package.exp
+END
+
+echo "AM_RUNTESTFLAGS = PACKAGE=\$(srcdir)/$package" >> Makefile.am
+
+mkdir $package.test
+
+cat > $package.test/$package.exp << 'END'
+set test "test"
+spawn $PACKAGE
+expect {
+    "Ah, we have been expecting you, Mr. Blond." { pass "$test" }
+    default { fail "$test" }
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check
+test -f $package.log
+test -f $package.sum
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu6.test	(revision 3089)
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that "make check" fails, when a DejaGnu test fails.
+
+required=runtest
+. ./defs || exit 1
+
+set -e
+
+cat > faildeja << 'END'
+#! /bin/sh
+echo whatever
+END
+
+chmod +x faildeja
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
+
+DEJATOOL = faildeja
+
+AM_RUNTESTFLAGS = FAILDEJA=$(srcdir)/faildeja
+END
+
+mkdir faildeja.test
+
+cat > faildeja.test/faildeja.exp << 'END'
+set test test
+spawn $FAILDEJA
+expect {
+    default { fail "$test" }
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check && exit 1
+test -f faildeja.log
+test -f faildeja.sum
+$FGREP 'FAIL: test' faildeja.sum
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dejagnu7.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that "make check" fails, when we invoke DejaGnu tests with --status
+# (to detect TCL errors) on a file with TCL errors.
+
+required=runtest
+. ./defs || exit 1
+
+# Check whether DejaGnu supports --status
+runtest --help | $FGREP -e --status || exit 77
+
+cat > failtcl << 'END'
+#! /bin/sh
+echo whatever
+END
+
+chmod +x failtcl
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
+
+DEJATOOL = failtcl
+
+AM_RUNTESTFLAGS = --status FAILTCL=$(srcdir)/failtcl
+END
+
+mkdir failtcl.test
+
+cat > failtcl.test/failtcl.exp << 'END'
+set test test
+spawn $FAILTCL
+expect {
+    default { pass "$test" }
+# Oops, no closing brace.
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+
+$MAKE check && exit 1
+test -f failtcl.log
+test -f failtcl.sum
+$FGREP 'missing close-brace' failtcl.sum
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depacl2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depacl2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depacl2.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dependencies work when required macro is part of
+# autoconf.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_C_PROTOTYPES
+FOO
+END
+
+cat > AM_C_PROTOTYPES.m4 << 'END'
+AC_DEFUN([AM_C_PROTOTYPES], [AC_REQUIRE([AC_HEADER_STDC])])
+END
+
+# Our --acdir overrides the one in $ACLOCAL.
+$ACLOCAL -I .
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depcomp.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depcomp.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depcomp.test	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure depcomp is installed and found properly
+# when required for multiple directories
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_OUTPUT(subdir/Makefile subdir2/Makefile)
+END
+
+rm -f depcomp
+mkdir subdir
+mkdir subdir2
+
+cat > subdir/Makefile.am << 'END'
+noinst_PROGRAMS = foo
+foo_SOURCES = foo.c
+END
+
+cp subdir/Makefile.am subdir2/Makefile.am
+
+: > subdir/foo.c
+: > subdir2/foo.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing || exit 1
+
+# There used to be a bug where this was created in the first subdir with C
+# sources in it instead of in $top_srcdir or $ac_auxdir
+test -f depcomp || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depcomp2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depcomp2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depcomp2.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that depcomp is not used when it's not installed
+# From Pavel Roskin.
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(subdir/foo.c)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_OUTPUT(Makefile subdir/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = subdir
+END
+
+rm -f depcomp
+mkdir subdir
+
+cat > subdir/Makefile.in << 'END'
+foo:
+	$(CC) -o foo foo.c
+END
+
+: > subdir/foo.c
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing || exit 1
+$AUTOCONF || exit 1
+./configure CC='gcc' 2>error.log
+test -z "`cat error.log`"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depcomp3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depcomp3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depcomp3.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure dashmstdout generates dependencies.
+
+required='gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+check_PROGRAMS = prg
+prg_SOURCES = src/sub.c src/foo.h
+
+grepdeps:
+	grep 'src/sub.$(OBJEXT).*:' src/$(DEPDIR)/sub.Po
+
+END
+
+mkdir src
+
+touch src/foo.h
+
+cat >src/sub.c <<EOF
+#include "foo.h"
+int
+main ()
+{
+   return 0;
+}
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure the cache variable we force is used by configure
+grep am_cv_CC_dependencies_compiler_type configure
+
+./configure am_cv_CC_dependencies_compiler_type=dashmstdout
+$MAKE check
+$MAKE grepdeps
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depcomp4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depcomp4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depcomp4.test	(revision 3089)
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 385: makedepend doesn't work with Libtool.
+
+required='libtoolize gcc makedepend'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LTLIBRARIES = liba.la
+liba_la_SOURCES = a.c foo.h
+
+grepdeps:
+	grep 'a.lo *:' ./$(DEPDIR)/a.Plo
+END
+
+: > foo.h
+
+cat >a.c <<EOF
+#include "foo.h"
+int a() { return 0; }
+EOF
+
+libtoolize --force
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure the cache variable we force is used by configure
+grep am_cv_CC_dependencies_compiler_type configure
+
+./configure am_cv_CC_dependencies_compiler_type=makedepend
+$MAKE >output 2>&1
+cat output
+grep 'unknown directive' output && exit 1
+$MAKE grepdeps
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depcomp5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depcomp5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depcomp5.test	(revision 3089)
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check icc's dependency mode.
+
+required='icc'
+. ./defs || exit 1
+
+# Automake supports icc since version 7.0 through a dedicated depcomp mode.
+# icc 8.0 and greater understand gcc options, so depmode is set to gcc.
+if icc -V -help 2>&1 | grep 'Version 7'; then
+  expect='depmode=icc'
+else
+  expect='depmode=gcc'
+fi
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+check_PROGRAMS = prg
+prg_SOURCES = src/sub.c src/foo.h
+
+grepdeps:
+	grep 'src/sub.$(OBJEXT).*:' src/$(DEPDIR)/sub.Po
+
+END
+
+mkdir src
+
+touch src/foo.h
+
+cat >src/sub.c <<EOF
+#include "foo.h"
+int
+main ()
+{
+   return 0;
+}
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+grep "$expect" Makefile
+$MAKE check
+$MAKE grepdeps
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depdist.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depdist.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depdist.test	(revision 3089)
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure depcomp is found for the distribution.
+# From Eric Magnien.
+
+. ./defs || exit 1
+
+rm -f configure.in
+
+mkdir config
+for i in *; do
+   if test $i != "config"; then
+      mv $i config
+   fi
+done
+
+cat > configure.in << 'END'
+AC_INIT(subdir/foo.c)
+AC_CONFIG_AUX_DIR(config)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_OUTPUT(subdir/Makefile Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = subdir
+END
+
+mkdir subdir
+: > subdir/foo.c
+
+cat > subdir/Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+END
+
+set -e
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+grep config/depcomp Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depend.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depend.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depend.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1999, 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# This tests for a bug reported by Henrik Frystyk Nielsen <frystyk@w3.org>
+# In some cases the auto-dependency can get confused and try
+# to `-include' a directory (if a backslash-newline appears in _SOURCES).
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = fred
+fred_SOURCES = \
+   fred.c
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+test 1 = `grep '^@AMDEP_TRUE@@am__include@' Makefile.in | wc -l`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depend2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depend2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depend2.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dependency tracking works with
+# --disable-dependency-tracking.
+# Report from Robert Boehne
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(hello.c)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = hello
+END
+
+cat > hello.h << 'END'
+#include <stdio.h>
+END
+
+cat > hello.c << 'END'
+#include "hello.h"
+int
+main (int argc, char *argv[])
+{
+   printf ("yeah, yeah\n");
+   return 0;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+./configure --disable-dependency-tracking
+
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depend3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depend3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depend3.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test _DEPENDENCIES variable.  From Lee Iverson.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_SUBST(DEPS)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = TerraVision
+
+TerraVision_SOURCES = \
+	AboutDialog.c Clock.c Dialogs.c DrawModel.c \
+	TsmWidget.c Gats.c GATSDialogs.c Model.c ModelAnim.c \
+	ScannedMap.c \
+        TerraVision.c TerraVisionAvs.c TerraVisionCAVE.c \
+	Texture.c ThreeDControl.c ThreeDPanel.c \
+	ThreeDWidget.c ThreeDWidget1.c TileManager.c \
+	TileRequester.c TwoDWidget.c \
+        Visible.c RequestGenerator.c X11FrameGrab.c \
+	matrix.c pixmaps.c xpmhash.c xpmread.c xcolor.c xv24to8.c
+
+DEPS = @DEPS@
+
+TerraVision_DEPENDENCIES = $(DEPS)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/depend4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/depend4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/depend4.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that dependencies are included when there are many header files.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+$ACLOCAL
+
+headers=
+for header in one.h two.h three.h four.h five.h six.h
+do
+    headers="$headers $header"
+    cat > Makefile.am << END
+bin_PROGRAMS = fred
+fred_SOURCES = fred1.c $headers
+END
+
+    $AUTOMAKE
+
+    test 1 = `grep '^@AMDEP_TRUE@@am__include@' Makefile.in | wc -l`
+done
Index: /trunk/essentials/sys-devel/automake-1.9/tests/destdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/destdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/destdir.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that `make distcheck' can find some $(DESTDIR) omissions.
+# PR/186.
+
+# The feature we test here relies on read-only directories.
+# It will only work for non-root users.
+required='ro-dir'
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+cat > Makefile.am <<'EOF'
+dist_data_DATA = foo
+
+# This rule is bogus because it doesn't use $(DESTDIR) on the
+# second argument of cp.  distcheck is expected to catch this.
+install-data-hook:
+	cp $(DESTDIR)$(datadir)/foo $(datadir)/bar
+
+uninstall-local:
+	rm -f $(DESTDIR)$(datadir)/bar
+EOF
+
+: > foo
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE distcheck && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dirforbid.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dirforbid.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dirforbid.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# All primaries cannot be used with all directories.
+# Automake should flag them as errors.
+# For PR/294
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+AC_PROG_CC
+END
+
+# Try some (not all) disallowed variables
+for i in data_PROGRAMS lib_HEADERS ; do
+  cat > Makefile.am << END
+$i = foo
+END
+  $ACLOCAL
+  AUTOMAKE_fails -a
+  grep 'Makefile.am:1:.*directory' stderr
+done
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dirlist.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dirlist.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dirlist.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check dirlist support.
+# This test relies on m4/dirlist
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in <<EOF
+AC_INIT
+AM_INIT_GUILE_MODULE
+EOF
+
+mkdir dirlist-test
+
+cat >dirlist-test/dirlist-check.m4 <<'END'
+AC_DEFUN([AM_INIT_GUILE_MODULE],[
+. $srcdir/../GUILE-VERSION
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_CONFIG_AUX_DIR(..)
+module=[$1]
+AC_SUBST(module)])
+END
+
+cat >dirlist-test/init.m4 <<EOF
+AC_DEFUN([AM_INIT_AUTOMAKE], [I should not be included])
+EOF
+
+$ACLOCAL
+$AUTOCONF
+grep 'GUILE-VERSION' configure
+
+# This bug can occur only when we do a VPATH build of Automake
+# (because of the `-I' passed to aclocal in tests/defs) but it's
+# OK because this is what `make distcheck' does.
+grep 'I should not be included' configure && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/discover.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/discover.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/discover.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure LIBOBJS file cannot be mentioned explicitly.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_RANLIB
+AC_PROG_CC
+AC_LIBOBJ([fsusage])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES = fsusage.c
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+: > fsusage.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE 2>&1 | $FGREP fsusage.c || exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distcom2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distcom2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distcom2.test	(revision 3089)
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that depcomp and compile are added to DIST_COMMON
+# From Pavel Roskin.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_CONFIG_FILES([subdir/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = subdir
+END
+
+mkdir subdir
+: > subdir/foo.c
+
+cat > subdir/Makefile.am << 'END'
+noinst_PROGRAMS = foo
+foo_SOURCES = foo.c
+foo_CFLAGS = -DBAR
+END
+
+rm -f compile depcomp
+
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing || exit 1
+
+test -f compile || exit 1
+test -f depcomp || exit 1
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep compile || exit 1
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep depcomp || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distcom3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distcom3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distcom3.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that non-existing common files are distributed
+# if they are buildable.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+README:
+	echo 'I bet you are reading me.' > README
+END
+
+# Files required by --gnu
+: > NEWS
+: > AUTHORS
+: > ChangeLog
+
+$ACLOCAL
+
+# Should not warn about missing README, since it is a target.
+$AUTOMAKE --add-missing --gnu >stdout 2>&1
+cat stdout
+grep README stdout && exit 1
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep README
+
+
+# Should warn about missing README.
+: > Makefile.am
+AUTOMAKE_fails --add-missing --gnu
+grep README stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distcom4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distcom4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distcom4.test	(revision 3089)
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config files are distributed, and only once.
+# This tries to distribute a file from a subdirectory, without
+# Makefile in that directory.  distcom5.test performs the same
+# test with a Makefile in the directory.
+# Also make sure that README appears first in DIST_COMMON.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+   AC_CONFIG_FILES([tests/autoconf:tests/wrapper.in],
+                   [chmod +x tests/autoconf])
+   AC_CONFIG_FILES([tests/autoheader:tests/wrapper.in],
+                   [chmod +x tests/autoheader])
+   AC_CONFIG_FILES([tests/autom4te:tests/wrapper.in],
+                   [chmod +x tests/autom4te])
+   AC_CONFIG_FILES([tests/autoreconf:tests/wrapper.in],
+                   [chmod +x tests/autoreconf])
+   AC_CONFIG_FILES([tests/autoscan:tests/wrapper.in],
+                   [chmod +x tests/autoscan])
+   AC_CONFIG_FILES([tests/autoupdate:tests/wrapper.in],
+                   [chmod +x tests/autoupdate])
+   AC_CONFIG_FILES([tests/ifnames:tests/wrapper.in],
+                   [chmod +x tests/ifnames])
+   AC_OUTPUT
+END
+
+mkdir tests
+: > README
+: > tests/wrapper.in
+cat > Makefile.am << 'END'
+test: distdir
+	test -f $(distdir)/tests/wrapper.in
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE test
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in > dc.txt
+
+test 1 = `grep tests dc.txt | wc -l`
+grep configure dc.txt
+# README must come first.
+grep 'DIST_COMMON = README' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distcom5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distcom5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distcom5.test	(revision 3089)
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config files are distributed, and only once.
+# This tries to distribute a file from a subdirectory, with
+# a Makefile in that directory.  distcom4.test performs the same
+# test without Makefile in the directory.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+   AC_CONFIG_FILES([tests/autoconf:tests/wrapper.in],
+                   [chmod +x tests/autoconf])
+   AC_CONFIG_FILES([tests/autoheader:tests/wrapper.in],
+                   [chmod +x tests/autoheader])
+   AC_CONFIG_FILES([tests/autom4te:tests/wrapper.in],
+                   [chmod +x tests/autom4te])
+   AC_CONFIG_FILES([tests/autoreconf:tests/wrapper.in],
+                   [chmod +x tests/autoreconf])
+   AC_CONFIG_FILES([tests/autoscan:tests/wrapper.in],
+                   [chmod +x tests/autoscan])
+   AC_CONFIG_FILES([tests/autoupdate:tests/wrapper.in],
+                   [chmod +x tests/autoupdate])
+   AC_CONFIG_FILES([tests/ifnames:tests/wrapper.in],
+                   [chmod +x tests/ifnames])
+   AC_CONFIG_FILES([tests/Makefile])
+   AC_OUTPUT
+END
+
+mkdir tests
+: > tests/wrapper.in
+: > tests/Makefile.am
+cat > Makefile.am << 'END'
+SUBDIRS = tests
+test: distdir
+	test -f $(distdir)/tests/wrapper.in
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE test
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in > top.txt
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' tests/Makefile.in > inner.txt
+
+test 0 = `grep tests top.txt | wc -l`
+test 1 = `grep wrapper inner.txt | wc -l`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distcom6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distcom6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distcom6.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that depcomp and compile required in subdirectories
+# are added to the top-level DIST_COMMON even with --no-force.
+# This is similar to distcom2.test, but with --no-force added.
+# Report from Scott James Remnant (Debian #206299).
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_CONFIG_FILES([subdir/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = subdir
+END
+
+mkdir subdir
+: > subdir/foo.c
+
+cat > subdir/Makefile.am << 'END'
+noinst_PROGRAMS = foo
+foo_SOURCES = foo.c
+foo_CFLAGS = -DBAR
+END
+
+rm -f compile depcomp
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing --no-force
+
+test -f compile
+test -f depcomp
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep compile
+
+sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep depcomp
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distcom7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distcom7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distcom7.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that Automake complains when an auxfile (here depcomp)
+# is installed, but the Makefile tht distributes it is not processed.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(subdir/foo.c)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_OUTPUT(Makefile subdir/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = subdir
+END
+
+rm -f depcomp
+mkdir subdir
+
+echo bin_PROGRAMS = foo > subdir/Makefile.am
+: > subdir/foo.c
+
+$ACLOCAL
+AUTOMAKE_fails --add-missing subdir/Makefile
+grep 'full run' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distdir.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure subdirs in EXTRA_DIST work.  Also tests to make
+# sure "./" is ignored.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+EXTRA_DIST = foo/bar ./joe
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+grep '\$(mkdir_p).*\.' Makefile.in && exit 1
+grep '\$(mkdir_p).*foo' Makefile.in
+
+# Check to make sure `foo' isn't made in build directory.
+grep 'mkdir_p.*foo.*foo' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/distname.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/distname.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/distname.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of names in tar file.
+# From Rainer Orth
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(a.c)
+AM_INIT_AUTOMAKE(nonesuch, 0.23)
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+END
+
+: > a.c
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --include-deps --copy --add-missing
+./configure
+$MAKE dist
+
+gunzip nonesuch-0.23.tar.gz
+(tar tf nonesuch-0.23.tar | $FGREP './nonesuch-0.23/a.c') && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dollar.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dollar.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dollar.test	(revision 3089)
@@ -0,0 +1,50 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# We should support files with `$' characters in their names.
+# Java people need this.
+# PR/317, reported by Eric Siegerman and Philip Fong.
+
+# Require GNU make for this test.  SunOS Make does not support
+# `$$' in a target or a dependency (it outputs the empty string instead).
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am <<'EOF'
+mydir = $(prefix)/my
+dist_my_DATA = hello$$world
+
+check-dist: distdir
+	test -f '$(distdir)/hello$$world'
+EOF
+
+: > 'hello$world'
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure --prefix `pwd`/inst
+$MAKE install
+test -f 'inst/my/hello$world'
+$MAKE check-dist
Index: /trunk/essentials/sys-devel/automake-1.9/tests/double.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/double.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/double.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure listing a program twice is ok.
+# Report from Manu Rouat.
+
+. ./defs || exit 1
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = spice nutmeg help sconvert multidec nutmeg
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/dup2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/dup2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/dup2.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure aclocal only warns about definitions overridden by acinclude.m4.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_FUNC_STRTOD
+END
+
+cat > acinclude.m4 << 'END'
+AC_DEFUN([AM_FUNC_STRTOD])
+END
+
+$ACLOCAL
Index: /trunk/essentials/sys-devel/automake-1.9/tests/else.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/else.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/else.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure line numbers are correct in some error reports.
+
+. ./defs || exit 1
+
+set -e
+
+echo 'AM_CONDITIONAL(FOO, true)' >> configure.in
+
+cat > Makefile.am << 'END'
+# flag to tell us if apache dir is a source distribution
+APACHE_DIR_IS_SRC = @APACHE_DIR_IS_SRC@
+
+# we only need to descend into the c dir if we're doing a 1.3 DSO configuration
+ifeq ("${APACHE_DIR_IS_SRC}","yes")
+SUBDIRS = java
+else
+SUBDIRS = c java
+endif
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:7:.*else without if' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/empty.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/empty.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/empty.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug where if the list of installables is empty, invalid sh
+# code is generated.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >>configure.in
+echo 'data_DATA =' >Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure --prefix `pwd`/inst
+$MAKE install
Index: /trunk/essentials/sys-devel/automake-1.9/tests/empty2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/empty2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/empty2.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure empty _SOURCES suppresses assumption about default
+# name.  Report from Pavel Roskin.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = pavel
+pavel_SOURCES =
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'pavel\.[co]' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/empty3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/empty3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/empty3.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# A test for missing _SOURCES variable.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = pavel
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'pavel\.[co]' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/empty4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/empty4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/empty4.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure empty _SOURCES works.
+# From Paul Berrevoets.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_SUBST(ZOO_OBJ)
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = zoo
+zoo_SOURCES =
+EXTRA_zoo_SOURCES = bar.c foo.c
+zoo_DEPENDENCIES = $(ZOO_OBJ)
+zoo_LDADD = $(zoo_DEPENDENCIES)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$FGREP zoo. Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exdir.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure new extended directory mechanism works.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'EOF'
+htmldir = $(prefix)/html
+html_DATA = zot.html
+pkgdata_DATA = qbert
+EOF
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^DATA' Makefile.in | grep html
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exdir2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exdir2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exdir2.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure undefined directories are invalid.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+quuz_DATA = zot.html
+pkgdata_DATA = qbert
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'pkgdatadir' stderr && exit 1
+grep 'Makefile.am:1:.*quuzdir.*undefined' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exeext.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exeext.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exeext.test	(revision 3089)
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `.' in an exe name doesn't fool us.
+# Report from Robert Collins.
+# Also make sure we rewrite conditionals variables.
+# Also check for PR/352.
+# Also make sure the old definitions of bin_PROGRAMS and friend
+# aren't left around.  Report from Jim Meyering.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL([WANT_MT], [test -z "$revert"])
+AM_CONDITIONAL([WANT_RMT], [test -z "$revert"])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+## Use a different dir for each to make grep easy.
+bin_PROGRAMS = maude
+sbin_PROGRAMS = maude.static
+## We don't define this one for now.  Probably it is an error.
+## noinst_PROGRAMS = maude2.exe
+check_PROGRAMS = maude3$(EXEEXT)
+
+if WANT_MT
+  bin_PROGRAMS += mt
+endif
+if WANT_RMT
+  libexec_PROGRAMS = rmt
+endif
+
+print:
+	@echo 1BEG: $(bin_PROGRAMS) :END1
+	@echo 2BEG: $(sbin_PROGRAMS) :END2
+	@echo 3BEG: $(check_PROGRAMS) :END3
+	@echo 4BEG: $(libexec_PROGRAMS) :END4
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+grep '^maude$(EXEEXT):' Makefile.in
+grep '^maude\.static$(EXEEXT):' Makefile.in
+grep '^maude3$(EXEEXT):' Makefile.in
+grep '^mt$(EXEEXT):' Makefile.in
+grep '^rmt$(EXEEXT):' Makefile.in
+test `grep '^bin_PROGRAMS =' Makefile.in | wc -l` = 1
+
+# Make sure $(EXEEXT) gets stripped before canonicalization.
+grep 'maude3__EXEEXT__OBJECTS' Makefile.in && exit 1
+
+./configure
+
+EXEEXT=.foo $MAKE -e print > stdout
+cat stdout
+
+grep '1BEG: maude.foo mt.foo :END1' stdout
+grep '2BEG: maude.static.foo :END2' stdout
+grep '3BEG: maude3.foo :END3' stdout
+grep '4BEG: rmt.foo :END4' stdout
+
+./configure revert=yes
+
+EXEEXT=.foo $MAKE -e print > stdout
+cat stdout
+
+grep '1BEG: maude.foo :END1' stdout
+grep '2BEG: maude.static.foo :END2' stdout
+grep '3BEG: maude3.foo :END3' stdout
+grep '4BEG: :END4' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exeext2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exeext2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exeext2.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure no-exeext option works.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_EXEEXT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = maude
+
+maude:
+	yeah
+END
+
+$ACLOCAL
+
+$AUTOMAKE -Wnone
+AUTOMAKE_fails -Wnone -Wobsolete
+grep 'deprecated.*maude' stderr
+AUTOMAKE_fails -Wall
+grep 'deprecated.*maude' stderr
+grep 'overrid.*maude' stderr
+
+echo 'AUTOMAKE_OPTIONS = no-exeext' >> Makefile.am
+
+$AUTOMAKE -Wall -Wno-override
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exeext3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exeext3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exeext3.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we can override a program rule.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = maude
+
+maude$(EXEEXT):
+	yeah
+END
+
+$ACLOCAL
+$AUTOMAKE -Wno-override
+
+$FGREP 'maude$(EXEEXT):' Makefile.in
+test 1 = `grep 'maude.*:' Makefile.in | wc -l`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exeext4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exeext4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exeext4.test	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure $(EXEEXT) is not appended to @substitutions@.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_SUBST([programs], ['prg1$(EXEEXT) prg2$(EXEEXT)'])
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+EXEEXT = .bin
+bin_PROGRAMS = $(programs) @programs@ prg3
+EXTRA_PROGRAMS = prg1 prg2 prg3
+print-bin:
+	echo BEG: $(bin_PROGRAMS) :END
+print-extra:
+	echo BEG: $(EXTRA_PROGRAMS) :END
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE print-bin > output
+cat output
+grep 'prg1.bin prg2.bin prg1.bin prg2.bin prg3.bin' output
+$MAKE print-extra > output
+cat output
+grep 'prg1.bin prg2.bin prg3.bin' output
Index: /trunk/essentials/sys-devel/automake-1.9/tests/exsource.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/exsource.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/exsource.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2004
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure EXTRA_..._SOURCES actually works.
+# Bug report from Henrik Frystyk Nielsen.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = www
+www_SOURCES = www.c
+EXTRA_www_SOURCES = xtra.c
+www_LDADD = @extra_stuff@
+END
+
+: > www.c
+: > xtra.c
+
+$ACLOCAL
+$AUTOMAKE
+
+grep '@am__include@ .*/xtra\.P' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ext.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ext.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ext.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure extensions are set correctly for various languages.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+AC_PROG_FC
+_AM_DEPENDENCIES(OBJC)
+AC_SUBST(OBJC)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = 1.f 2.for 3.f90 4.F 5.r 6.m
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+for ext in f for f90 F r m
+do
+   grep "^$ext\.o:" Makefile.in && exit 1
+done
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ext2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ext2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ext2.test	(revision 3089)
@@ -0,0 +1,72 @@
+#!/bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for a bug reported by Ladislav Strojil.
+# Using different extensions for the same language should not
+# output the build rules several times.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CXX
+EOF
+
+cat >Makefile.am <<EOF
+bin_PROGRAMS = p q r
+p_SOURCES = a.cc b.cpp c.cxx
+q_SOURCES = sub/d.cc sub/e.cpp sub/f.cxx
+r_SOURCES = g.cc h.cpp i.cxx
+r_CXXFLAGS = -DFOO
+EOF
+
+$ACLOCAL
+$AUTOMAKE
+
+grep '\.o:' Makefile.in > rules
+cat rules
+
+# Here is a example of bogus output.  The rules are output several
+# times.
+#|  .cc.o:
+#|  d.o: sub/d.cc
+#|  e.o: sub/e.cpp
+#|  f.o: sub/f.cxx
+#|  r-g.o: g.cc
+#|  r-h.o: h.cpp
+#|  r-i.o: i.cxx
+#|  .cpp.o:
+#|  d.o: sub/d.cc
+#|  e.o: sub/e.cpp
+#|  f.o: sub/f.cxx
+#|  r-g.o: g.cc
+#|  r-h.o: h.cpp
+#|  r-i.o: i.cxx
+#|  .cxx.o:
+#|  #d.o: sub/d.cc
+#|  #e.o: sub/e.cpp
+#|  #f.o: sub/f.cxx
+#|  #r-g.o: g.cc
+#|  #r-h.o: h.cpp
+#|  #r-i.o: i.cxx
+
+# Bail out if we find a duplicate.
+$PERL -ne 'if (exists $a{$_}) { exit 1 } else { $a{$_} = 1 }' < rules
Index: /trunk/essentials/sys-devel/automake-1.9/tests/extra.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/extra.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/extra.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure EXTRA_ targets are generated.  This test used to
+# make sure the targets were *not* generated.  That is wrong; the
+# targets should always be generated.  However, they should not be
+# built by default.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = @foo@
+EXTRA_PROGRAMS = zardoz
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep "^zardoz" Makefile.in || exit 1
+
+# Can't have EXTRA clean rules.
+grep 'clean.*EXTRA' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/extra3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/extra3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/extra3.test	(revision 3089)
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure EXTRA_DATA not required.
+
+. ./defs || exit 1
+
+echo 'AC_SUBST(CODICIL)' >> configure.in
+
+cat > Makefile.am << 'END'
+sysconf_DATA = @CODICIL@
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/extra4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/extra4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/extra4.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure EXTRA_DATA can be specified.
+
+. ./defs || exit 1
+
+echo 'AC_SUBST(CODICIL)' >> configure.in
+
+cat > Makefile.am << 'END'
+sysconf_DATA = @CODICIL@
+EXTRA_DATA = codicil.txt
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/extra5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/extra5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/extra5.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure EXTRA_DIST can contain a directory from $buildir.
+# From Dean Povey.
+
+. ./defs || exit 1
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+EXTRA_DIST=foo
+
+foo:
+	mkdir foo
+	touch foo/bar
+END
+
+set -e
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+mkdir build
+cd build
+../configure
+$MAKE distdir
Index: /trunk/essentials/sys-devel/automake-1.9/tests/extra6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/extra6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/extra6.test	(revision 3089)
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure EXTRA_DIST can contain a directory or
+# a subdirectory, in $(builddir) or $(srcdir).
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+EXTRA_DIST=foo/bar baz foo2/bar2 baz2
+
+check: distdir
+	test -f $(distdir)/foo/bar/baz
+	test -f $(distdir)/baz/foo
+	test -f $(distdir)/foo2/bar2/baz2
+	test -f $(distdir)/baz2/foo2
+END
+
+# Create some files in $(srcdir)
+mkdir foo
+mkdir foo/bar
+touch foo/bar/baz
+mkdir baz
+touch baz/foo
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+mkdir build
+cd build
+../configure
+
+# Create some files in $(builddir)
+mkdir foo2
+mkdir foo2/bar2
+touch foo2/bar2/baz2
+mkdir baz2
+touch baz2/foo2
+
+$MAKE check
Index: /trunk/essentials/sys-devel/automake-1.9/tests/extra7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/extra7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/extra7.test	(revision 3089)
@@ -0,0 +1,70 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure that when distdir is invoked in a VPATH
+# configuration and has to distribute directory X, it actually merge
+# $(srcdir)/X and ./X, with the files from the later overriding the
+# files from the former.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+EXTRA_DIST=foo/bar baz
+
+check: distdir
+	test -f $(distdir)/foo/bar/baz
+	test -f $(distdir)/foo/bar/baz2
+	test -f $(distdir)/baz/foo
+	test -f $(distdir)/baz/foo2
+	grep source $(distdir)/foo/bar/baz
+	grep build $(distdir)/foo/bar/baz2
+	grep source $(distdir)/baz/foo
+	grep build $(distdir)/baz/foo2
+END
+
+# Create some files in $(srcdir)
+mkdir foo
+mkdir foo/bar
+echo source > foo/bar/baz
+echo source > foo/bar/baz2
+mkdir baz
+echo source > baz/foo
+echo source > baz/foo2
+
+$ACLOCAL
+$AUTOMAKE
+$AUTOCONF
+mkdir build
+cd build
+../configure
+
+# Create some files in $(builddir) that will override part of the
+# files if $(srcdir) when the distribution is made.
+mkdir foo
+mkdir foo/bar
+echo build > foo/bar/baz2
+mkdir baz
+echo build > baz/foo2
+
+$MAKE check
Index: /trunk/essentials/sys-devel/automake-1.9/tests/f90only.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/f90only.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/f90only.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure programs with only Fortran 90 source are handled properly.
+# (copied from fonly.test) Mike Nolta <mrnolta@princeton.edu>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_FC
+END
+
+# Tue Aug 11 09:50:48 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+#
+# This test currently fails with automake v. 1.3 since automake assumes
+# that elements of `bin_PROGRAMS' (e.g. zardoz) without a corresponding
+# `_SOURCES' (e.g. zardoz_SOURCES) should be compiled from `zardoz.c'
+# whether or not `zardoz.c' actually exists.  For example, even if the
+# file `zardoz.c' doesn't exist but the file `zardoz.f' does exist, this
+# tests would still fail.
+#
+# Therefore, for now I have put in the line `zardoz_SOURCES = zardoz.f'
+# (see below) so that automake's top-level `make check' won't fail, but
+# this line should be removed once automake handles this situation
+# correctly.
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.f90
+END
+
+: > zardoz.f90
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'zardoz.f90' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/flibs.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/flibs.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/flibs.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `AC_F77_LIBRARY_LDFLAGS' works properly.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+AC_F77_LIBRARY_LDFLAGS
+END
+
+# Tue Aug 11 09:50:48 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+#
+# This test currently fails with automake v. 1.3 since automake assumes
+# that elements of `bin_PROGRAMS' (e.g. zardoz) without a corresponding
+# `_SOURCES' (e.g. zardoz_SOURCES) should be compiled from `zardoz.c'
+# whether or not `zardoz.c' actually exists.  For example, even if the
+# file `zardoz.c' doesn't exist but the file `zardoz.f' does exist, this
+# tests would still fail.
+#
+# Therefore, for now I have put in the line `zardoz_SOURCES = zardoz.f'
+# (see below) so that automake's top-level `make check' won't fail, but
+# this line should be removed once automake handles this situation
+# correctly.
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.f
+zardoz_LDADD = @FLIBS@
+END
+
+: > zardoz.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '@FLIBS@' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fn99.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fn99.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fn99.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check the filename-length-max=99 option.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat >Makefile.am <<'END'
+AUTOMAKE_OPTIONS = filename-length-max=99
+EXTRA_DIST = 12345678
+END
+
+(for i in 1 2 3 4 5 6 7 8 9
+do
+  mkdir -p 12345678 || exit 77
+  cd 12345678
+  touch x
+done)
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE distcheck
+
+(for i in 1 2 3 4 5 6 7 8 9 10 11
+do
+  mkdir -p 12345678 || exit 77
+  cd 12345678
+  touch x
+done)
+
+$MAKE dist 2>stderr && exit 1
+cat stderr
+grep 'filenames are too long' stderr
+test 2 = `grep 12345678 stderr | wc -l`
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fnoc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fnoc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fnoc.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that pure Fortran 77 sources don't include
+# C-specific code.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+sbin_PROGRAMS = anonymous
+anonymous_SOURCES = doe.f jane.f
+END
+
+: > doe.f
+: > jane.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '[^F]CC' Makefile.in | grep -v MKDEP && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fo.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fo.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fo.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Fortran 77 files are rewritten to ".o" and not just "o".
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+sbin_PROGRAMS = anonymous
+anonymous_SOURCES = doe.f
+END
+
+: > doe.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP 'doe.$(OBJEXT)' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fonly.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fonly.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fonly.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure programs with only Fortran 77 source are handled properly.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+END
+
+# Tue Aug 11 09:50:48 1998  Matthew D. Langston  <langston@SLAC.Stanford.EDU>
+#
+# This test currently fails with automake v. 1.3 since automake assumes
+# that elements of `bin_PROGRAMS' (e.g. zardoz) without a corresponding
+# `_SOURCES' (e.g. zardoz_SOURCES) should be compiled from `zardoz.c'
+# whether or not `zardoz.c' actually exists.  For example, even if the
+# file `zardoz.c' doesn't exist but the file `zardoz.f' does exist, this
+# tests would still fail.
+#
+# Therefore, for now I have put in the line `zardoz_SOURCES = zardoz.f'
+# (see below) so that automake's top-level `make check' won't fail, but
+# this line should be removed once automake handles this situation
+# correctly.
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.f
+END
+
+: > zardoz.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'zardoz.f' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fortdep.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fortdep.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fortdep.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dependency tracking doesn't interfere with Fortran.
+# For PR 75.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 1.0, martin@tropos.de)
+AM_INIT_AUTOMAKE(foo, 1.0)
+AC_CONFIG_SRCDIR(foo.f)
+AC_PROG_F77
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS=foreign
+bin_PROGRAMS=foo
+foo_SOURCES=foo.f
+END
+
+: > foo.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'foo\.Po' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fpinst2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fpinst2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fpinst2.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure "reversed" order of AC_PROG_INSTALL and
+# AC_PROG_INSTALL is not buggy.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am <<'END'
+bin_SCRIPTS = zot
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/fpinstall.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/fpinstall.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/fpinstall.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Thomas Morgan.  If both AC_PROG_INSTALL and
+# AC_PROG_INSTALL appear in configure.in, bad error results.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am <<'END'
+bin_SCRIPTS = zot
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gcj.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gcj.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gcj.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of compiled java.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+_AM_DEPENDENCIES(GCJ)
+AC_SUBST(GCJ)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = convert
+convert_SOURCES = x/y/convert.java
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^x/y/convert' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gcj2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gcj2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gcj2.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `..' invalid in subdir .o's.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+_AM_DEPENDENCIES(GCJ)
+AC_SUBST(GCJ)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = convert
+convert_SOURCES = x/../convert.java
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:.*\.\.' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gcj3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gcj3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gcj3.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure dependency tracking works for java.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+_AM_DEPENDENCIES(GCJ)
+AC_SUBST(GCJ)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = convert
+convert_SOURCES = x/y/convert.java
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+num=`grep depcomp Makefile.in | wc -l`
+test $num -gt 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gcj4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gcj4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gcj4.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure dependency tracking works for Java.
+
+required=gcj
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_PROG_GCJ
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = convert
+convert_SOURCES = convert.java
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure GCJ=gcj >stdout
+cat stdout
+
+# Configure must be checking the dependency style of gcj ...
+grep 'dependency style of gcj' stdout >filt
+cat filt
+
+# ... only once.
+test `wc -l < filt` = 1
+
+# Accept any outcome but `none'
+# (at the time of writing it should be gcc or gcc3).
+grep -v none filt
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gcj5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gcj5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gcj5.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake suggests AM_PROG_GCJ when GCJ is needed.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+_AM_DEPENDENCIES(GCJ)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = convert
+convert_SOURCES = convert.java
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AM_PROG_GCJ stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/getopt.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/getopt.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/getopt.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Automake --help, and --version should have priority over any other option
+# so that their `exit 0' is coherent.
+
+. ./defs || exit 1
+
+set -e
+
+# This is expected to fail ...
+AUTOMAKE_fails -Wnonexistent
+grep ':.*nonexistent' stderr
+
+# ... but this should not.
+AUTOMAKE_run 0 -Wnonexistent --help
+grep ':.*nonexistent' stderr && exit 1
+
+
+# Similarly, this should fail ...
+AUTOMAKE_fails --nonexistent 2>stderr
+grep ':.*nonexistent' stderr
+
+# ... but this should not.
+AUTOMAKE_run 0 --nonexistent --help
+grep ':.*nonexistent' stderr && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gettext.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gettext.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gettext.test	(revision 3089)
@@ -0,0 +1,71 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check gettext support.
+
+required='gettext'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<END
+AM_GNU_GETTEXT
+AC_OUTPUT
+END
+
+: >Makefile.am
+mkdir po intl
+
+$ACLOCAL
+
+# po/ and intl/ are required
+
+AUTOMAKE_fails --add-missing
+grep 'AM_GNU_GETTEXT.*SUBDIRS' stderr
+
+echo 'SUBDIRS = po' >Makefile.am
+AUTOMAKE_fails --add-missing
+grep 'AM_GNU_GETTEXT.*intl' stderr
+
+echo 'SUBDIRS = intl' >Makefile.am
+AUTOMAKE_fails --add-missing
+grep 'AM_GNU_GETTEXT.*po' stderr
+
+# Ok.
+
+echo 'SUBDIRS = po intl' >Makefile.am
+$AUTOMAKE --add-missing
+
+# Make sure distcheck runs ./configure --with-included-gettext
+grep 'with-included-gettext' Makefile.in
+
+# `SUBDIRS = po intl' isn't required if po/ doesn't exist.
+# PR/381.
+
+rmdir po
+mkdir sub
+echo 'SUBDIRS = sub' >Makefile.am
+$AUTOMAKE
+
+# Still, SUBDIRS must be defined.
+
+: >Makefile.am
+AUTOMAKE_fails --add-missing
+grep 'AM_GNU_GETTEXT.*SUBDIRS' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gettext2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gettext2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gettext2.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check gettext `external' support.
+# PR/338, reported by Charles Wilson.
+
+required='gettext'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<END
+AM_GNU_GETTEXT([external])
+AC_OUTPUT
+END
+
+: >Makefile.am
+mkdir foo po
+
+$ACLOCAL
+
+# po/ is required, but intl/ isn't.
+
+AUTOMAKE_fails --add-missing
+grep 'AM_GNU_GETTEXT.*SUBDIRS' stderr
+
+echo 'SUBDIRS = foo' >Makefile.am
+AUTOMAKE_fails --add-missing
+grep 'AM_GNU_GETTEXT.*po' stderr
+
+# Ok.
+
+echo 'SUBDIRS = po' >Makefile.am
+$AUTOMAKE --add-missing
+
+# Don't try running ./configure --with-included-gettext if the
+# user is using AM_GNU_GETTEXT([external]).
+grep 'with-included-gettext' Makefile.in && exit 1
+:
+
+# intl/ isn't wanted with AM_GNU_GETTEXT([external]).
+
+mkdir intl
+echo 'SUBDIRS = po intl' >Makefile.am
+AUTOMAKE_fails --add-missing
+grep 'intl.*AM_GNU_GETTEXT' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gnits.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gnits.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gnits.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to ensure --gnits version checking is correct.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << END
+AC_INIT([$me], [3.5.3.2])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES(Makefile)
+END
+
+cat > Makefile.am << 'END'
+pkgdata_DATA =
+END
+
+# Files required by Gnits.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+$ACLOCAL
+AUTOMAKE_fails --gnits
+grep 'configure.in:.*3\.5\.3\.2' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gnits2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gnits2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gnits2.test	(revision 3089)
@@ -0,0 +1,114 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to ensure std-options checking is correct.
+
+required=gcc
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = gnits
+noinst_PROGRAMS = fubar2
+bin_PROGRAMS = fubar sub/fine
+nobase_bin_PROGRAMS = sub/fubar3
+fubar_SOURCES = fubar.c
+fubar2_SOURCES = fubar.c
+sub_fubar3_SOURCES = fubar.c
+sub_fine_SOURCES = fine.c
+bin_SCRIPTS = sub/scriptok.sh sub/scriptnok.sh
+
+grep-stderr:
+	grep 'pfubar$(EXEEXT) does not support' stderr
+	grep 'pfubar3$(EXEEXT) does not support' stderr
+	grep 'pscriptnok.sh does not support' stderr
+## Only three failures please.
+	test `grep 'does not support --help' stderr | wc -l` = 3
+	test `grep 'does not support --version' stderr | wc -l` = 3
+
+test-install: install
+	test -f ../inst-dir/bin/pfine$(EXEEXT)
+	test ! -f ../inst-dir/bin/fine$(EXEEXT)
+END
+
+echo 'int main () { return 0; }' > fubar.c
+
+cat > fine.c << 'END'
+#include <stdio.h>
+int
+main ()
+{
+  puts ("Which version? Which usage?");
+  return 0;
+}
+END
+
+mkdir sub
+
+cat >sub/scriptok.sh <<EOF
+#!/bin/sh
+echo "Which version? Which usage?"
+EOF
+
+# Not only does this script not support --help/--version, but
+# it will also hang when run without input.
+cat >sub/scriptnok.sh <<EOF
+#!/bin/sh
+cat
+EOF
+
+chmod +x sub/scriptok.sh
+chmod +x sub/scriptnok.sh
+
+# Files required by Gnits.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+# The following file should not be distributed.
+# (alpha.test checks the case where it must be distributed.)
+: > README-alpha
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+grep README-alpha Makefile.in && exit 1
+
+mkdir build
+cd build
+
+# Use --program-prefix to make sure the std-options check honors it.
+../configure --prefix=`pwd`/../inst-dir --program-prefix=p
+$MAKE all
+$MAKE test-install
+$MAKE -k installcheck 2>stderr || : # Never trust the exit status of make -k.
+cat stderr
+$MAKE grep-stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gnits3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gnits3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gnits3.test	(revision 3089)
@@ -0,0 +1,100 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that AM_INSTALLCHECK_STD_OPTIONS_EXEMPT works.
+
+required=gcc
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+# We use the same basename for all targets on purpose.  This way
+# we make sure that `AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = nok'
+# will not match anything containing `nok'.
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = gnits
+
+nobase_bin_PROGRAMS = nok sub/nok
+nok_SOURCES = nok.c
+sub_nok_SOURCES = nok.c
+
+nobase_bin_SCRIPTS = nok.sh sub/nok.sh
+
+AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = nok$(EXEEXT) nok.sh
+
+grep-stderr:
+	grep 'sub/pnok$(EXEEXT) does not support' stderr
+	grep 'sub/pnok.sh does not support' stderr
+## Only two failures please.
+	test `grep 'does not support --help' stderr | wc -l` = 2
+	test `grep 'does not support --version' stderr | wc -l` = 2
+END
+
+echo 'int main () { return 0; }' > nok.c
+
+mkdir sub
+
+cat >nok.sh <<EOF
+#!/bin/sh
+echo "Which version? Which usage?"
+exit 1
+EOF
+
+cp nok.sh sub/nok.sh
+
+chmod +x nok.sh
+chmod +x sub/nok.sh
+
+# Files required by Gnits.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir build
+cd build
+
+# Use --program-prefix to make sure the std-options check honors it.
+../configure --prefix=`pwd`/../inst-dir --program-prefix=p
+$MAKE
+$MAKE install
+$MAKE -k installcheck 2>stderr || : # Never trust the exit status of make -k.
+cat stderr
+$MAKE grep-stderr
+
+# Make sure there is no more error when all targets are exempted.
+cd ..
+echo 'AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += sub/nok$(EXEEXT) sub/nok.sh' >> Makefile.am
+$AUTOMAKE
+cd build
+./config.status  # Don't rely on the rebuild rules (they need GNU make).
+$MAKE installcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gnumake.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gnumake.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gnumake.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Automake should not assume that make files are called Makefile.
+# Report from Braden McDaniel.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([sub/GNUmakefile])
+AC_OUTPUT
+END
+
+mkdir sub
+
+echo SUBDIRS = sub > Makefile.am
+
+cat > sub/GNUmakefile.am <<'EOF'
+# In this project, the Makefile is an installed data file.
+dist_data_DATA = Makefile
+EOF
+
+echo 'this should not cause any problem' > sub/Makefile
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gnuwarn.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gnuwarn.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gnuwarn.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that Automake warns about user variables being overridden.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+# Needed by --gnu.
+: > NEWS
+: > README
+: > AUTHORS
+: > ChangeLog
+
+cat > Makefile.am << 'END'
+CFLAGS += -I..
+LDFLAGS = -lfoo
+CXXFLAGS = -Wall
+bin_PROGRAMS = bar
+END
+
+$ACLOCAL
+# Don't warn in foreign mode
+$AUTOMAKE -Wnone --add-missing --foreign
+# Warn in gnu mode
+AUTOMAKE_fails -Wnone --add-missing --gnu
+grep 'Makefile.am:1:.*CFLAGS' stderr
+grep 'Makefile.am:2:.*LDFLAGS' stderr
+# No reason to warn about CXXFLAGS since it's not used.
+grep CXXFLAGS stderr && exit 1
+# Don't warn if -Wno-gnu.
+$AUTOMAKE -Wnone --gnu -Wno-gnu
Index: /trunk/essentials/sys-devel/automake-1.9/tests/gnuwarn2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/gnuwarn2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/gnuwarn2.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check diagnostics about no-installman being disallowed in `gnu'.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([gnuwarn2], [1.0])
+AM_INIT_AUTOMAKE([no-installman])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+# --gnu files
+: > NEWS
+: > README
+: > AUTHORS
+: > ChangeLog
+: > COPYING
+: > INSTALL
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = gnu
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'configure.in:2:.*no-installman' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/header.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/header.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/header.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 68.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST(MY_HEADERS)
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zoo
+zoo_SOURCES = joe.c
+END
+
+: > joe.c
+: > qq.h
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '[^@]MY_HEADERS' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/help.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/help.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/help.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure --help and --version work, even when no configure.ac
+# is in the current directory.
+
+. ./defs || exit 1
+
+set -e
+
+# Ensure we are run from the right directory.
+# (The last thing we want is to delete some random user files.)
+test -f ../defs
+rm -f *
+
+$ACLOCAL --version
+$ACLOCAL --help
+$AUTOMAKE --version
+$AUTOMAKE --help
+
+# aclocal and automake cannot work without configure.ac or configure.in
+$ACLOCAL 2>stderr && exit 1
+grep configure.ac stderr
+grep configure.in stderr
+AUTOMAKE_fails
+grep configure.ac stderr
+grep configure.in stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/hfs.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/hfs.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/hfs.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+
+# Automake should not think that ChangeLog == CHANGELOG on
+# case-preserving case-insensitive filesystems (such as HFS+, on
+# Darwin).
+# Report from Peter O'Gorman.
+
+. ./defs
+set -e
+
+echo AC_OUTPUT >>configure.in
+
+: >CHANGELOG
+echo 'EXTRA_DIST = CHANGELOG' >Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/hosts.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/hosts.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/hosts.test	(revision 3089)
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure automake correctly recognizes presence of
+# AC_CANONICAL_(BUILD|HOST|SYSTEM|TARGET), and creates config.* in all
+# those cases.
+# From Norman Gray.
+
+. ./defs || exit 1
+
+set -e
+
+: >Makefile.am
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+test ! -f config.guess
+test ! -f config.sub
+
+# Test all four of the AC_CANONICAL_* targets, including _SYSTEM, which is
+# supported but deprecated by autoconf.
+for macro in AC_CANONICAL_BUILD AC_CANONICAL_HOST \
+             AC_CANONICAL_SYSTEM AC_CANONICAL_TARGET
+do
+  rm -rf autom4te.cache config.sub config.guess
+
+  cat >configure.in<<EOF
+AC_INIT([hosts], [1.0])
+$macro
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+EOF
+
+  $ACLOCAL
+  $AUTOMAKE --add-missing
+
+  # Show the files which were installed
+  ls
+
+  test -f config.guess
+  test -f config.sub
+done
Index: /trunk/essentials/sys-devel/automake-1.9/tests/implicit.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/implicit.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/implicit.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure implicit .o's are listed as appropriate.  Report
+# from Henrik Frystyk Nielsen.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = libapp_1
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^libapp_1_OBJECTS' Makefile.in | $FGREP '.$(OBJEXT)'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/include.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/include.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/include.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure header vars defined only once when including.
+# Report from Marcus G. Daniels.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+include foo
+END
+
+: > foo
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+len="`grep '^srcdir' Makefile.in | wc -l`"
+echo "len = $len"
+test $len -eq 1 || exit 1
+
+# Also make sure include file is distributed.
+(sed -n -e '/^DIST_COMMON =.*\\$/ {
+   :loop
+   p
+   n
+   /\\$/ b loop
+   p
+   n
+   }' -e '/^DIST_COMMON =/ p' Makefile.in | grep foo)
Index: /trunk/essentials/sys-devel/automake-1.9/tests/include2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/include2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/include2.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure included files in parent directory are distributed.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+test: distdir
+	test -f $(distdir)/foo
+	test -f $(distdir)/bar
+	test 2 -gt `find $(distdir)/sub -type d | wc -l`
+END
+
+: > foo
+: > bar
+
+mkdir sub
+cat > sub/Makefile.am << 'END'
+include $(top_srcdir)/foo
+include ../bar
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+# Use --srcdir with an absolute path because it's harder
+# to support in `distdir'.
+./configure --srcdir `pwd`
+$MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/info.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/info.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/info.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure info files are distributed correctly.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = foo.texi
+
+magic:
+	@echo $(INFOS)
+END
+
+echo '@setfilename foo.info' > foo.texi
+: > texinfo.tex
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+for i in `grep '^INFOS =' Makefile.in | sed -e 's/^INFOS = //'`; do
+   echo $i
+   case "$i" in
+    foo*)
+       ;;
+    *)
+       exit 1
+       ;;
+   esac
+done
Index: /trunk/essentials/sys-devel/automake-1.9/tests/insh2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/insh2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/insh2.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug where install-sh not included in distribution.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+pkgdata_DATA =
+magic:
+	@echo $(DISTFILES)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
+$MAKE -s -f Makefile.sed SHELL=$SHELL magic | grep install-sh
Index: /trunk/essentials/sys-devel/automake-1.9/tests/install2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/install2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/install2.test	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in `make dist'
+# From Pavel Roskin.
+
+required=gzip
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+dnl Prevent automake from looking in .. and ../..
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(foo, 0.1)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = .
+END
+
+$ACLOCAL || exit 1
+$AUTOCONF || exit 1
+$AUTOMAKE -a || exit 1
+
+chmod 000 Makefile.am
+
+# On some systems (like DOS and Windows), files are always readable
+test -r Makefile.am && exit 77
+
+./configure || exit 1
+# `dist' should fail because we can't copy Makefile.am.
+$MAKE dist  && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/installdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/installdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/installdir.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 203.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+installdirs-local:
+	@echo here
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+test `grep installdirs-local Makefile.in | wc -l` -eq 3
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instdat.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instdat.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instdat.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to see if defining INSTALL_DATA causes problems.  From EGCS
+# list.
+
+. ./defs || exit 1
+
+echo 'AC_SUBST(INSTALL_DATA)' >> configure.in
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+(grep '^DATA =' Makefile.in | grep INSTALL_DATA) && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instdat2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instdat2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instdat2.test	(revision 3089)
@@ -0,0 +1,94 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that installing under $exec_prefix is handled by install-exec.
+# Testing with headers for instance.
+
+. ./defs || exit 1
+
+cat >Makefile.am << 'EOF'
+# User directories.
+inclexecdir = $(exec_prefix)/include
+inclexec_HEADERS = my-config.h
+
+incldatadir = $(prefix)/include
+incldata_HEADERS = my-data.h
+
+## Standard directories: _DATA
+## Commented out are invalid combinations.
+##bin_DATA = data
+##sbin_DATA = data
+##libexec_DATA = data
+data_DATA = data
+sysconf_DATA = data
+localstate_DATA = data
+##lib_DATA = data
+##info_DATA = data
+##man_DATA = data
+##include_DATA = data
+##oldinclude_DATA = data
+pkgdata_DATA = data
+##pkglib_DATA = data
+##pkginclude_DATA = data
+
+## Standard directories: _SCRIPTS
+## Commented out are invalid combinations.
+bin_SCRIPTS = script
+sbin_SCRIPTS = script
+libexec_SCRIPTS = script
+##data_SCRIPTS = script
+##sysconf_SCRIPTS = script
+##localstate_SCRIPTS = script
+##lib_SCRIPTS = script
+##info_SCRIPTS = script
+##man_SCRIPTS = script
+##include_SCRIPTS = script
+##oldinclude_SCRIPTS = script
+pkgdata_SCRIPTS = script
+##pkglib_SCRIPTS = script
+##pkginclude_SCRIPTS = script
+EOF
+
+set -e
+$ACLOCAL || exit 1
+$AUTOMAKE
+
+# install-SCRIPTS targets.
+sed -n '/^install-data-am/,/^	/p' Makefile.in > produced
+
+cat > expected <<'EOF'
+install-data-am: install-dataDATA install-incldataHEADERS \
+	install-pkgdataDATA install-pkgdataSCRIPTS
+EOF
+
+diff expected produced
+
+
+# install-exec targets.
+sed -n '/^install-exec-am/,/^	/p' Makefile.in > produced
+
+cat > expected <<'EOF'
+install-exec-am: install-binSCRIPTS install-inclexecHEADERS \
+	install-libexecSCRIPTS install-localstateDATA \
+EOF
+
+diff expected produced
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instexec.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instexec.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instexec.test	(revision 3089)
@@ -0,0 +1,31 @@
+#!/bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for this bug: when a Makefile.am builds nothing, no
+# install-exec target is generated.
+
+. ./defs || exit 1
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^install-exec:' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/insthook.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/insthook.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/insthook.test	(revision 3089)
@@ -0,0 +1,68 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure the install-exec-hook example we give in the manual works.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AC_PROG_LN_S
+AC_OUTPUT
+EOF
+
+cat >Makefile.am <<'END'
+dist_bin_SCRIPTS = foo
+
+install-exec-hook:
+	cd $(DESTDIR)$(bindir) && \
+	mv -f foo foo-$(VERSION) && \
+	$(LN_S) foo-$(VERSION) foo
+
+installcheck-local:
+	test -f $(bindir)/foo
+	test -f $(bindir)/foo-$(VERSION)
+	: > $(top_srcdir)/../ok
+END
+
+echo 1 > foo
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE distcheck
+# Sanity check to make sure installcheck-local was run.
+test -f ok
+
+# Make sure that installing a second version doesn't erase the first
+# one.  (This is error prone since `foo' symlinks to `foo-1.0' and the
+# second version will overwrite `foo'.   Hopefully `install' and `install-sh'
+# are smart enough to erase the `foo' symlink before installing the new
+# version.)
+./configure --bindir=`pwd`/bin
+$MAKE install
+echo 2 > foo
+VERSION=2.0 $MAKE -e install
+grep 1 bin/foo-1.0
+grep 2 bin/foo-2.0
+grep 2 bin/foo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instman.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instman.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instman.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure mkdir_p invocation correct in install-man
+# target.  Bug reported by Gordon Irlam <gordoni@cygnus.com>.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'EOF'
+man_MANS = frob.8
+EOF
+
+: > frob.8
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '[^(/]mkdir_p' Makefile.in > out || exit 1
+test `wc -l < out` -eq 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instman2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instman2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instman2.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure mkinstalldirs invocation correct in install-man
+# target.  Bug reported by Gordon Irlam <gordoni@cygnus.com>.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'EOF'
+man8_MANS = frob.8
+EOF
+
+: > frob.8
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^install-man' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instsh.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instsh.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instsh.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1996, 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for this bug:
+# automake: Makefile.am: required file "../../install-sh" not found; installing
+# This also makes sure that install-sh is created in the correct directory.
+
+. ./defs || exit 1
+
+set -e
+
+: > Makefile.am
+rm -f install-sh
+
+# Since the default path includes '../..', we must run this test in
+# yet another subdir.
+mkdir frob
+mv Makefile.am configure.in frob/
+cd frob
+
+$ACLOCAL
+$AUTOMAKE --add-missing > output 2>&1
+
+# Only one `/' should appear in the output.
+cat output
+grep '/.*/' output && exit 1
+
+test -f install-sh
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instsh2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instsh2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instsh2.test	(revision 3089)
@@ -0,0 +1,90 @@
+#! /bin/sh
+# Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Various install-sh checks
+
+. ./defs || exit 1
+
+set -e
+
+# Basic errors
+./install-sh && exit 1
+./install-sh -m 644 dest && exit 1
+
+# Directories
+
+# It should be OK to create no directory.  We sometimes need
+# this when directory are conditionally defined.
+./install-sh -d
+# One directory.
+./install-sh -d d0
+test -d d0
+# Multiple directories (for make installdirs).
+./install-sh -d d1 d2 d3 d4
+test -d d1
+test -d d2
+test -d d3
+test -d d4
+# Subdirectories
+./install-sh -d p1/p2/p3 p4//p5//p6//
+test -d p1/p2/p3
+test -d p4/p5/p6
+
+# Files.
+: > x
+./install-sh -c -m 644 x y
+test -f x
+test -f y
+./install-sh -m 644 y z
+test -f y
+test -f z
+# Multiple files
+./install-sh -m 644 -c x z d1
+test -f x
+test -f z
+test -f d1/x
+test -f d1/z
+./install-sh -m 644 x z d2//
+test -f x
+test -f z
+test -f d2/x
+test -f d2/z
+./install-sh -t d3 -m 644 x z
+test -f x
+test -f z
+test -f d3/x
+test -f d3/z
+./install-sh -t d4// -m 644 x z
+test -f x
+test -f z
+test -f d4/x
+test -f d4/z
+./install-sh -T x d3/y
+test -f x
+test -f d3/y
+./install-sh -T x d3 && exit 1
+./install-sh -T x d4// && exit 1
+
+# Ensure that install-sh works with names that include spaces
+touch 'a b'
+mkdir 'x y'
+./install-sh 'a b' 'x y'
+test -f x\ y/a\ b
+test -f 'a b'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/instspc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/instspc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/instspc.test	(revision 3089)
@@ -0,0 +1,113 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that installation to directory with spaces succeed.
+# Report from James Amundson.
+
+# This is mostly the same input as nobase.test, but we do not use
+# libtool libraries, because Libtool does not preserve space in
+# filenames (Issue observed with ltmain.sh (GNU libtool) 1.5a (1.1323
+# 2003/11/10 21:06:47))
+
+
+required='gcc'
+. ./defs || exit 1
+
+set -e
+
+# Make sure this system supports spaces in filenames.
+mkdir 'a b' || exit 77
+
+cat >> configure.in <<'EOF'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'EOF'
+foodir = $(prefix)/foo
+fooexecdir = $(prefix)/foo
+
+foo_HEADERS = sub/base.h
+nobase_foo_HEADERS = sub/nobase.h
+
+dist_foo_DATA = sub/base.dat
+nobase_dist_foo_DATA = sub/nobase.dat
+
+dist_fooexec_SCRIPTS = sub/base.sh
+nobase_dist_fooexec_SCRIPTS = sub/nobase.sh
+
+fooexec_PROGRAMS = sub/base
+nobase_fooexec_PROGRAMS = sub/nobase
+sub_base_SOURCES = source.c
+sub_nobase_SOURCES = source.c
+
+fooexec_LIBRARIES = sub/libbase.a
+nobase_fooexec_LIBRARIES = sub/libnobase.a
+sub_libbase_a_SOURCES = source.c
+sub_libnobase_a_SOURCES = source.c
+
+test-install-space: install
+	test   -f "$(DESTDIR)/more space/foo/sub/nobase.h"
+	test ! -f "$(DESTDIR)/more space/foo/nobase.h"
+	test   -f "$(DESTDIR)/more space/foo/base.h"
+	test   -f "$(DESTDIR)/more space/foo/sub/nobase.dat"
+	test ! -f "$(DESTDIR)/more space/foo/nobase.dat"
+	test   -f "$(DESTDIR)/more space/foo/base.dat"
+	test   -f "$(DESTDIR)/more space/foo/sub/nobase.sh"
+	test ! -f "$(DESTDIR)/more space/foo/nobase.sh"
+	test   -f "$(DESTDIR)/more space/foo/base.sh"
+	test   -f "$(DESTDIR)/more space/foo/sub/nobase$(EXEEXT)"
+	test ! -f "$(DESTDIR)/more space/foo/nobase$(EXEEXT)"
+	test   -f "$(DESTDIR)/more space/foo/base$(EXEEXT)"
+	test   -f "$(DESTDIR)/more space/foo/sub/libnobase.a"
+	test ! -f "$(DESTDIR)/more space/foo/libnobase.a"
+	test   -f "$(DESTDIR)/more space/foo/libbase.a"
+EOF
+
+mkdir sub
+
+: > sub/base.h
+: > sub/nobase.h
+: > sub/base.dat
+: > sub/nobase.dat
+: > sub/base.sh
+: > sub/nobase.sh
+
+cat >source.c <<'EOF'
+int
+main (int argc, char *argv[])
+{
+  return 0;
+}
+EOF
+cp source.c source2.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir build
+cd build
+
+../configure --prefix '/more space'
+$MAKE
+dest=`pwd`/'with space';
+DESTDIR="$dest" $MAKE -e test-install-space
Index: /trunk/essentials/sys-devel/automake-1.9/tests/interp.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/interp.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/interp.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure variable interpolation works.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = qqq
+s1 = z.c
+qqq_SOURCES = $(s1)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP 'z.$(OBJEXT)' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/interp2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/interp2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/interp2.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure variable interpolation doesn't break other
+# features.  Report from Joel N. Weber, II.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PATH_X
+AC_PATH_XTRA
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = x
+x_SOURCES = x.c
+x_LDADD = $(X_EXTRA_LIBS)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/java.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/java.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/java.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Minimal test of Java functionality.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AC_CHECK_PROG([HAS_JAVAC], [javac], [:], [exit])
+$HAS_JAVAC 77
+AC_OUTPUT
+EOF
+
+
+cat > Makefile.am << 'END'
+javadir = $(datadir)/java
+dist_java_JAVA = a.java b.java
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+grep '^all[-a-z]*:.*classdist_java\.stamp' Makefile.in
+
+cat >a.java <<EOF
+class a
+{
+}
+EOF
+
+cat >b.java <<EOF
+class b
+{
+}
+EOF
+
+./configure --prefix `pwd`
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/java2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/java2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/java2.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Java rules doesn't attempt to run javac when there is
+# no classes to compile.
+# Report from Braden McDaniel.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL(WITH_JDK, false)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+JAVAC = false
+JAVAROOT = $(top_builddir)/java
+
+JAVA_FILES = MyClass1.java
+
+if WITH_JDK
+noinst_JAVA = $(JAVA_FILES)
+endif
+
+EXTRA_DIST = $(JAVA_FILES)
+END
+
+: >MyClass1.java
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/java3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/java3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/java3.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Java rules don't attempt to install *.java files when
+# there are none.
+# Report from Johannes Nicolai (PR/441).
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL([WHO_CARES], false)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+if WHO_CARES
+JAVA_FILES = MyClass1.java
+endif
+
+dist_pkgdata_JAVA = $(JAVA_FILES)
+END
+
+: >MyClass1.java
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/javaprim.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/javaprim.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/javaprim.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure JAVA variable can be defined.
+
+. ./defs || exit 1
+
+echo 'AC_SUBST(JAVA)' >> configure.in
+
+cat > Makefile.am << 'END'
+javadir = $(datadir)/java
+java_JAVA = a.java b.java c.java
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/javasubst.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/javasubst.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/javasubst.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure redefining JAVAC works.
+
+. ./defs || exit 1
+
+echo 'AC_SUBST(JAVAC)' >> configure.in
+
+cat > Makefile.am << 'END'
+javadir = $(datadir)/java
+java_JAVA = a.java b.java c.java
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'JAVAC.*@JAVAC@' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ldadd.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ldadd.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ldadd.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1997, 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure incorrect LDADD usage is diagnosed.
+
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_SUBST([LTLIBOBJS], [q.lo])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libtu.la
+libtu_la_SOURCES = foo.c
+libtu_la_LDADD = @LTLIBOBJS@
+END
+
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+: > q.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE 2>&1 | grep LDADD || exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ldflags.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ldflags.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ldflags.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for LDFLAGS in conditional.
+# PR 77.
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_SUBST([LTLIBOBJS], [q.o])
+AM_CONDITIONAL(USE_SWIG, :)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+if USE_SWIG
+lib_LTLIBRARIES = libtu.la
+libtu_la_SOURCES = foo.c
+libtu_la_LDFLAGS = -module
+endif
+END
+
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+: > q.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lex.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lex.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lex.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_PROG_LEX
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zot
+zot_SOURCES = joe.l
+LDADD = @LEXLIB@
+END
+
+: > joe.l
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# Test to make sure that lex source generates correct target.
+
+$FGREP '$(LEX)' Makefile.in || exit 1
+
+# Test to make sure that lex source generates correct clean rule.
+# From Ralf Corsepius.
+
+$FGREP joel Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lex2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lex2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lex2.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Automake suggest using AM_PROG_LEX when a lexer is used.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zot
+zot_SOURCES = joe.l
+END
+
+: > joe.l
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AM_PROG_LEX stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lex3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lex3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lex3.test	(revision 3089)
@@ -0,0 +1,88 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test associated with PR 19.
+# From Matthew D. Langston.
+
+required='gcc gzip flex GNUmake'
+. ./defs || exit 1
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+cat > configure.in << 'END'
+AC_INIT
+dnl Prevent automake from looking in .. and ../..
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(am_lex_bug, 0.1.1)
+
+dnl Checks for programs.
+AC_PROG_CC
+AM_PROG_LEX
+AC_PROG_YACC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS  = foreign
+LDADD             = @LEXLIB@
+
+noinst_PROGRAMS   = foo
+foo_SOURCES       = foo.l
+END
+
+cat > foo.l << 'END'
+%%
+"END"   return EOF;
+.
+%%
+int
+main ()
+{
+  while (yylex () != EOF)
+    ;
+
+  return 0;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE
+echo 'This is the END' | ./foo
+$MAKE distcheck
+
+# foo.c must be shipped.
+gunzip am_lex_bug-0.1.1.tar.gz
+tar tf am_lex_bug-0.1.1.tar | $FGREP foo.c
+
+# While we are at it, make sure that foo.c is erased by
+# maintainer-clean, and not by distclean.
+test -f foo.c
+$MAKE distclean
+test -f foo.c
+./configure
+$MAKE maintainer-clean
+test ! -f foo.c
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lex4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lex4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lex4.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dependencies work with .ll files.
+# Test synthesized from PR automake/6.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AM_PROG_LEX
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zoo
+zoo_SOURCES = joe.ll
+END
+
+: > joe.ll
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP joe.Po Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lex5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lex5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lex5.test	(revision 3089)
@@ -0,0 +1,103 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for subdir lexers.
+
+required='gcc GNUmake gzip flex'
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([lex5], [1.0])
+AC_CONFIG_AUX_DIR([.])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AM_PROG_CC_C_O
+AM_PROG_LEX
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS  = foreign subdir-objects
+LDADD             = @LEXLIB@
+
+bin_PROGRAMS    = foo/foo
+foo_foo_SOURCES = foo/foo.l
+END
+
+mkdir foo
+
+cat > foo/foo.l << 'END'
+%%
+"END"   return EOF;
+.
+%%
+int
+main ()
+{
+  while (yylex () != EOF)
+    ;
+
+  return 0;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir sub
+cd sub
+../configure
+$MAKE foo/foo.o
+
+test -f foo/foo.c
+test -f foo/foo.o
+# ylwrap is not needed
+test ! -f ./ylwrap
+
+# Now, adds another lexer to test ylwrap.
+
+cd ..
+cp foo/foo.l foo/foo2.l
+cat >> Makefile.am << 'END'
+EXTRA_foo_foo_SOURCES = foo/foo2.l
+END
+
+# Make sure Makefile.in has a new time stamp: the rebuild rules are
+# used below.  We do this after updating Makefile.am, that way we can
+# ensure that automake, even with --no-force, is not confused if the
+# new Makefile.am has the same time stamp as the older one (since the
+# output will change, --no-force should have no effect).
+$sleep
+
+$AUTOMAKE -a --no-force
+test -f ./ylwrap
+
+cd sub
+$MAKE foo/foo2.o
+test -f foo/foo2.c
+test -f foo/foo2.o
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj10.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Do not complain about the nonexistence of a source for LIBOBJS if
+# it's in BUILT_SOURCES.  Reported by Erez Zadok.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_LIBOBJ([foo])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libfoo.a
+libfoo_a_LIBADD = @LIBOBJS@
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*foo\.c' stderr
+
+echo 'BUILT_SOURCES = foo.c' >> Makefile.am
+
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj11.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj11.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj11.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# AC_LIBOBJ must allow [] around its argument.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_EXEEXT
+AC_LIBOBJ([mountlist])
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+: > mountlist.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj12.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj12.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj12.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+
+# Test if a file can be mentioned in LIBOBJS and explicitly.
+# (See libobj13.test for the LTLIBRARIES check.)
+
+. ./defs || exit 1
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_LIBOBJ([foo])
+AC_LIBOBJ([bar])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libfoo.a libbar.a
+noinst_PROGRAMS = p1 p2
+
+libfoo_a_SOURCES =
+libfoo_a_LIBADD = @LIBOBJS@
+
+libbar_a_SOURCES = foo.c
+
+p1_SOURCES =
+p1_LDADD = @LIBOBJS@
+
+p2_SOURCES = bar.c
+END
+
+: > foo.c
+: > bar.c
+
+$ACLOCAL
+$AUTOMAKE
+
+# This however should be diagnosed, since foo.c and bar.c are in @LIBOBJS@.
+echo 'libfoo_a_SOURCES += foo.c' >> Makefile.am
+echo 'p1_SOURCES += bar.c' >> Makefile.am
+AUTOMAKE_fails
+$FGREP foo.c stderr
+$FGREP bar.c stderr
+
+# Global `LDADD' can also come into play.
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = a b
+LDADD = @LIBOBJS@
+END
+$AUTOMAKE
+grep 'a_DEPENDENCIES.*LIBOBJS' Makefile.in
+echo 'a_SOURCES = foo.c' >> Makefile.am
+AUTOMAKE_fails
+$FGREP foo.c stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj13.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj13.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj13.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+
+# Test if a file can be mentioned in LTLIBOBJS and explicitly.
+# (Like libobj12.test, but for Libtool libraries.)
+
+required='libtoolize'
+. ./defs || exit 1
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_LIBOBJ([foo])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LTLIBRARIES = libfoo.la libbar.la
+
+libfoo_la_SOURCES =
+libfoo_la_LIBADD = @LTLIBOBJS@
+
+libbar_la_SOURCES = foo.c
+END
+
+: > foo.c
+
+$ACLOCAL
+: > ltmain.sh
+$AUTOMAKE --add-missing
+
+# This however should be diagnosed, since foo.c is in @LIBOBJS@.
+echo 'libfoo_la_SOURCES += foo.c' >> Makefile.am
+AUTOMAKE_fails
+$FGREP foo.c stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj14.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj14.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj14.test	(revision 3089)
@@ -0,0 +1,49 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for an internal error when @LIBOBJS@ is used in
+# a variable that is not defined in the same conditions as the _LDADD
+# that uses it.
+# Report from Bill Davidson
+
+required=gcc
+. ./defs
+
+set -e
+
+cat >>configure.in <<'EOF'
+AC_PROG_CC
+AC_LIBSOURCE([bar.c])
+AM_CONDITIONAL([CASE], :)
+AC_OUTPUT
+EOF
+
+: >bar.c
+
+cat >>Makefile.am <<'EOF'
+COMMON_LIBS = @LIBOBJS@
+bin_PROGRAMS = foo
+if ! CASE
+foo_LDADD = $(COMMON_LIBS)
+endif
+EOF
+
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj2.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure LIBOBJS works in subdirs.
+# Bug from Josh MacDonald.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_LIBOBJ([fsusage])
+AC_OUTPUT(subdir/Makefile)
+END
+
+mkdir subdir
+
+cat > subdir/Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+: > subdir/fsusage.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'fsusage\.c' subdir/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj3.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we complain if @LIBOBJS@ is used without being set in configure.in
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_RANLIB
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:3:.*LIBOBJS' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj4.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure LIBOBJS error only occurs if LIBOBJS seen.  Report
+# from Jim Meyering.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_REPLACE_FUNCS(foo)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj5.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure AC_REPLACE_FUNCS works across lines.  Report from
+# Jim Meyering.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = joe
+LDADD = @LIBOBJS@
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_REPLACE_FUNCS(\
+   foo)
+END
+
+: > foo.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$FGREP foo.c Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj7.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for multiple replacement functions.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_REPLACE_FUNCS(basename dirname strsignal)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+: > basename.c
+: > dirname.c
+: > strsignal.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+sed -n -e ': again
+  /^DIST_COMMON.*[^\]$/ p
+  /^DIST_COMMON/ {
+     s/^DIST_COMMON//p
+     n
+     s/^/DIST_COMMON/
+     b again
+  }' < Makefile.in | $FGREP dirname.c
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libobj8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libobj8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libobj8.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `_.c' dependencies are generated for LIBOBJS
+# objects.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_REPLACE_FUNCS(basename dirname strsignal)
+AM_C_PROTOTYPES
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+noinst_LIBRARIES = libtu.a
+libtu_a_SOURCES =
+libtu_a_LIBADD = @LIBOBJS@
+END
+
+: > basename.c
+: > dirname.c
+: > strsignal.c
+
+: > ansi2knr.1
+: > ansi2knr.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'strsignal_.c:' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/library.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/library.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/library.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for _DEPENDENCIES with libraries.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_RANLIB
+AM_MAINTAINER_MODE
+AC_EXEEXT
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu cygnus
+lib_LIBRARIES = libfoo.a
+libfoo_a_DEPENDENCIES = libzot.a
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/library2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/library2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/library2.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake suggest using AC_PROG_RANLIB when *_LIBRARIES is used.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+EXTRA_LIBRARIES = libfoo.a
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AC_PROG_RANLIB stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/library3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/library3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/library3.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake simplify conditions in diagnostics.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AM_CONDITIONAL([A], [:])
+AM_CONDITIONAL([B], [:])
+AM_CONDITIONAL([C], [:])
+AM_CONDITIONAL([D], [:])
+EOF
+
+cat > Makefile.am << 'END'
+if A
+if !B
+  RANLIB = anb
+else
+  RANLIB = ab
+endif
+endif
+if C
+  RANLIB = c
+endif
+if !C
+if D
+  RANLIB = ncd
+endif
+endif
+EXTRA_LIBRARIES = libfoo.a
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep '^Makefile.am:.*:   !A and !C and !D$' stderr
+# Is there only one missing condition?
+test `grep ':  ' stderr | wc -l` = 1 || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure libtool is removed.
+# Report from Kevin Dalley
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_LIBTOOL_DLOPEN
+AC_DISABLE_SHARED
+AC_PROG_LIBTOOL
+AC_SUBST(LIBTOOL_DEPS)
+END
+
+: > Makefile.am
+
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'rm -f libtool' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool2.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure libtool clean targets exist.
+# Report from Eric Magnien.
+required=libtoolize
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(mypackage,0.1)
+
+AC_PROG_CC
+AC_PROG_LIBTOOL
+
+AC_CONFIG_FILES([
+  sub/Makefile
+  Makefile
+])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIR = subdir
+lib_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = foo.c
+END
+
+mkdir sub
+cat > sub/Makefile.am << 'END'
+lib_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = foo.c
+END
+
+$ACLOCAL || exit 1
+: > ltmain.sh
+$AUTOMAKE -a || exit 1
+
+grep 'rm -f .*\.lo' sub/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool3.test	(revision 3089)
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Try to build and package a program linked to a Libtool library.
+# Also make sure we do not bloat the Makefile with unneeded rules.
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = lib0.la liba/liba.la
+lib0_la_SOURCES = 0.c
+liba_liba_la_SOURCES = liba/a.c
+
+bin_PROGRAMS = 1
+1_SOURCES = sub/1.c
+1_LDADD = lib0.la $(top_builddir)/liba/liba.la
+END
+
+mkdir liba sub
+
+cat > 0.c << 'END'
+int
+zero (void)
+{
+   return 0;
+}
+END
+
+cat > sub/1.c << 'END'
+int zero ();
+
+int
+main ()
+{
+   return zero ();
+}
+END
+
+cat > liba/a.c << 'END'
+int
+a (void)
+{
+   return 'a';
+}
+END
+
+# Use --copy to workaround a bug in Cygwin's `cp -p' during distcheck.
+# (This bug is already exhibited by subobj9.test.)  In brief: Cygwin's
+# `cp -p' tries to preserve group and owner of the source and fails
+# to do so under normal accounts.  With --copy we ensure we own all files.
+
+libtoolize --force --copy
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing --copy
+
+# We need explicit rules to build 1.o and a.lo.  Make sure
+# Automake did not output additional rules for 1.lo and and a.lo.
+$FGREP '1.o:' Makefile.in
+$FGREP '1.lo:' Makefile.in && exit 1
+$FGREP 'a.o:' Makefile.in && exit 1
+$FGREP 'a.lo:' Makefile.in
+
+./configure
+
+$MAKE
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool4.test	(revision 3089)
@@ -0,0 +1,33 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake suggests AC_PROG_LIBTOOL when *_LTLIBRARIES is used.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+EXTRA_LTLIBRARIES = liblib.la
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AC_PROG_LIBTOOL stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool5.test	(revision 3089)
@@ -0,0 +1,49 @@
+#!/bin/sh
+# Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure it's ok to install a library under different conditions
+# in the same directory.
+# Report from Harlan Stenn.
+
+required='libtoolize'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AM_CONDITIONAL([COND1], [true])
+AM_CONDITIONAL([COND2], [false])
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+if COND1
+  lib_LTLIBRARIES = liba.la
+endif
+if COND2
+  lib_LTLIBRARIES = liba.la
+endif
+END
+
+libtoolize
+$ACLOCAL
+$AUTOMAKE --add-missing
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool6.test	(revision 3089)
@@ -0,0 +1,50 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure it's OK to install a library under different conditions
+# in different directories.  PR/285.
+
+required='libtoolize'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AM_CONDITIONAL([COND1], [true])
+AM_CONDITIONAL([COND2], [false])
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+if COND1
+  lib_LTLIBRARIES = liba.la
+endif
+if COND2
+  pkglib_LTLIBRARIES = liba.la
+endif
+END
+
+libtoolize
+$ACLOCAL
+$AUTOMAKE --add-missing
+# am_liba_la_rpath is defined twice, and used once
+test 3 = `grep 'am_liba_la_rpath' Makefile.in | wc -l`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool7.test	(revision 3089)
@@ -0,0 +1,89 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we allow Libtool's -dlopen/-dlpreopen
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_LIBTOOL_DLOPEN
+AM_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libmod1.la mod2.la
+libmod1_la_SOURCES = mod1.c
+libmod1_la_LDFLAGS = -module
+libmod1_la_LIBADD = -dlopen mod2.la
+mod2_la_SOURCES = mod2.c
+mod2_la_LDFLAGS = -module
+
+bin_PROGRAMS = prg
+prg_SOURCES = prg.c
+prg_LDADD = -dlopen libmod1.la -dlpreopen mod2.la
+
+print:
+	@echo 1BEG: $(prg_DEPENDENCIES) :END1
+	@echo 2BEG: $(libmod1_la_DEPENDENCIES) :END2
+
+END
+
+mkdir liba
+
+cat > mod1.c << 'END'
+int
+mod1 ()
+{
+   return 1;
+}
+END
+
+cat > mod2.c << 'END'
+int
+mod2 ()
+{
+   return 2;
+}
+END
+
+cat > prg.c << 'END'
+int
+main ()
+{
+   return 0;
+}
+END
+
+libtoolize --force --copy
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing --copy
+
+./configure
+$MAKE print >output 2>&1
+cat output
+grep '1BEG: libmod1.la mod2.la :END1' output
+grep '2BEG: mod2.la :END2' output
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/libtool8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/libtool8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/libtool8.test	(revision 3089)
@@ -0,0 +1,56 @@
+#!/bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake diagnoses conflicting installations.
+
+required='libtoolize'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AM_CONDITIONAL([COND1], [true])
+AM_CONDITIONAL([COND2], [false])
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+if COND1
+  lib_LTLIBRARIES = liba.la
+  EXTRA_LTLIBRARIES = libc.la libc.la libb.la
+else
+  lib_LTLIBRARIES = libb.la
+endif
+if COND2
+if COND1
+    pkglib_LTLIBRARIES = liba.la
+endif
+endif
+END
+
+libtoolize
+$ACLOCAL
+AUTOMAKE_fails --add-missing
+grep libb stderr && exit 1
+grep 'Makefile.am:3:.*libc.la.*multiply defined' stderr
+grep 'Makefile.am:9:.*`pkglib' stderr
+grep 'Makefile.am:2:.*`lib' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/license.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/license.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/license.test	(revision 3089)
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure COPYING is not overwritten, even with -a -f.
+
+required=makeinfo
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >>configure.in
+cat >Makefile.am <<\EOF
+test1: distdir
+	grep 'GNU GENERAL PUBLIC LICENSE' $(distdir)/COPYING
+test2: distdir
+	grep 'MY-OWN-LICENSE' $(distdir)/COPYING
+test3: distdir
+	test ! -f $(distdir)/COPYING
+	grep 'MY-OWN-LICENSE' $(distdir)/COPYING.LIB
+EOF
+
+:> NEWS
+:> AUTHORS
+:> ChangeLog
+:> README
+
+test ! -f COPYING
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --gnu --add-missing
+
+./configure
+$MAKE test1
+
+# rm before echo, because COPYING is likely to be a symlink to
+# the real COPYING...
+rm -f COPYING
+echo 'MY-OWN-LICENSE' >COPYING
+$MAKE test2
+
+$AUTOMAKE --gnu --add-missing --force-missing
+./configure
+$MAKE test2
+
+rm -f COPYING
+echo 'MY-OWN-LICENSE' >COPYING.LIB
+$AUTOMAKE --gnu --add-missing --force-missing
+./configure
+$MAKE test3
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_c_cxx.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_c_cxx.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_c_cxx.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the C++ linker is used when appropriate.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lava.c lamp.cxx
+END
+
+: > lava.c
+: > lamp.cxx
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the C++ linker in the rules of `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(CXXLINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(FLINK)' Makefile.in && exit 1
+grep '.\$(LINK)'  Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_dist.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_dist.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_dist.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the linker for a dist_*_SOURCES can override that for
+# *_SOURCES
+# Richard Boulton <richard@tartarus.org>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lava.c
+dist_lavalamp_SOURCES = lamp.cxx
+END
+
+: > lava.c
+: > lamp.cxx
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the C++ linker in the rules of `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(CXXLINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(FLINK)' Makefile.in && exit 1
+grep '.\$(LINK)'  Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_f90_only.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_f90_only.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_f90_only.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the Fortran 90 linker is used when appropriate.
+# (copied from link_f_only.test) Mike Nolta <mrnolta@princeton.edu>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_FC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lamp.f90
+END
+
+: > lamp.f90
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the Fortran linker in the rules of `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(FCLINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(CXXLINK)' Makefile.in && exit 1
+grep '.\$(LINK)'    Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_f_only.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_f_only.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_f_only.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the Fortran 77 linker is used when appropriate.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lamp.f
+END
+
+: > lamp.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the Fortran linker in the rules of `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(F77LINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(CXXLINK)' Makefile.in && exit 1
+grep '.\$(LINK)'    Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_fc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_fc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_fc.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the Fortran 77 linker is used when appropriate.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lava.c lamp.f
+END
+
+: > lava.c
+: > lamp.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the Fortran 77 linker in the rules of
+# `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(F77LINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(LINK)'    Makefile.in && exit 1
+grep '.\$(CXXLINK)' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_fccxx.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_fccxx.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_fccxx.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the C++ linker is used when appropriate.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lava.c lamp.cxx lamp2.f
+END
+
+: > lava.c
+: > lamp.cxx
+: > lamp2.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the C++ linker in the rules of `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(CXXLINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(F77LINK)' Makefile.in && exit 1
+grep '.\$(LINK)'    Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/link_fcxx.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/link_fcxx.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/link_fcxx.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure the C++ linker is used when appropriate.
+# Matthew D. Langston <langston@SLAC.Stanford.EDU>
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = lavalamp
+lavalamp_SOURCES = lava.cxx lamp.f
+END
+
+: > lava.cxx
+: > lamp.f
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+
+# We should only see the C++ linker in the rules of `Makefile.in'.
+
+# Look for this macro not at the beginning of any line; that will have
+# to be good enough for now.
+grep '.\$(CXXLINK)' Makefile.in  || exit 1
+
+# We should not see these patterns:
+grep '.\$(F77LINK)' Makefile.in && exit 1
+grep '.\$(LINK)'    Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp2.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Automake suggest using AM_PATH_LISPDIR to define lispdir.
+
+. ./defs || exit 1
+
+set -e
+
+echo 1
+
+cat > Makefile.am << 'END'
+lisp_LISP = foo.el
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AM_PATH_LISPDIR stderr
+
+
+echo 2
+# Setting lispdir should not be enough.
+
+cat > Makefile.am << 'END'
+lispdir = /usr/share/emacs/site-lisp
+lisp_LISP = foo.el
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AM_PATH_LISPDIR stderr
+
+echo 3
+# Setting EMACS should not be enough.
+
+cat > Makefile.am << 'END'
+EMACS = emacs
+lisp_LISP = foo.el
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep AM_PATH_LISPDIR stderr
+
+
+echo 4
+# Setting both is OK.
+
+cat > Makefile.am << 'END'
+lispdir = /usr/share/emacs/site-lisp
+EMACS = emacs
+lisp_LISP = foo.el
+END
+
+$ACLOCAL
+$AUTOMAKE -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp3.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that compiling interdependent elisp files works.
+
+required=emacs
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+lisp_LISP = am-one.el am-two.el am-three.el
+EXTRA_DIST = am-one.el am-two.el
+am-three.el:
+	echo "(provide 'am-three)" > $@
+CLEANFILES = am-three.el
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+# am-tree.el is a built source
+
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+
+$MAKE
+
+test -f am-one.elc
+test -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
+
+# Make sure we can recover from a deletion.
+rm -f am-one.elc
+$MAKE
+test -f am-one.elc
+
+# Make sure we build all files when any of them change.
+# (We grep a message to make sure the compilation happens.)
+unique=0a3346e2af8a689b85002b53df09142a
+$sleep
+echo "(message \"$unique\")(provide 'am-three)" > am-three.el
+$MAKE >output 2>&1
+cat output
+grep $unique output
+
+# It should also work for VPATH-builds.
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp4.test	(revision 3089)
@@ -0,0 +1,84 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure setting ELCFILES= disable byte-compilation as documented.
+# Report from Simon Josefsson.
+
+required=emacs
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+lisp_LISP = am-one.el am-two.el am-three.el
+EXTRA_DIST = am-one.el am-two.el
+ELCFILES=
+am-three.el:
+	echo "(provide 'am-three)" > $@
+CLEANFILES = am-three.el
+
+test:
+	test ! -f am-one.elc
+	test ! -f am-two.elc
+	test ! -f am-three.elc
+	test ! -f elc-stamp
+
+install-test: install
+	test -f $(lispdir)/am-one.el
+	test -f $(lispdir)/am-two.el
+	test -f $(lispdir)/am-three.el
+	test ! -f $(lispdir)/am-one.elc
+	test ! -f $(lispdir)/am-two.elc
+	test ! -f $(lispdir)/am-three.elc
+
+install-test2: install
+	test ! -f $(lispdir)/am-one.el
+	test ! -f $(lispdir)/am-two.el
+	test ! -f $(lispdir)/am-three.el
+	test ! -f $(lispdir)/am-one.elc
+	test ! -f $(lispdir)/am-two.elc
+	test ! -f $(lispdir)/am-three.elc
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+# am-tree.el is a built source
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure --prefix "`pwd`"
+$MAKE
+$MAKE test
+$MAKE install-test
+$MAKE uninstall
+
+# Fake the absence of emacs.
+# *.el files should not be installed.
+./configure EMACS=no --prefix "`pwd`"
+$MAKE
+$MAKE test
+$MAKE install-test2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp5.test	(revision 3089)
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Same as lisp4.test, but using the now-recommanded way to install
+# non-bytecompiled *.el files.
+
+required=emacs
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+lisp_DATA = am-one.el am-two.el am-three.el
+EXTRA_DIST = am-one.el am-two.el
+am-three.el:
+	echo "(provide 'am-three)" > $@
+CLEANFILES = am-three.el
+
+test:
+	test ! -f am-one.elc
+	test ! -f am-two.elc
+	test ! -f am-three.elc
+	test ! -f elc-stamp
+
+install-test: install
+	test -f $(lispdir)/am-one.el
+	test -f $(lispdir)/am-two.el
+	test -f $(lispdir)/am-three.el
+	test ! -f $(lispdir)/am-one.elc
+	test ! -f $(lispdir)/am-two.elc
+	test ! -f $(lispdir)/am-three.elc
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+# am-tree.el is a built source
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure --prefix "`pwd`"
+$MAKE
+$MAKE test
+$MAKE install-test
+$MAKE uninstall
+
+# Fake the absence of emacs.
+# *.el files SHOULD be installed.
+./configure EMACS=no --prefix "`pwd`"
+$MAKE
+$MAKE test
+$MAKE install-test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp6.test	(revision 3089)
@@ -0,0 +1,108 @@
+#! /bin/sh
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for conditional _LISP.
+
+required=emacs
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+dist_lisp_LISP = am-one.el
+if WANT_TWO
+  dist_lisp_LISP += am-two.el
+endif
+dist_noinst_LISP = am-three.el
+
+dist-test: distdir
+	test -f $(distdir)/am-one.el
+	test -f $(distdir)/am-two.el
+	test -f $(distdir)/am-three.el
+EOF
+
+cat >> configure.in << 'EOF'
+AM_CONDITIONAL([WANT_TWO], test -n "$want_two")
+AM_PATH_LISPDIR
+AC_OUTPUT
+EOF
+
+echo "(provide 'am-one)" > am-one.el
+echo "(require 'am-one)" > am-two.el
+echo "(require 'am-one)" > am-three.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure --with-lispdir=`pwd`/lisp
+
+$MAKE
+test -f am-one.elc
+test ! -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
+
+$MAKE install
+test -f lisp/am-one.el
+test -f lisp/am-one.elc
+test ! -f lisp/am-two.el
+test ! -f lisp/am-two.elc
+test ! -f lisp/am-three.el
+test ! -f lisp/am-three.elc
+
+$MAKE dist-test
+
+$MAKE distclean
+test ! -f am-one.elc
+test ! -f am-two.elc
+test ! -f am-three.elc
+test ! -f elc-stamp
+
+
+./configure --with-lispdir=`pwd`/lisp want_two=1
+$MAKE
+test -f am-one.elc
+test -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
+
+# Let's mutilate the source tree, the check the recover rule.
+rm -f am-*.elc
+$MAKE
+test -f am-one.elc
+test -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
+
+$MAKE install
+test -f lisp/am-one.el
+test -f lisp/am-one.elc
+test -f lisp/am-two.el
+test -f lisp/am-two.elc
+test ! -f lisp/am-three.el
+test ! -f lisp/am-three.elc
+
+$MAKE dist-test
+
+$MAKE distclean
+test ! -f am-one.elc
+test ! -f am-two.elc
+test ! -f am-three.elc
+test ! -f elc-stamp
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp7.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that lisp_LISP also works when emacs is not installed.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+dist_lisp_LISP = am-one.el am-two.el am-three.el
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+EMACS=no # Simulate no emacs.
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+echo "(provide 'am-three)" > am-three.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+
+$MAKE >stdout
+
+cat stdout
+test 1 -eq `grep 'Warnings can be ignored' stdout | wc -l`
+
+test ! -f am-one.elc
+test ! -f am-two.elc
+test ! -f am-three.elc
+test -f elc-stamp
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/lisp8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/lisp8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/lisp8.test	(revision 3089)
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check the recover rule of lisp_LISP with parallel make.
+
+required='GNUmake emacs'
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'EOF'
+dist_lisp_LISP = am-one.el am-two.el am-three.el
+EOF
+
+cat >> configure.in << 'EOF'
+AM_PATH_LISPDIR
+AC_OUTPUT
+EOF
+
+echo "(require 'am-two)" > am-one.el
+echo "(require 'am-three) (provide 'am-two)" > am-two.el
+echo "(provide 'am-three)" > am-three.el
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+
+$MAKE -j >stdout
+
+cat stdout
+test 1 -eq `grep 'Warnings can be ignored' stdout | wc -l`
+
+test -f am-one.elc
+test -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
+
+rm -f am-*.elc
+
+$MAKE -j >stdout
+
+cat stdout
+test 1 -eq `grep 'Warnings can be ignored' stdout | wc -l`
+test -f am-one.elc
+test -f am-two.elc
+test -f am-three.elc
+test -f elc-stamp
Index: /trunk/essentials/sys-devel/automake-1.9/tests/listval.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/listval.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/listval.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure variable is expanded properly.
+# From Adam J. Richter.
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST(LTLIBOBJS)
+AC_PROG_LIBTOOL
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libpanel_applet.la
+libpanel_applet_la_SOURCES = \
+	applet-widget.c
+libpanel_applet_la_LDFLAGS = -version-info 0:1:0 -rpath $(libdir)
+libpanel_applet_la_LIBADD = -lm
+END
+
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/location.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/location.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/location.test	(revision 3089)
@@ -0,0 +1,77 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for locations in error messages.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL([COND1], [true])
+AM_CONDITIONAL([COND2], [true])
+AC_PROG_CC
+AC_PROG_RANLIB
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = libfoo.a
+if COND2
+  lib_LIBRARIES = libfoo.a
+endif
+if COND1
+  bin_PROGRAMS += ctags
+endif
+VAR = 1 \
+      2 \
+      3
+
+VAR = 1 \
+      2 \
+      3
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+
+# Smash the useless difference of lib file locations.
+sed 's,^.*lib/am/\([a-z]*\.am\),\1,' stderr >observed
+cat >expected <<\EOF
+Makefile.am:12: VAR multiply defined in condition TRUE ...
+Makefile.am:8: ... `VAR' previously defined here
+automake: libfoo_a_OBJECTS should not be defined
+Makefile.am:3:   while processing library `libfoo.a'
+automake: use `libfoo_a_LDADD', not `libfoo_a_LIBADD'
+Makefile.am:3:   while processing library `libfoo.a'
+library.am: deprecated feature: target `libfoo.a' overrides `libfoo.a$(EXEEXT)'
+library.am: change your target to read `libfoo.a$(EXEEXT)'
+Makefile.am:3:   while processing library `libfoo.a'
+program.am: target `libfoo.a$(EXEEXT)' was defined here
+Makefile.am:1:   while processing program `libfoo.a'
+program.am: redefinition of `libfoo.a$(EXEEXT)'...
+Makefile.am:1:   while processing program `libfoo.a'
+library.am: ... `libfoo.a' previously defined here
+Makefile.am:3:   while processing library `libfoo.a'
+tags.am: redefinition of `ctags'...
+program.am: ... `ctags$(EXEEXT)' previously defined here
+Makefile.am:6:   while processing program `ctags'
+EOF
+
+diff expected observed || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/longlin2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/longlin2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/longlin2.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Long lines should be wrapped.
+# Report from Albert Chin.
+
+. ./defs || exit 1
+
+set -e
+
+n=1
+files=
+match=
+while test $n -le 100
+do
+  files="$files filename$n"
+  match="..........$match"
+  n=`expr $n + 1`
+done
+files2=`echo "$files" | sed s/filename/filenameb/g`
+
+cat >Makefile.am <<EOF
+FOO = $files $files2 \
+  grepme
+EOF
+
+# The `FOO = ...' line is 2293-byte long.  More than what a POSIX
+# conforment system is expected to support.
+
+# (It's OK if grep truncates the long line.)
+grep $match Makefile.am
+
+$ACLOCAL
+$AUTOMAKE
+
+grep $match Makefile.in && exit 1
+grep 'filenameb100 grepme' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/longline.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/longline.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/longline.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Long lines of += should be wrapped.
+# Report from Simon Josefsson.
+
+. ./defs || exit 1
+
+set -e
+
+(echo DUMMY = some_long_filename_1;
+for i in 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20;
+do
+  echo DUMMY += some_long_filename_$i
+done) > Makefile.am
+
+$ACLOCAL
+$AUTOMAKE
+test 80 -ge `grep DUMMY Makefile.in | wc -c`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ltcond.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ltcond.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ltcond.test	(revision 3089)
@@ -0,0 +1,108 @@
+#!/bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for conditional libtool libraries.
+# This combines two examples from the manual.
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AM_CONDITIONAL([WANT_LIBFOO], [true])
+AM_CONDITIONAL([WANT_LIBBAR], [false])
+AC_SUBST([WANTEDLIBS], ['lib1foo.la lib1bar.la'])
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+EXTRA_LTLIBRARIES = lib1foo.la lib1bar.la lib3bar.la
+lib_LTLIBRARIES = $(WANTEDLIBS)
+lib1foo_la_SOURCES = foo.c
+lib1foo_la_LDFLAGS = -rpath '$(libdir)'
+lib1bar_la_SOURCES = bar.c
+lib1bar_la_LDFLAGS = -rpath '$(libdir)'
+lib3bar_la_SOURCES = bar.c
+
+if WANT_LIBFOO
+lib_LTLIBRARIES += lib2foo.la
+check_LTLIBRARIES = lib3foo.la
+endif
+if WANT_LIBBAR
+lib_LTLIBRARIES += lib2bar.la
+endif
+lib2foo_la_SOURCES = foo.c
+lib2bar_la_SOURCES = bar.c
+lib3foo_la_SOURCES = foo.c
+END
+
+echo 'int one () { return 1; }' >foo.c
+echo 'int two () { return 2; }' >bar.c
+
+mkdir empty
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# Install libraries in lib/, and the rest in empty/.
+# (in fact there is no "rest", so as the name imply empty/ is
+# expected to remain empty).
+./configure --prefix=`pwd`/empty --libdir=`pwd`/lib
+
+$MAKE
+test -f lib1foo.la
+test -f lib1bar.la
+test -f lib2foo.la
+test ! -f lib2bar.la
+test ! -f lib3foo.la
+test ! -f lib3bar.la
+
+$MAKE check
+test ! -f lib2bar.la
+test -f lib3foo.la
+test ! -f lib3bar.la
+
+$MAKE install
+test -f lib/lib1foo.la
+test -f lib/lib1bar.la
+test -f lib/lib2foo.la
+test ! -f lib/lib3foo.la
+find empty -type f -print > empty.lst
+cat empty.lst
+test 0 = `wc -l < empty.lst`
+
+$MAKE uninstall
+find lib -type f -print > lib.lst
+test 0 = `wc -l < lib.lst`
+test -f lib1foo.la
+test -f lib1bar.la
+test -f lib2foo.la
+test -f lib3foo.la
+
+$MAKE clean
+test ! -f lib1foo.la
+test ! -f lib1bar.la
+test ! -f lib2foo.la
+test ! -f lib3foo.la
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ltcond2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ltcond2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ltcond2.test	(revision 3089)
@@ -0,0 +1,81 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in conditionals.
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_SUBST([HELLO_SYSTEM], [hello-generic.lo])
+AM_CONDITIONAL([LINUX], true)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libhello.la
+libhello_la_SOURCES = hello-common.c
+EXTRA_libhello_la_SOURCES = hello-linux.c hello-generic.c
+libhello_la_LIBADD = $(HELLO_SYSTEM)
+libhello_la_DEPENDENCIES = $(HELLO_SYSTEM)
+
+lib_LTLIBRARIES += libhello2.la
+libhello2_la_SOURCES = hello-common.c
+if LINUX
+libhello2_la_SOURCES += hello-linux.c
+else
+libhello2_la_SOURCES += hello-generic.c
+endif
+
+bin_PROGRAMS = hello hello2
+hello_SOURCES = main.c
+hello_LDADD = libhello.la
+hello2_SOURCES = main.c
+hello2_LDADD = libhello2.la
+
+check-local:
+	./hello$(EXEEXT) | grep hello-generic
+	./hello2$(EXEEXT) | grep hello-linux
+	: > check-ok
+END
+
+echo 'char* str() { return "hello-linux"; }' >hello-linux.c
+echo 'char* str() { return "hello-generic"; }' >hello-generic.c
+cat >hello-common.c <<'END'
+#include <stdio.h>
+char* str();
+void print()
+{
+  puts (str ());
+}
+END
+echo 'int main() { print(); return 0; }' >main.c
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE check
+test -f check-ok
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ltconv.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ltconv.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ltconv.test	(revision 3089)
@@ -0,0 +1,159 @@
+#!/bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for libtool convenience libraries.
+# This example is taken from the manual.
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_CONFIG_FILES(sub1/Makefile
+		sub2/Makefile
+		sub2/sub21/Makefile
+		sub2/sub22/Makefile)
+AC_OUTPUT
+END
+
+mkdir sub1
+mkdir sub2
+mkdir sub2/sub21
+mkdir sub2/sub22
+mkdir empty
+
+cat >Makefile.am <<'END'
+SUBDIRS = sub1 sub2
+lib_LTLIBRARIES = libtop.la
+libtop_la_SOURCES =
+libtop_la_LIBADD = \
+  sub1/libsub1.la \
+  sub2/libsub2.la
+
+bin_PROGRAMS = ltconvtest
+ltconvtest_SOURCES = test.c
+ltconvtest_LDADD = libtop.la
+
+check-local:
+	./ltconvtest$(EXEEXT)
+	: > check-ok
+installcheck-local:
+	$(bindir)/ltconvtest$(EXEEXT)
+	: > installcheck-ok
+END
+
+cat >sub1/Makefile.am <<'END'
+noinst_LTLIBRARIES = libsub1.la
+libsub1_la_SOURCES = sub1.c
+END
+
+echo 'int sub1 () { return 1; }' > sub1/sub1.c
+
+cat >sub2/Makefile.am <<'END'
+SUBDIRS = sub21 sub22
+noinst_LTLIBRARIES = libsub2.la
+libsub2_la_SOURCES = sub2.c
+libsub2_la_LIBADD = \
+  sub21/libsub21.la \
+  sub22/libsub22.la
+END
+
+echo 'int sub2 () { return 2; }' > sub2/sub2.c
+
+cat >sub2/sub21/Makefile.am <<'END'
+noinst_LTLIBRARIES = libsub21.la
+libsub21_la_SOURCES = sub21.c
+END
+
+echo 'int sub21 () { return 21; }' > sub2/sub21/sub21.c
+
+cat >sub2/sub22/Makefile.am <<'END'
+noinst_LTLIBRARIES = libsub22.la
+libsub22_la_SOURCES = sub22.c
+END
+
+echo 'int sub22 () { return 22; }' > sub2/sub22/sub22.c
+
+cat >test.c <<EOF
+#include <stdio.h>
+int main ()
+{
+  if (1 != sub1 ())
+    return 1;
+  if (2 != sub2 ())
+    return 2;
+  if (21 != sub21 ())
+    return 3;
+  if (22 != sub22 ())
+    return 4;
+  return 0;
+}
+EOF
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# Install libraries in lib/, programs in bin/, and the rest in empty/.
+# (in fact there is no "rest", so as the name imply empty/ is
+# expected to remain empty).
+./configure --prefix=`pwd`/empty --libdir=`pwd`/lib --bindir=`pwd`/bin
+
+$MAKE
+test -f libtop.la
+test -f sub1/libsub1.la
+test -f sub2/libsub2.la
+test -f sub2/sub21/libsub21.la
+test -f sub2/sub22/libsub22.la
+$MAKE check
+test -f check-ok
+rm -f check-ok
+
+$MAKE install
+test -f lib/libtop.la
+$MAKE installcheck
+test -f installcheck-ok
+rm -f installcheck-ok
+
+find empty -type f -print > empty.lst
+cat empty.lst
+test 0 = `wc -l < empty.lst`
+
+$MAKE clean
+test ! -f libtop.la
+test ! -f sub1/libsub1.la
+test ! -f sub2/libsub2.la
+test ! -f sub2/sub21/libsub21.la
+test ! -f sub2/sub22/libsub22.la
+test ! -f ltconvtest
+
+$MAKE installcheck
+test -f installcheck-ok
+rm -f installcheck-ok
+
+$MAKE uninstall
+find lib -type f -print > lib.lst
+test 0 = `wc -l < lib.lst`
+find bin -type f -print > bin.lst
+test 0 = `wc -l < bin.lst`
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ltdeps.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ltdeps.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ltdeps.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure libtool library dependencies are correct.
+# Report from Lars J. Aas.
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_LIBTOOL
+AC_PROG_CXX
+AM_CONDITIONAL(HACKING_COMPACT_BUILD, whatever)
+END
+
+cat > Makefile.am << 'END'
+RegularSources = \
+        SbBSPTree.cpp \
+        SbBox2f.cpp \
+        SbBox2s.cpp
+
+LinkHackSources = \
+        all.cpp
+
+if HACKING_COMPACT_BUILD
+BuildSources = $(LinkHackSources)
+else
+BuildSources = $(RegularSources)
+endif
+
+noinst_LTLIBRARIES = libbase.la
+libbase_la_SOURCES = $(BuildSources)
+
+EXTRA_libbase_la_SOURCES = \
+        $(RegularSources) $(LinkHackSources)
+END
+
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'OBJECTS =$' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ltlibobjs.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ltlibobjs.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ltlibobjs.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure LTLIBOBJS alone works ok.
+# Report from Vadim Zeitlin.
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST(LTLIBOBJS)
+AC_PROG_LIBTOOL
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libtu.la
+libtu_la_SOURCES = foo.c
+libtu_la_LIBADD = @LTLIBOBJS@
+END
+
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ltlibsrc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ltlibsrc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ltlibsrc.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure a sensible default source for libraries is used.
+
+required='libtool gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+mkdir zoo.d
+
+cat > Makefile.am << 'END'
+AM_LDFLAGS = -module
+pkglib_LTLIBRARIES = zoo.d/bar.la old.la
+noinst_LTLIBRARIES = foo.la zoo.d/old2.la
+
+$(srcdir)/zoo_d_old2_la.c: $(srcdir)/old_la.c
+	cp $(srcdir)/old_la.c $@
+END
+
+cat > foo.c << 'END'
+int foo (void) { return 0; }
+END
+
+cp foo.c zoo.d/bar.c
+cp foo.c old_la.c
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+AUTOMAKE_fails -a
+grep 'Makefile.am:2:.*old_la.c' stderr
+grep 'Makefile.am:2:.*old.c' stderr
+grep 'Makefile.am:3:.*zoo_d_old2_la.c' stderr
+grep 'Makefile.am:3:.*zoo\.d/old2.c' stderr
+
+$AUTOMAKE -Wno-obsolete
+
+mkdir sub
+cd sub
+
+../configure
+$MAKE
+
+test -f foo.la
+test -f zoo.d/bar.la
+test -f old.la
+test -f zoo.d/old2.la
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/maintclean.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/maintclean.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/maintclean.test	(revision 3089)
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure distclean and maintainer-clean erase the right files.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES(bar)
+AC_OUTPUT
+END
+
+cat > Makefile.am <<'END'
+noinst_DATA = foo.c
+
+foo.c:
+	touch foo.c
+
+MAINTAINERCLEANFILES = foo.c
+
+END
+
+touch bar.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+# Users can disable autom4te.cache.
+if test -d autom4te.cache; then
+  test_cache='test -d autom4te.cache'
+else
+  test_cache=:
+fi
+
+# Since we don't require Yacc, make sure it's not used.
+./configure YACC=false
+test -f bar
+
+$MAKE
+test -f foo.c
+
+$MAKE distclean
+test ! -f bar
+test ! -f Makefile
+test ! -f config.status
+test -f foo.c
+$test_cache
+
+./configure
+test -f bar
+
+$MAKE foo.c
+test -f foo.c
+
+$MAKE maintainer-clean
+test ! -f bar
+test ! -f foo.c
+test ! -f Makefile
+test ! -f config.status
+test ! -d autom4te.cache
Index: /trunk/essentials/sys-devel/automake-1.9/tests/make.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/make.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/make.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `make' check works.
+# From Ralf Corsepius.
+
+required=GNUmake
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(foo,0,no)
+AM_MAKE_INCLUDE
+AC_OUTPUT(Makefile)
+END
+
+: > Makefile.am
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+export ACLOCAL
+export AUTOCONF
+export AUTOMAKE
+
+# Do the test twice -- once with make and once with make -w.
+# This tests for a bug reported by Rainer Orth (see PR 175).
+
+save="$MAKE"
+for flag in '' -w; do
+   MAKE="$save $flag" ./configure
+
+   $FGREP 'am__include = include' Makefile
+
+   touch configure.in
+   $MAKE $flag
+
+   $FGREP 'am__include = include' Makefile
+
+   rm -f config.cache
+done
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/makej.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/makej.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/makej.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# `make -j' used to fail with Autoconf < 2.58, because tools like
+# autoconf and automake can try to update autom4te's cache in parallel.
+#
+# Note that failures might not be reproducible systematically as they
+# depend on the time at which autoconf and automake update the cache
+# via autom4te.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<'END'
+m4_include([version.m4])
+AC_INIT([version7], [THE_VERSION])
+AM_INIT_AUTOMAKE
+AC_CONFIG_HEADER([config.h])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+echo 'm4_define([THE_VERSION], [2.718])' > version.m4
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOHEADER
+$AUTOMAKE --add-missing
+./configure --version | grep '2\.718'
+./configure
+$MAKE
+
+$sleep
+echo 'm4_define([THE_VERSION], [3.141])' > version.m4
+$MAKE -j
+./configure --version | grep '3\.141'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/makevars.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/makevars.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/makevars.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that automake includes the needed variables,
+# but not too many.
+
+. ./defs || exit 1
+
+# Find the macros wanted by Automake.
+$ACLOCAL || exit 1
+
+# Create some dummy Makefile.in.
+: > Makefile.am
+
+$AUTOMAKE || exit 1
+
+# We are definitely not needing a compiler or preprocessor.
+$EGREP '^(CC|CPP|CXX|CXXCPP) =' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/man.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/man.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/man.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `dist' prefix works with man pages.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+dist_man_MANS = foo.1
+nodist_man1_MANS = bar.man
+END
+
+: > foo.1
+: > bar.man
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+grep '^MANS ' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/man2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/man2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/man2.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that man pages listed in man_MANS are installed and
+# renamed as documented.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+man_MANS = foo.2
+man4_MANS = foo.4 bar.man
+END
+
+: > foo.2
+: > foo.4
+: > bar.man
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+# Let's play with $DESTDIR too, it shouldn't hurt.
+./configure --prefix='' --mandir=/man
+DESTDIR="`pwd`/_inst" $MAKE -e install
+
+test -f ./_inst/man/man2/foo.2
+test -f ./_inst/man/man4/foo.4
+test -f ./_inst/man/man4/bar.4
+
+DESTDIR="`pwd`/_inst" $MAKE -e uninstall
+
+test ! -f ./_inst/man/man2/foo.2
+test ! -f ./_inst/man/man4/foo.4
+test ! -f ./_inst/man/man4/bar.4
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mclean.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mclean.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mclean.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure MAINTAINERCLEANFILES works.
+# Report from Paul D. Smith.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+MAINTAINERCLEANFILES = foo
+END
+
+: > FOO
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'rm -f .*MAINTAINERCLEANFILES' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mdate.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mdate.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mdate.test	(revision 3089)
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that mdate-sh is required when Texinfo used and version.texi needed.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+cat > textutils.texi << 'END'
+@include version.texi
+@setfilename textutils.info
+END
+
+# Required when using Texinfo.
+: > texinfo.tex
+
+$ACLOCAL || exit 1
+$AUTOMAKE 2>&1 > /dev/null | grep 'required file.*mdate-sh'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mdate2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mdate2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mdate2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure mdate-sh is included in distribution.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+cat > textutils.texi << 'END'
+@include version.texi
+END
+
+# Required when using Texinfo.
+: > texinfo.tex
+: > mdate-sh
+echo '@setfilename textutils' > textutils.texi
+
+# Use "././" to confuse Automake into thinking this is a subdir build.
+$ACLOCAL || exit 1
+$AUTOMAKE ././Makefile || exit 1
+
+grep 'mdate-sh' Makefile.in | grep -v SHELL
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mdate3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mdate3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mdate3.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure mdate-sh run correctly.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT([mdate3], [1.0])
+AC_CONFIG_AUX_DIR([foo])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+cat > textutils.texi << 'END'
+@include version.texi
+@setfilename textutils.info
+END
+
+mkdir foo
+
+# Required when using Texinfo.
+: > foo/texinfo.tex
+: > foo/mdate-sh
+mv install-sh foo
+mv missing foo
+mv mkinstalldirs foo
+mv depcomp foo
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '[^/]mdate-sh' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mdate4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mdate4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mdate4.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that mdate-sh is added to the right directory.
+# Report from Kevin Dalley
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile sub/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+END
+
+mkdir sub
+
+cat > sub/Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+cat > sub/textutils.texi << 'END'
+@include version.texi
+@setfilename textutils.info
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE -a || exit 1
+test -f sub/mdate-sh
Index: /trunk/essentials/sys-devel/automake-1.9/tests/missing.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/missing.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/missing.test	(revision 3089)
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test missing with version mismatches.
+
+. ./defs || exit 1
+
+required=GNUmake
+set -e
+
+cat >>configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# Make sure we do use missing, even if the user exported AUTOCONF.
+# (We cannot export this new value, because it would be used by Automake
+# when tracing, and missing is no good for this.)
+MYAUTOCONF="`pwd`/missing --run $AUTOCONF"
+unset AUTOCONF
+
+./configure AUTOCONF="$MYAUTOCONF"
+$MAKE
+$sleep
+# Hopefully the install version of Autoconf cannot compete with this one...
+echo 'AC_PREREQ(9999)' >> aclocal.m4
+$MAKE distdir
+
+# Run again, but without missing, to ensure that timestamps were updated.
+export AUTOMAKE ACLOCAL
+./configure AUTOCONF="$MYAUTOCONF"
+$MAKE
+
+# Make sure $MAKE fails when timestamps aren't updated and missing is not used.
+$sleep
+touch aclocal.m4
+$MAKE && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/missing2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/missing2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/missing2.test	(revision 3089)
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test missing with version mismatches.
+
+. ./defs || exit 1
+
+required=GNUmake
+set -e
+
+cat >>configure.in <<'EOF'
+m4_include([v.m4])
+AC_OUTPUT
+EOF
+
+: > v.m4
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# See missing.test for explanations about this.
+MYAUTOCONF="`pwd`/missing --run $AUTOCONF"
+unset AUTOCONF
+
+./configure AUTOCONF="$MYAUTOCONF"
+
+$MAKE
+$sleep
+# Hopefully the install version of Autoconf cannot compete with this one...
+echo 'AC_PREREQ(9999)' > v.m4
+$MAKE distdir
+
+# Run again, but without missing, to ensure that timestamps were updated.
+export AUTOMAKE ACLOCAL
+./configure AUTOCONF="$MYAUTOCONF"
+$MAKE
+
+# Make sure $MAKE fail when timestamps aren't updated and missing is not used.
+$sleep
+touch v.m4
+$MAKE && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/missing3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/missing3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/missing3.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test missing when running a tool's --version.
+
+. ./defs || exit 1
+
+set -e
+
+# b7cb8259 assumed not to exist.
+
+./missing b7cb8259 --version 2>stderr && exit 1
+grep . stderr && exit 1
+./missing b7cb8259 --grep 2>stderr && exit 1
+grep WARNING stderr
+
+./missing --run b7cb8259 --version && exit 1
+./missing --run b7cb8259 --grep 2>stderr && exit 1
+grep WARNING stderr
+
+# missing itself it known to exist :)
+
+./missing ./missing --version 2>stderr && exit 1
+grep . stderr && exit 1
+./missing ./missing --grep 2>stderr && exit 1
+grep WARNING stderr
+
+./missing --run ./missing --version 2>stderr
+grep . stderr && exit 1
+./missing --run ./missing --grep 2>stderr && exit 1
+grep WARNING stderr && exit 1
+grep Unknown stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mkinst2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mkinst2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mkinst2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure no-installman suppresses man dir creation.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-installman
+man_MANS = foo.1
+END
+
+: > foo.1
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure --prefix `pwd`/sub
+
+$MAKE installdirs
+test ! -d sub/man
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mkinst3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mkinst3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mkinst3.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test mkinstalldirs with spaces in directory names.
+
+. ./defs || exit 1
+
+set -e
+
+# Make sure the directory we will create can be created...
+mkdir '~a b' || exit 77
+mkdir '~a b/-x  y' || exit 77
+rm -rf '~a b'
+
+cp "$testsrcdir/../lib/mkinstalldirs" .
+
+# Test mkinstalldirs with the installed mkdir.
+
+./mkinstalldirs '~a b/-x  y'
+test -d '~a b/-x  y'
+rm -rf '~a b'
+
+# Trick mkinstalldirs into thinking mkdir does not support -p.
+
+cat >mkdir <<'EOF'
+#!/bin/sh
+case "$*" in
+  *-p*) exit 1;;
+esac
+PATH=$AM_PATH
+export PATH
+exec mkdir "$@"
+EOF
+
+chmod +x mkdir
+AM_PATH=$PATH
+export AM_PATH
+PATH=`pwd`:$PATH
+export PATH
+
+# Test mkinstalldirs without mkdir -p.
+
+./mkinstalldirs '~a b/-x  y'
+test -d '~a b/-x  y'
+rm -rf '~a b'
+
+./mkinstalldirs "`pwd`///~a b//-x  y"
+test -d "`pwd`/~a b/-x  y"
+rm -rf '~a b'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/mkinstall.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/mkinstall.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/mkinstall.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug where mkinstalldirs variable can be set incorrectly.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+pkgdata_DATA =
+END
+
+# The "././" prefix confuses Automake into thinking it is doing a
+# subdir build.  Yes, this is hacky.
+$ACLOCAL || exit 1
+$AUTOMAKE ././Makefile || exit 1
+
+grep ' /mkinstalldirs' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/multlib.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/multlib.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/multlib.test	(revision 3089)
@@ -0,0 +1,142 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check multilib support.
+# Based on a test case from Ralf Corsepius.
+
+required='gcc GNUmake'
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<'END'
+AC_INIT([multlib], [1.0])
+AC_CONFIG_SRCDIR(libfoo/foo.c)
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_SUBDIRS(libfoo)
+AC_CONFIG_SUBDIRS(libbar)
+AC_OUTPUT
+END
+
+cat >mycc <<'END'
+#! /bin/sh
+case ${1+"$@"} in
+ *-print-multi-lib*)
+  echo ".;"
+  echo "debug;@g"
+  exit 0 ;;
+esac
+gcc ${1+"$@"}
+END
+
+chmod +x mycc
+
+cat >Makefile.am <<'EOF'
+SUBDIRS = @subdirs@
+EXTRA_DIST = config-ml.in symlink-tree
+EOF
+
+# libfoo tests multilib supports when there are no subdirectories
+# libbar tests multilib supports when there are subdirectories
+
+mkdir libfoo
+
+cat >libfoo/configure.in <<'END'
+AC_PREREQ(2.57)
+AC_INIT(libfoo, 0.1, nobody@localhost)
+AC_CONFIG_SRCDIR(foo.c)
+# Apparently it doesn't work to have auxdir=.. when
+# multilib uses symlinked trees.
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(foreign)
+AC_PROG_CC
+AC_PROG_RANLIB
+AM_ENABLE_MULTILIB(Makefile,[..])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat >libfoo/Makefile.am <<'END'
+noinst_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c
+END
+
+: > libfoo/foo.c
+
+mkdir libbar
+
+cat >libbar/configure.in <<'END'
+AC_PREREQ(2.57)
+AC_INIT(libbar, 0.1, nobody@localhost)
+# Apparently it doesn't work to have auxdir=.. when
+# multilib uses symlinked trees.
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(foreign)
+AC_PROG_CC
+AC_PROG_RANLIB
+AM_ENABLE_MULTILIB(Makefile,[..])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+
+cat >libbar/Makefile.am <<'END'
+SUBDIRS = sub
+noinst_LIBRARIES = libbar.a
+libbar_a_SOURCES = bar.c
+END
+
+mkdir libbar/sub
+
+: >libbar/sub/Makefile.am
+
+: > libbar/bar.c
+
+cp $testsrcdir/../lib/config-ml.in .
+cp $testsrcdir/../lib/symlink-tree .
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+cd libfoo
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+cd ../libbar
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+cd ..
+
+
+# Check VPATH builds
+mkdir build
+cd build
+../configure --enable-multilib CC=`pwd`/../mycc
+$MAKE
+$MAKE install
+$MAKE distcleancheck
+
+# Check standard builds.
+cd ..
+# Why to I have to specify --with-target-subdir?
+./configure --enable-multilib --with-target-subdir=. CC=`pwd`/mycc
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nobase.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nobase.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nobase.test	(revision 3089)
@@ -0,0 +1,137 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure nobase_* works.
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<'EOF'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'EOF'
+foodir = $(prefix)/foo
+fooexecdir = $(prefix)/foo
+
+foo_HEADERS = sub/base.h
+nobase_foo_HEADERS = sub/nobase.h
+
+dist_foo_DATA = sub/base.dat
+nobase_dist_foo_DATA = sub/nobase.dat
+
+dist_fooexec_SCRIPTS = sub/base.sh
+nobase_dist_fooexec_SCRIPTS = sub/nobase.sh
+
+fooexec_PROGRAMS = sub/base
+nobase_fooexec_PROGRAMS = sub/nobase
+sub_base_SOURCES = source.c
+sub_nobase_SOURCES = source.c
+
+fooexec_LIBRARIES = sub/libbase.a
+nobase_fooexec_LIBRARIES = sub/libnobase.a
+sub_libbase_a_SOURCES = source.c
+sub_libnobase_a_SOURCES = source.c
+
+fooexec_LTLIBRARIES = sub/libbase.la
+nobase_fooexec_LTLIBRARIES = sub/libnobase.la
+sub_libbase_la_SOURCES = source2.c
+sub_libnobase_la_SOURCES = source2.c
+
+test-install-data: install-data
+	test   -f inst/foo/sub/nobase.h
+	test ! -f inst/foo/nobase.h
+	test   -f inst/foo/base.h
+	test   -f inst/foo/sub/nobase.dat
+	test ! -f inst/foo/nobase.dat
+	test   -f inst/foo/base.dat
+	test ! -f inst/foo/sub/pnobase.sh
+	test ! -f inst/foo/pbase.sh
+	test ! -f inst/foo/sub/pnobase$(EXEEXT)
+	test ! -f inst/foo/pbase$(EXEEXT)
+	test ! -f inst/foo/sub/libnobase.a
+	test ! -f inst/foo/libbase.a
+	test ! -f inst/foo/sub/libnobase.la
+	test ! -f inst/foo/libbase.la
+
+test-install-exec: install-exec
+	test   -f inst/foo/sub/pnobase.sh
+	test ! -f inst/foo/pnobase.sh
+	test   -f inst/foo/pbase.sh
+	test   -f inst/foo/sub/pnobase$(EXEEXT)
+	test ! -f inst/foo/pnobase$(EXEEXT)
+	test   -f inst/foo/pbase$(EXEEXT)
+	test   -f inst/foo/sub/libnobase.a
+	test ! -f inst/foo/libnobase.a
+	test   -f inst/foo/libbase.a
+	test   -f inst/foo/sub/libnobase.la
+	test ! -f inst/foo/libnobase.la
+	test   -f inst/foo/libbase.la
+EOF
+
+mkdir sub
+
+: > sub/base.h
+: > sub/nobase.h
+: > sub/base.dat
+: > sub/nobase.dat
+: > sub/base.sh
+: > sub/nobase.sh
+
+cat >source.c <<'EOF'
+int
+main (int argc, char *argv[])
+{
+  return 0;
+}
+EOF
+cp source.c source2.c
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure --prefix `pwd`/inst --program-prefix=p
+
+$MAKE
+$MAKE test-install-data
+$MAKE test-install-exec
+$MAKE uninstall
+
+test `find inst/foo -type f -print | wc -l` = 0
+
+$MAKE install-strip
+
+# Likewise, in a VPATH build.
+
+$MAKE uninstall
+$MAKE distclean
+mkdir build
+cd build
+../configure --prefix `pwd`/inst --program-prefix=p
+$MAKE
+$MAKE test-install-data
+$MAKE test-install-exec
+$MAKE uninstall
+test `find inst/foo -type f -print | wc -l` = 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodef.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodef.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodef.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that PACKAGE and VERSION are AC_DEFINEd when requested.
+
+. ./defs || exit 1
+
+set -e
+
+# -------------------------------------------------------------------
+# Do not upgrade this file to use the modern AC_INIT/AM_INIT_AUTOMAKE
+# forms.  The day these obsolete AC_INIT and AM_INIT_AUTOMAKE forms
+# are dropped, just erase the file.
+# nodef2.test contains the modern version of this test.
+# -------------------------------------------------------------------
+
+# First, check that PACKAGE and VERSION are output by default.
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE([UnIqUe_PaCkAgE], [UnIqUe_VeRsIoN])
+AC_OUTPUT(output)
+END
+
+echo 'DEFS = @DEFS@' > output.in
+
+$ACLOCAL
+$AUTOCONF
+./configure
+
+grep 'DEFS.*-DVERSION=\\"UnIqUe' output
+
+# Then, check that PACKAGE and VERSION are not output if requested.
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE([UnIqUe_PaCkAgE], [UnIqUe_VeRsIoN], [no])
+AC_OUTPUT(output)
+END
+
+$ACLOCAL
+$AUTOCONF
+./configure
+
+grep 'DEFS.*-DVERSION=\\"UnIqUe' output && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodef2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodef2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodef2.test	(revision 3089)
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that PACKAGE and VERSION are AC_DEFINEd when requested.
+
+. ./defs || exit 1
+
+set -e
+
+# First, check that PACKAGE and VERSION are output by default.
+
+cat > configure.in << 'END'
+AC_INIT([UnIqUe_PaCkAgE], [UnIqUe_VeRsIoN])
+AM_INIT_AUTOMAKE
+AC_OUTPUT(output)
+END
+
+echo 'DEFS = @DEFS@' > output.in
+
+$ACLOCAL
+$AUTOCONF
+./configure
+
+grep 'DEFS.*-DVERSION=\\"UnIqUe' output
+
+# Then, check that PACKAGE and VERSION are not output if requested.
+
+cat > configure.in << 'END'
+AC_INIT([UnIqUe_PaCkAgE], [UnIqUe_VeRsIoN])
+AM_INIT_AUTOMAKE([no-define])
+AC_OUTPUT(output Makefile)
+END
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE   # Dummy call to make sure Automake grok `no-define' silently.
+./configure
+
+grep 'DEFS.*-DVERSION=\\"UnIqUe' output && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodep.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodep.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodep.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure no-dependencies option does the right thing.
+# Bug report from Greg A. Woods.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-dependencies
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = y.c
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+mkdir x
+
+: > y.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '%' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodepcomp.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodepcomp.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodepcomp.test	(revision 3089)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure depcomp isn't always required.
+
+. ./defs || exit 1
+
+rm -f depcomp
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodist.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodist.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodist.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dist_*_SOURCES and nodist_*_SOURCES work.
+
+. ./defs || exit 1
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = eyeball
+
+eyeball_SOURCES = a.c
+nodist_eyeball_SOURCES = b.c
+dist_eyeball_SOURCES = c.c
+END
+
+: > a.c
+: > b.c
+: > c.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^am_eyeball_OBJECTS' Makefile.in || exit 1
+grep '^DIST_SOURCES =' Makefile.in || exit 1
+grep '^DIST_SOURCES =.*nodist' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodist2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodist2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodist2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure nodist_noinst_HEADERS work.
+# For PR 249.
+
+. ./defs || exit 1
+
+cat >> configure.in <<'EOF'
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'EOF'
+nodist_noinst_HEADERS = baz.h
+EOF
+
+: > baz.h
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure --prefix `pwd`/install
+$MAKE install-data
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nodist3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nodist3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nodist3.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure no-dist option works.
+
+. ./defs || exit 1
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-dist
+bin_PROGRAMS = eyeball
+eyeball_SOURCES = a.c
+END
+
+: > a.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^dist:' Makefile.in && exit 1
+grep '^DIST_SOURCES =' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nogzip.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nogzip.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nogzip.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check support for no-dist-gzip
+
+required=bzip2
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([nogzip], [1.0])
+AM_INIT_AUTOMAKE([no-dist-gzip dist-bzip2])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+test: distcheck
+	test $(DIST_ARCHIVES) = nogzip-1.0.tar.bz2
+	test -f $(DIST_ARCHIVES)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nogzip2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nogzip2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nogzip2.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check diagnostic for no-dist-gzip without dist-*.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([nogzip], [1.0])
+AM_INIT_AUTOMAKE([no-dist-gzip])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'configure.in:2:.*no-dist-gzip' stderr
+
+echo 'AUTOMAKE_OPTIONS = dist-bzip2' > Makefile.am
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/noinst.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/noinst.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/noinst.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure "make install" will build all in directory with
+# nothing to install.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+all-local:
+	exit 1
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^install[-a-z]*:.* all' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/noinstdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/noinstdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/noinstdir.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that noinst_* and check_* are not installed.
+# From Pavel Roskin.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+noinst_SCRIPTS = foo.sh
+noinst_DATA = foo.xpm
+noinst_LIBRARIES = libfoo.a
+noinst_PROGRAMS = foo
+noinst_HEADERS = foo.h
+check_SCRIPTS = bar.sh
+check_DATA = bar.xpm
+check_LIBRARIES = libbar.a
+check_PROGRAMS = bar
+check_HEADERS = bar.h
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'noinstdir' Makefile.in && exit 1
+grep 'checkdir' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nolink.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nolink.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nolink.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake does not emit a link rule for unknown languages.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-exeext
+
+bin_PROGRAMS = meal
+meal_SOURCES = beans.veg beef.meat
+
+meal: beans.veg beef.meat
+	cat beans.veg beef.meat > meal
+END
+
+$ACLOCAL
+$AUTOMAKE -Wno-override
+
+grep '^meal.*:' Makefile.in | grep -v beef.meat && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/nostdinc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/nostdinc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/nostdinc.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure nostdinc option works correctly.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = nostdinc
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP -e '-I.' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/number.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/number.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/number.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure _OBJECTS only generated once.  Bug reported by
+# Joerg-Martin Schwarz.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zardoz
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+count=`grep -c '^zardoz_OBJECTS' Makefile.in`
+test $count -eq 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/obsolete.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/obsolete.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/obsolete.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure obsolete macros can be autoupdated.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+END
+
+$PERL -ne '/AU_DEFUN\(\[(\w+)\]/ && print "$1\n"' \
+    $testsrcdir/../m4/obsolete.m4 >> obs
+cat obs >> configure.in
+$PERL -ne 'chomp; print "grep $_ stderr || exit 1\n"; ' obs > obs.1
+$PERL -ne 'chomp; print "grep $_ configure.in && exit 1\n"; ' obs > obs.2
+
+# Sanity check.  Make sure we have added something to configure.in.
+test `cat configure.in | wc -l` -gt 1 || exit 1
+
+$ACLOCAL || exit 1
+
+# Expect Autoconf to complain about each of the macros in obs.
+$AUTOCONF -Wobsolete >stderr 2>&1
+. ./obs.1
+# Make sure Autoupdate remove each of these macros.
+$AUTOUPDATE || exit 1
+. ./obs.2
+
+# Autoconf should be able to grok the updated configure.in.
+$AUTOCONF || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/order.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/order.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/order.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1996, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure AC_DEFUN is handled correctly.  This test isn't named very
+# well.  Report from Jim Meyering.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+jm_TEST
+FOO
+END
+
+cat > acinclude.m4 << 'END'
+AC_DEFUN([jm_TEST])
+AC_DEFUN([FOO], [AC_REQUIRE([jm_TEST])])
+END
+
+$ACLOCAL
Index: /trunk/essentials/sys-devel/automake-1.9/tests/outdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/outdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/outdir.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to ensure that --output-dir works.  Bug report from Joshua
+# Cowan.
+
+. ./defs || exit 1
+
+cat > Makefile.am <<'END'
+pkgdata_DATA =
+END
+
+mkdir zardir
+
+$ACLOCAL || exit 1
+$AUTOMAKE -Wno-obsolete --output-dir=zardir || exit 1
+
+test -f Makefile.in && exit 1
+test -f zardir/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure files listed in AC_OUTPUT are found.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile frob/zardoz)
+END
+
+: > Makefile.am
+
+mkdir frob
+: > frob/zardoz.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output10.test	(revision 3089)
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure an AC_CONFIG_FILES can have an AC_CONFIG_FILES output as input.
+# This is comparable to output9.test, but testing Makefile rules.
+# PR/411
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << END
+AC_SUBST([FOO], [top])
+AC_SUBST([BAR], [bot])
+AC_CONFIG_FILES([a/top])
+AC_CONFIG_FILES([a/bot])
+AC_CONFIG_FILES([b/Makefile:a/top:b/Makefile.in:a/bot])
+AC_OUTPUT
+END
+
+mkdir a
+mkdir b
+
+cat >Makefile.am <<\EOF
+SUBDIRS = b
+dist-hook:
+	test ! -f $(distdir)/a/top
+	test ! -f $(distdir)/a/bot
+EOF
+
+cat >b/Makefile.am <<\EOF
+output:
+	echo $(TOP)$(BOT) > ok
+EOF
+
+echo TOP=@FOO@ >a/top.in
+echo BOT=@BAR@ >a/bot.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+mkdir build
+cd build
+../configure
+cd b
+$MAKE output
+grep topbot ok
+cd ..
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another AC_OUTPUT test.  From report by Ulrich Drepper.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile intl/intlh.inst po/Makefile.in misc/gettextize)
+END
+
+: > Makefile.am
+
+mkdir intl po misc
+: > intl/intlh.inst.in
+: > po/Makefile.in.am
+: > misc/gettextize.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^gettextize' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output3.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Yet another AC_OUTPUT test.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT([Makefile
+tests/Makefile tests/defs],
+[blah])
+END
+
+: > Makefile.am
+
+mkdir tests
+: > tests/Makefile.am
+: > tests/defs.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output4.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# It's hard to believe there are so many AC_OUTPUT-related bugs.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(tests/Makefile tests/defs)
+END
+
+mkdir tests
+: > tests/defs.in
+: > tests/Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep tests/defs.in tests/Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output5.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1997, 2000, 2001, 2002, 2003, 2004  Free Software
+#   Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake complains when there is no Makefile specified.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([foo], [bar], [baz])
+AM_INIT_AUTOMAKE
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'AC_CONFIG_FILES(.Makefile.)' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output6.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for support for colon separated input files in AC_CONFIG_FILES
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES(foo:a.in:b.in:c.in:d.in)
+AC_OUTPUT
+END
+
+cat >a.in <<'EOF'
+a = A
+b = A
+c = A
+d = A
+EOF
+
+cat >b.in <<'EOF'
+b = B
+c = B
+d = B
+EOF
+
+cat >c.am <<'EOF'
+c = C
+d = C
+
+print:
+	@echo $a$b$c$d
+EOF
+
+echo 'd = D' > d.in
+
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE -f foo print | grep 'ABCD'
+
+$sleep
+cat >b.in <<'EOF'
+a = G
+b = F
+c = F
+d = F
+EOF
+
+# This involves the rebuild rule, hence it requires GNUmake
+$MAKE -f foo print | grep 'GFCD'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output7.test	(revision 3089)
@@ -0,0 +1,78 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for support for colon separated input files in AC_CONFIG_FILES,
+# with sources in sub directories.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << END
+AC_INIT([$me], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([
+  Makefile:mk/toplevel.in
+  sub/Makefile:mk/sub.in
+  mk/Makefile
+])
+AC_OUTPUT
+END
+
+mkdir mk sub
+cat >mk/Makefile.am <<'EOF'
+all-local:
+	@echo in--mk
+EOF
+
+cat >mk/sub.am <<'EOF'
+EXTRA_DIST = foo
+all-local:
+	@echo in--sub
+EOF
+
+cat >mk/toplevel.am <<'EOF'
+all-local:
+	@echo at--toplevel
+SUBDIRS = mk sub
+EOF
+
+# We have to distribute something in foo, because some versions
+# of tar do not archive empty directories when passed the `o'
+# flags.  (This was fixed in GNU tar 1.12, but older
+# versions are still used: NetBSD 1.6.1 ships with tar 1.11.2).
+#
+# If sub/ is missing from the archive, config.status will fail
+# to compute $ac_abs_srcdir during a VPATH build: config.status
+# is able to create sub/ in the build tree, but it assumes the
+# directory already exists in the source tree.
+echo bar > sub/foo
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE >output
+cat output
+grep in--mk output
+grep in--sub output
+grep at--toplevel output
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output8.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check AC_CONFIG_FILES support for files starting with `../'.
+# Report from Bruno Haible.
+
+. ./defs || exit 1
+
+set -e
+
+mkdir testdir
+cd testdir
+
+mv ../configure.in .
+cat >> configure.in << END
+AC_CONFIG_FILES([a/foo.sh:../testdir/a/foo.sh.in])
+AC_CONFIG_FILES([a/Makefile])
+AC_OUTPUT
+END
+
+mkdir a
+
+echo SUBDIRS = a >Makefile.am
+: >a/Makefile.am
+
+echo foo >a/foo.sh.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+$MAKE
+test "`cat a/foo.sh`" = foo
+
+$sleep
+echo 'bar' >a/foo.sh.in
+
+cd a
+$MAKE foo.sh
+test "`cat foo.sh`" = bar
Index: /trunk/essentials/sys-devel/automake-1.9/tests/output9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/output9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/output9.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure an AC_CONFIG_FILES can have an AC_CONFIG_FILES output as input.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << END
+AC_CONFIG_FILES([a/mid.in:a/input.in.in])
+AC_CONFIG_FILES([b/out:a/mid.in])
+AC_CONFIG_FILES([a/Makefile b/Makefile])
+AC_OUTPUT
+END
+
+mkdir a
+mkdir b
+
+
+cat >Makefile.am <<\EOF
+SUBDIRS = a b
+dist-hook:
+	test -f $(distdir)/a/input.in.in
+	test ! -f $(distdir)/a/mid.in
+	if test ! -f check; then :; else : > ok; fi
+EOF
+
+: >a/Makefile.am
+: >b/Makefile.am
+
+echo foo >a/input.in.in
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+: > check
+$MAKE distcheck
+test -f ok
Index: /trunk/essentials/sys-devel/automake-1.9/tests/overrid.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/overrid.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/overrid.test	(revision 3089)
@@ -0,0 +1,71 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure automake -Woverride suggests using TARGET-local instead
+# of TARGET when possible.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONDITIONAL([COND], [:])
+END
+
+cat > Makefile.am << 'END'
+install:
+	:
+installcheck:
+	:
+html:
+	:
+clean-am:
+	:
+
+if COND
+ps: mine
+	:
+endif
+END
+
+$ACLOCAL
+$AUTOMAKE -Wno-override
+AUTOMAKE_fails
+grep install-local stderr && exit 1 # There is no such thing as install-local
+grep installcheck-local stderr
+grep html-local stderr
+# Make sure overriding *-am targets suggest using *-local, not *-am.
+grep cleam-am-local stderr && exit 1
+grep clean-local stderr
+
+# Conditional overrides ought to be diagnosed, but it can't be done yet.
+# See the FIXME in rule_define.   Once this is fixed, the grep below
+# will fail.  If you see the failure, it means you fixed Automake.  Well done!
+# Just strip out the next '&& exit 1' and this comment.
+grep ps stderr && exit 1
+
+# Test for another issue.  Overriding html: should cause only one
+# html: rule to be output.
+test `grep html: Makefile.in | wc -l` = 1
+
+# ps: should be output in two conditions
+test `grep ps: Makefile.in | wc -l` = 2
+grep '@COND_TRUE@ps: mine' Makefile.in
+grep '@COND_FALSE@ps: ps-am' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/parse.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/parse.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/parse.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure backslash-newline is treated as whitespace.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_PROG_RANLIB
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zot
+zot_SOURCES = \
+zar.c\
+doz.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP zar.cdoz Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/percent.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/percent.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/percent.test	(revision 3089)
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that -Wportability understands %-style pattern
+# rules.
+
+. ./defs
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+EOF
+
+cat >Makefile.am <<EOF
+bin_PROGRAMS = liver
+liver_SOURCES = foo.c
+
+%.o: %.c
+	echo "gnu make extension"
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails -Wportability
+grep 'Makefile.am:4:.*%' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/percent2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/percent2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/percent2.test	(revision 3089)
@@ -0,0 +1,45 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another test for -Wportability warning about %-style rules, plus
+# make sure we don't warn about duplicate definition for
+# `${ARCH}/%.$(OBJEXT):'.
+# Report from Ralf Corsepius.
+
+. ./defs
+
+set -e
+
+cat >>Makefile.am << 'EOF'
+${ARCH}/%.$(OBJEXT): %.S
+	test -d ${ARCH} || mkdir ${ARCH}
+	${CCASCOMPILE} -o $@ -c $<
+
+${ARCH}/%.$(OBJEXT): %.c
+	test -d ${ARCH} || mkdir ${ARCH}
+	${COMPILE} -o $@ -c $<
+EOF
+
+$ACLOCAL
+AUTOMAKE_fails
+grep '%.*pattern.*rules' stderr
+
+# No error otherwise.
+$AUTOMAKE -Wno-portability
Index: /trunk/essentials/sys-devel/automake-1.9/tests/phony.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/phony.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/phony.test	(revision 3089)
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure .PHONY can be given dependencies several times.
+# From Ralf Corsepius.
+
+. ./defs
+
+set -e
+
+cat >Makefile.am << 'EOF'
+.PHONY: foo
+.PHONY: bar
+EOF
+
+$ACLOCAL
+$AUTOMAKE
+test `$FGREP .PHONY: Makefile.in | wc -l` = 3
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test `+=' functionality.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+data_DATA = zar
+data_DATA += doz
+END
+
+: > zar
+: > doz
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$FGREP 'zar doz' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq10.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for += and backslashes.
+# Reported by Ralf Corsepius.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AM_CONDITIONAL(A, true)
+AM_CONDITIONAL(B, false)
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'END'
+foo =  0.h
+if A
+foo += a0.h \
+  a1.h
+foo += a2.h \
+  a3.h
+endif
+if B
+foo += b0.h \
+  b1.h
+endif
+
+print:
+	@echo BEG: $(foo) :END
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE print >stdout
+cat stdout
+grep 'BEG: 0.h a0.h a1.h a2.h a3.h :END' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq2.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test `+=' with conditionals.
+
+. ./defs || exit 1
+
+echo 'AM_CONDITIONAL(CHECK, true)' >> configure.in
+
+cat > Makefile.am << 'END'
+
+if CHECK
+data_DATA = zar
+else
+data_DATA =
+endif
+
+if CHECK
+data_DATA += doz
+else
+data_DATA += dog
+endif
+
+END
+
+: > zar
+: > doz
+: > dog
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+grep 'CHECK_TRUE.*zar doz' Makefile.in || exit 1
+grep 'CHECK_FALSE.*dog' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq3.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 1998, 1999, 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another `+=' test with conditionals.
+
+. ./defs || exit 1
+
+echo 'AM_CONDITIONAL(CHECK, true)' >> configure.in
+
+cat > Makefile.am << 'END'
+
+if CHECK
+data_DATA = zarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
+else
+data_DATA =
+endif
+
+if CHECK
+data_DATA += \
+ doz
+else
+data_DATA += dog
+endif
+
+END
+
+: > zar
+: > doz
+: > dog
+
+set -e
+
+$ACLOCAL || exit 1
+$AUTOMAKE
+
+grep '^@CHECK_TRUE@data_DATA = zarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr \\$' Makefile.in
+grep '^@CHECK_TRUE@	doz$' Makefile.in
+
+grep '^@CHECK_FALSE@data_DATA = dog$' Makefile.in
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq4.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Yet another `+=' test.
+
+. ./defs || exit 1
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+CC += -Dwhatever
+END
+
+: > foo.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$FGREP '@CC@ -Dwhatever' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq5.test	(revision 3089)
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for another `+=' problem.  Report from Brian Jones.
+
+. ./defs || exit 1
+
+set -e
+
+echo 'AM_CONDITIONAL(CHECK, true)' >> configure.in
+
+cat > Makefile.am << 'END'
+if CHECK
+INCLUDES = abc
+endif
+INCLUDES += def
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+
+# We expect the following diagnostic:
+#
+# Makefile.am:4: Cannot apply `+=' because `INCLUDES' is not defined in
+# Makefile.am:4: the following conditions:
+# Makefile.am:4:   !CHECK
+# Makefile.am:4: Either define `INCLUDES' in these conditions, or use
+# Makefile.am:4: `+=' in the same conditions as the definitions.
+
+# Is !CHECK mentioned?
+grep ':.*!CHECK$' stderr
+# Is there only one missing condition?
+test `grep ':  ' stderr | wc -l` = 1
+
+# By the way, Automake should suggest using AM_CPPFLAGS,
+# because INCLUDES is an obsolete name.
+grep AM_CPPFLAGS stderr
+
+# A way to suppress the obsolete warning is to use
+# -Wno-obsolete:
+echo 'AUTOMAKE_OPTIONS = -Wno-obsolete' >> Makefile.am
+AUTOMAKE_fails
+grep AM_CPPFLAGS stderr && exit 1
+# !CHECK should still be mentioned.
+grep ':.*!CHECK$' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq6.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that `+=' works with standard header-vars.
+
+. ./defs || exit 1
+
+echo 'AC_SUBST(ZZZ)' >> configure.in
+
+# If you do this in a real Makefile.am, I will kill you.
+cat > Makefile.am << 'END'
+mandir += foo
+zq = zzz
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$FGREP '@mandir@ foo' Makefile.in || exit 1
+
+num=`grep '^mandir =' Makefile.in | wc -l`
+test $num -eq 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq7.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that `+=' fails when required.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+END
+
+# If you do this in a real Makefile.am, I will kill you.
+cat > Makefile.am << 'END'
+lib_LIBRARIES = libq.a
+libq_a_SOURCES = q.c
+AR += qq
+END
+
+: > q.c
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:3:.*AR' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq8.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another `+=' test.  From Paul Berrevoets.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+VAR = \
+    one \
+    two
+VAR += three
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+sed -n -e '/^VAR =/ {
+   :loop
+    p
+    n
+    /\\$/ b loop
+    p
+    n
+   }' Makefile.in | grep three
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pluseq9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pluseq9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pluseq9.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test the += diagnostics.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AM_CONDITIONAL(COND1, true)
+AM_CONDITIONAL(COND2, true)
+AM_CONDITIONAL(COND3, true)
+EOF
+
+cat > Makefile.am << 'END'
+if COND1
+  C = c
+if COND2
+    A = a
+    B = aa
+    C += cc
+else
+    A = b
+    B = bb
+endif
+  A += c
+else
+  A = d
+endif
+A += e
+
+if COND3
+  A += f
+  B = cc
+endif
+B += dd
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+
+# We expect the following diagnostic:
+#
+# Makefile.am:19: Cannot apply `+=' because `B' is not defined in
+# Makefile.am:19: the following conditions:
+# Makefile.am:19:   !COND1 and !COND3
+# Makefile.am:19: Either define `B' in these conditions, or use
+# Makefile.am:19: `+=' in the same conditions as the definitions.
+#
+# It would be nice if Automake could print only COND3_FALSE and
+# COND1_FALSE (merging the last two conditions), so we'll support
+# this case in the check too.
+
+grep ':   !COND1 and !COND3$' stderr
+# Make sure there is exactly one missing condition.
+test `grep ':  ' stderr | wc -l` = 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/postproc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/postproc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/postproc.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check to make sure we recognize a Makefile.in, even if post-processed
+# and renamed.
+
+. ./defs || exit 1
+
+cat >configure.in <<'END'
+AC_INIT([mumble], [0.1])
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AC_CONFIG_FILES([myMakefile])
+AC_OUTPUT
+END
+
+cat > myMakefile.am << 'END'
+bin_PROGRAMS = fred
+fred_SOURCES = fred.c
+END
+
+$ACLOCAL || exit 1
+$AUTOCONF || exit 1
+$AUTOMAKE myMakefile || exit 1
+
+mv myMakefile.in myMakefile.old
+echo '# Post-processed by post-processor 3.14.' > myMakefile.in
+cat myMakefile.old >> myMakefile.in
+
+./configure || exit 1
+
+test -f .deps/fred.Po || test -f _deps/fred.Po || exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/ppf77.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/ppf77.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/ppf77.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure preprocessed F77 works.
+# Report from Jochen Kuepper.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_F77
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = ppf
+ppf_SOURCES = foo.F q.r
+END
+
+: > foo.F
+: > q.r
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr2.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported in PR 2.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(README.foo:templ/README.foo.in Makefile)
+END
+
+: > Makefile.am
+
+mkdir templ
+: > templ/README.foo.in
+
+$ACLOCAL
+$AUTOMAKE
+
+# Look for mkdir_p invocation for the templ directory.
+# We use the `[^/]' to avoid matching `templ/README.foo.in'.
+$EGREP 'mkdir_p.*templ([^/]|$)' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr204.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr204.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr204.test	(revision 3089)
@@ -0,0 +1,71 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# For PR 204.
+# Sources derived from nodist_ sources should not be distributed.
+
+required='bison gcc'
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in <<'EOF'
+AC_INIT(pr204, 0.1)
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AC_PROG_YACC
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+EOF
+
+# The PARSE2 intermediate variable is there to make
+# sure Automake match 'nodist_' against the right
+# variable name...
+cat > Makefile.am << 'EOF'
+AM_YFLAGS = -d
+EXTRA_PROGRAMS = foo
+PARSE2 = parse2.y
+nodist_foo_SOURCES = parse.y $(PARSE2)
+EOF
+
+cat > parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+maude : 'm' 'a' 'u' 'd' 'e' {};
+END
+
+cp parse.y parse2.y
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE distdir
+test -f pr204-0.1/parse.c && exit 1
+test -f pr204-0.1/parse.y && exit 1
+test -f pr204-0.1/parse.h && exit 1
+test -f pr204-0.1/parse2.c && exit 1
+test -f pr204-0.1/parse2.y && exit 1
+test -f pr204-0.1/parse2.h && exit 1
+# Make sure parse.c and parse2.c are still targets.
+$MAKE parse.c parse2.c
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr211.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr211.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr211.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 211.
+
+required=libtoolize
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = helldl
+lib_LTLIBRARIES = libfoo.la
+helldl_SOURCES = foo.c
+libfoo_la_SOURCES = foo.c
+END
+
+libtoolize
+$ACLOCAL
+AUTOMAKE_fails -a
+$FGREP 'foo.$(OBJEXT)' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr220.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr220.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr220.test	(revision 3089)
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR automake/220.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >main.c <<EOF
+int main() { return 0; }
+EOF
+
+cat > Makefile.am << 'EOF'
+if NEVER_TRUE
+NEVER_DEFINED = missingfile.c
+endif
+
+bin_PROGRAMS = main
+main_SOURCES = main.c $(NEVER_DEFINED)
+EOF
+
+cat >> configure.in << 'EOF'
+AC_PROG_CC
+AC_ARG_ENABLE(foo,
+[  --enable-foo          Enable foo],
+[ if test "foo" = "bar" ; then
+    AM_CONDITIONAL(NEVER_TRUE, true)
+  else
+    AM_CONDITIONAL(NEVER_TRUE, false)
+  fi
+])
+AC_OUTPUT
+EOF
+
+mkdir build
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+cd build
+# configure should fail since we've done something invalid.
+../configure 2>stderr && exit 1
+cat stderr
+grep NEVER_TRUE stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr224.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr224.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr224.test	(revision 3089)
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for $(top_srcdir) with dependencies.
+
+required=gcc
+. ./defs || exit 1
+
+mkdir foo
+
+cat >foo/main.c <<'EOF'
+int main() { return 0; }
+EOF
+
+cat >Makefile.am <<'EOF'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = bar
+bar_SOURCES = foo/main.c
+EOF
+
+cat >configure.in <<'EOF'
+AC_INIT(foo/main.c)
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(test_am, 1.0)
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT(Makefile)
+EOF
+
+touch README NEWS AUTHORS ChangeLog
+
+mkdir build
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+cd build
+CC='gcc' ../configure
+$MAKE
+
+test -d foo/.deps
+$MAKE distclean
+test -d foo/.deps && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr229.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr229.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr229.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure AC_CYGWIN requires config.{sub,guess}.
+# Reported by James Youngman.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<EOF
+AC_CYGWIN
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOMAKE -a
+test -f config.sub
+test -f config.guess
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr243.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr243.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr243.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 243.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 0.1, dev@null)
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_PROG_CC
+AM_CONDITIONAL(FOOTEST, false)
+AC_CONFIG_FILES(Makefile:Makefile.in:tail.mk)
+AC_OUTPUT
+END
+
+: > tail.mk
+
+cat > Makefile.am << 'END'
+include_HEADERS         = 3dfx.h linutil.h
+noinst_HEADERS          = fx64.h fxdll.h fximg.h fxglob.h \
+                          fxos.h fxver.h glob.h
+noinst_PROGRAMS = fxmisc
+fxmisc_SOURCES    = fx64.c fximg.c fxos.c linutil.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$AUTOCONF || exit 1
+./configure || exit 1
+
+test -f .deps/fx64.Po
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr266.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr266.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr266.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 266.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 0.1, dev@null)
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_PROG_CC
+AM_CONDITIONAL(FOOTEST, false)
+AC_CONFIG_FILES(Maudefile)
+AC_OUTPUT
+END
+
+cat > Maudefile.am << 'END'
+include_HEADERS         = 3dfx.h linutil.h
+noinst_HEADERS          = fx64.h fxdll.h fximg.h fxglob.h \
+                          fxos.h fxver.h glob.h
+noinst_PROGRAMS = fxmisc
+fxmisc_SOURCES    = fx64.c fximg.c fxos.c linutil.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+$AUTOCONF || exit 1
+./configure || exit 1
+
+test -f .deps/fx64.Po
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr279-2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr279-2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr279-2.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another test related to PR 279.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 0.1, dev@null)
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_PROG_CC
+AM_CONDITIONAL(FOOTEST, false)
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = foreign
+
+if FOOTEST
+foo_LDADD = zardoz
+else
+foo_LDADD = maude
+endif
+
+bin_PROGRAMS = foo
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '@foo_DEPENDENCIES = zardoz' Makefile.in || exit 1
+grep '@foo_DEPENDENCIES = maude' Makefile.in || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr279.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr279.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr279.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 279.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 0.1, dev@null)
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_PROG_CC
+AM_CONDITIONAL(FOOTEST, false)
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = foreign
+
+if FOOTEST
+xtralib =
+else
+xtralib =
+endif
+
+bin_PROGRAMS = foo
+foo_LDADD = ${xtralib}
+foo_DEPENDENCIES =
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr287.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr287.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr287.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 287: empty SUBDIRS.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 0.1, dev@null)
+AM_INIT_AUTOMAKE
+AC_PROG_CC
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS =
+bin_SCRIPTS = foo
+END
+
+cat > foo << 'END'
+#! /bin/sh
+echo Maude
+END
+
+chmod +x foo
+
+set -e
+
+mkdir install
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure --prefix=`cd install && pwd`
+$MAKE
+$MAKE distdir
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr300-lib.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr300-lib.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr300-lib.test	(revision 3089)
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that installing subdirectory libraries works.
+# PR/300
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_RANLIB
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LIBRARIES = subdir/liba.a
+subdir_liba_a_SOURCES = a.c
+
+nobase_lib_LIBRARIES = subdir/libb.a
+subdir_libb_a_SOURCES = a.c
+END
+
+cat > a.c << 'END'
+int i = 3;
+END
+
+## A rule in the Makefile should create subdir
+# mkdir subdir
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+./configure --prefix `pwd`/inst
+$MAKE
+
+test -f subdir/liba.a
+test -f subdir/libb.a
+
+$MAKE install
+
+test -f inst/lib/liba.a
+test -f inst/lib/subdir/libb.a
+
+$MAKE uninstall
+
+test -f inst/lib/liba.a && exit 1
+test -f inst/lib/subdir/libb.a && exit 1
+
+$MAKE install-strip
+
+test -f inst/lib/liba.a
+test -f inst/lib/subdir/libb.a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr300-ltlib.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr300-ltlib.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr300-ltlib.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that installing subdirectory libtool libraries works.
+# PR/300
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = subdir/liba.la
+subdir_liba_la_SOURCES = a.c
+
+nobase_lib_LTLIBRARIES = subdir/libb.la
+subdir_libb_la_SOURCES = a.c
+END
+
+cat > a.c << 'END'
+int i = 3;
+END
+
+## A rule in the Makefile should create subdir
+# mkdir subdir
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+./configure --prefix `pwd`/inst
+$MAKE
+
+test -f subdir/liba.la
+test -f subdir/libb.la
+
+$MAKE install
+
+test -f inst/lib/liba.la
+test -f inst/lib/subdir/libb.la
+
+$MAKE uninstall
+
+test -f inst/lib/liba.la && exit 1
+test -f inst/lib/subdir/libb.la && exit 1
+
+$MAKE install-strip
+
+test -f inst/lib/liba.la
+test -f inst/lib/subdir/libb.la
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr300-prog.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr300-prog.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr300-prog.test	(revision 3089)
@@ -0,0 +1,74 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that installing subdirectory programs works.
+# PR/300
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = subdir/wish
+subdir_wish_SOURCES = a.c
+
+nobase_bin_PROGRAMS = subdir/want
+subdir_want_SOURCES = a.c
+
+test-all: all
+	test -f subdir/wish$(EXEEXT)
+	test -f subdir/want$(EXEEXT)
+test-install: install
+	test -f inst/bin/wish$(EXEEXT)
+	test -f inst/bin/subdir/want$(EXEEXT)
+test-uninstall: uninstall
+	test ! -f inst/bin/wish$(EXEEXT)
+	test ! -f inst/bin/subdir/want$(EXEEXT)
+test-install-strip: install-strip
+	test -f inst/bin/wish$(EXEEXT)
+	test -f inst/bin/subdir/want$(EXEEXT)
+END
+
+cat > a.c << 'END'
+#include <stdio.h>
+int main ()
+{
+   printf ("hi liver!\n");
+   return 0;
+}
+END
+
+## A rule in the Makefile should create subdir
+# mkdir subdir
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+./configure --prefix `pwd`/inst
+$MAKE test-all
+$MAKE test-install
+$MAKE test-uninstall
+$MAKE test-install-strip
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr307.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr307.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr307.test	(revision 3089)
@@ -0,0 +1,81 @@
+#! /bin/sh
+# Copyright (C) 2002, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 307: depcomp with depmode=dashmstdout libtool race condition
+# Report from Laurent Morichetti.
+# (Also exercises check_LTLIBRARIES.)
+
+required='libtoolize gcc'
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+check_LTLIBRARIES = librace.la
+librace_la_SOURCES = a.c b.c c.c d.c e.c f.c g.c h.c
+
+# Make sure the dependencies are updated.
+check-local:
+	for i in $(librace_la_SOURCES:.c=.Plo); do \
+	  echo checking ./$(DEPDIR)/$$i; \
+	  grep foo.h ./$(DEPDIR)/$$i >tst || exit 1; \
+	  test `wc -l <tst` -eq 2 || exit 1; \
+	done
+END
+
+: >foo.h
+
+for i in a b c d e f g h; do
+  cat >$i.c <<EOF
+#include "foo.h"
+int $i() { return 0; }
+EOF
+done
+
+set -e
+
+libtoolize --force
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Sanity check: make sure the variable we are attempting to force
+# is used by configure
+grep am_cv_CC_dependencies_compiler_type configure
+
+./configure am_cv_CC_dependencies_compiler_type=dashmstdout
+$MAKE
+test -f librace.la && exit 1
+$MAKE check
+
+# The failure we check usually occurs during the above build,
+# with an output such as
+#
+# mv -f .libs/f.lo f.lo
+# mv: cannot stat `.libs/f.lo': No such file or directory
+#
+# (This may happen on `f' or on some other files.)
+
+test -f librace.la
+test -f tst # a proof that check-local was run
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr72.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr72.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr72.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 72
+required=libtool
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+END
+
+cat > Makefile.am << 'END'
+lib_LTLIBRARIES = libviewer.la
+libviewer_la_SOURCES =
+libviewer_la_LIBADD = libphony.la
+END
+
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^LINK ' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr87.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr87.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr87.test	(revision 3089)
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR automake/87.
+
+required=gcc
+. ./defs || exit 1
+
+subdirs="foo bar"
+
+for i in $subdirs; do
+    mkdir $i
+    cat >$i/$i.c <<EOF
+int main() { return 0; }
+EOF
+    cat >$i/Makefile.am <<EOF
+bin_PROGRAMS = $i
+${i}_SOURCES = $i.c
+EOF
+done
+
+echo "SUBDIRS = $subdirs" > Makefile.am
+cat >configure.in <<EOF
+AC_INIT(`echo $subdirs | sed 's|\([a-z][a-z]*\).*|\1/\1.c|'`)
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(test_am, 1.0)
+AC_PROG_CC
+AC_OUTPUT(Makefile `echo $subdirs | sed 's|\([a-z][a-z]*\)|\1/Makefile|g'`)
+EOF
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+touch README NEWS AUTHORS ChangeLog
+
+mkdir build
+
+# We use gcc and not gcc -traditional as the latter fails on some
+# Linux boxes (Red Hat 5.1 in particular).
+$ACLOCAL \
+   && $AUTOCONF \
+   && $AUTOMAKE -a || exit 1
+
+# Regression test for bug where `.c.o:' is followed by blank line.
+(while read line; do
+    if test "$line" = ".c.o:"; then
+       read next
+       if test -z "$next"; then
+	  exit 1
+       fi
+       break
+    fi
+ done) < foo/Makefile.in || exit 1
+
+cd build \
+   && ../configure \
+   && $MAKE distcheck || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/pr9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/pr9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/pr9.test	(revision 3089)
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in PR 9.
+
+required=gzip
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AC_CONFIG_AUX_DIR(support)
+AM_INIT_AUTOMAKE(pr9, 0)
+AC_OUTPUT(Makefile)
+END
+
+: > Makefile.am
+
+mkdir support
+
+$ACLOCAL || exit 1
+
+$AUTOCONF || exit 1
+$AUTOMAKE -a -c || exit 1
+./configure || exit 1
+$MAKE || exit 1
+$MAKE distcheck || exit 1
+
+gunzip pr9-0.tar.gz || exit 1
+
+tar tf pr9-0.tar | $FGREP support
Index: /trunk/essentials/sys-devel/automake-1.9/tests/prefix.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/prefix.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/prefix.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure range of prefixes can be extended
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'EOF'
+bnidir = $(prefix)/bni
+bni_PROGRAMS = zardoz
+EOF
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/primary.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/primary.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/primary.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure errors in am_install_var work.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = @programs@
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'EXTRA_PROGRAMS' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/primary2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/primary2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/primary2.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure errors in am_install_var work.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = @programs@
+EXTRA_PROGRAMS = joe @more@
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep EXTRA_PROGRAMS stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/primary3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/primary3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/primary3.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we can build programs ending in `.la'
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo.la
+foo_la_SOURCES = foo.c
+END
+
+echo 'int main () { return 0; }' > foo.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/proginst.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/proginst.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/proginst.test	(revision 3089)
@@ -0,0 +1,31 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug where when multiple scripts are installed,
+# the check for AC_PROG_INSTALL fails.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+bin_SCRIPTS = zardoz qbert brownie
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure py_compile is defined.
+
+. ./defs || exit 1
+
+set -e
+
+echo 'AM_PATH_PYTHON' >> configure.in
+
+cat > Makefile.am << 'END'
+python_PYTHON = foo.py
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+grep '^py_compile =' Makefile.in
+test -f py-compile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python10.test	(revision 3089)
@@ -0,0 +1,87 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test _PYTHON with conditionals.
+
+required=python
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_PATH_PYTHON
+AM_CONDITIONAL([ONE], [test "x$one" = x1])
+AC_OUTPUT
+EOF
+
+cat > Makefile.am <<'END'
+if ONE
+mydir=$(prefix)/my
+my_PYTHON = one.py
+else
+yourdir=$(prefix)/your
+your_PYTHON = two.py
+endif
+
+one.py:
+	echo 'def one(): return 1' >$@
+two.py:
+	echo 'def two(): return 1' >$@
+
+disttest: distdir
+	test -f $(distdir)/one.py
+	test -f $(distdir)/two.py
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+mkdir inst
+inst=`pwd`/inst
+mkdir build
+cd build
+../configure --prefix="$inst"
+$MAKE install
+test -f $inst/your/two.py
+test -f $inst/your/two.pyc
+test -f $inst/your/two.pyo
+test ! -f $inst/my/one.py
+test ! -f $inst/my/one.pyc
+test ! -f $inst/my/one.pyo
+$MAKE uninstall
+test ! -f $inst/your/two.py
+test ! -f $inst/your/two.pyc
+test ! -f $inst/your/two.pyo
+
+../configure --prefix="$inst" one=1
+$MAKE install
+test ! -f $inst/your/two.py
+test ! -f $inst/your/two.pyc
+test ! -f $inst/your/two.pyo
+test -f $inst/my/one.py
+test -f $inst/my/one.pyc
+test -f $inst/my/one.pyo
+$MAKE uninstall
+test ! -f $inst/my/one.py
+test ! -f $inst/my/one.pyc
+test ! -f $inst/my/one.pyo
+
+$MAKE disttest
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python11.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python11.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python11.test	(revision 3089)
@@ -0,0 +1,58 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test missing python.
+
+# Python is not required for this test.
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+m4_define([_AM_PYTHON_INTERPRETER_LIST], [IShouldNotExist1 IShouldNotExist2])
+AM_PATH_PYTHON
+# The following be executed only after the first run, once a
+# third argument has been added to the previous macro.
+echo PYTHON = $PYTHON
+test "$PYTHON" = : || exit 1
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+
+./configure >stdout 2>stderr && exit 1
+cat stdout
+cat stderr
+grep 'checking for IShouldNotExist1' stdout
+grep 'checking for IShouldNotExist2' stdout
+grep 'no suitable Python interpreter found' stderr
+
+$PERL -pi -e 's/AM_PATH_PYTHON/AM_PATH_PYTHON(,,:)/' configure.in
+$ACLOCAL
+$AUTOCONF
+# This one should define PYTHON as : and exit succesfully
+./configure
+
+# Any user setting should be used.
+./configure PYTHON=foo >stdout && exit 1
+cat stdout
+grep 'PYTHON = foo' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python12.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python12.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python12.test	(revision 3089)
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Ensure DESTDIR is not included in byte-compiled files.
+
+required=python
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_PATH_PYTHON
+AC_OUTPUT
+EOF
+
+cat >Makefile.am <<'END'
+mydir = $(datadir)/my
+my_PYTHON = my.py
+
+my.py:
+	echo 'def my(): return 1' >$@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+rm -rf inst build
+mkdir inst
+instdir=`pwd`/inst
+mkdir build
+cd build
+../configure --prefix="/usr"
+DESTDIR=$instdir $MAKE -e install
+
+# Perfunctory test that the files were created
+test -f "$instdir/usr/share/my/my.py"
+test -f "$instdir/usr/share/my/my.pyc"
+test -f "$instdir/usr/share/my/my.pyo"
+
+# If DESTDIR has made it into the byte compiled files, fail the test
+$FGREP "$instdir" "$instdir/usr/share/my/my.pyo" \
+                  "$instdir/usr/share/my/my.pyc" && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python2.test	(revision 3089)
@@ -0,0 +1,115 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Automake suggests using AM_PATH_PYTHON.
+
+. ./defs || exit 1
+
+set -e
+
+echo 1
+# pythondir not defined
+
+cat > Makefile.am <<'END'
+PYTHON = x
+python_PYTHON = foo.py
+END
+
+$ACLOCAL
+AUTOMAKE_fails -a
+grep AM_PATH_PYTHON stderr
+
+echo 2
+# pkgpythondir not defined
+
+cat > Makefile.am <<'END'
+PYTHON = x
+pkgpython_PYTHON = foo.py
+END
+
+$ACLOCAL
+AUTOMAKE_fails -a
+grep AM_PATH_PYTHON stderr
+
+
+echo 3
+# pyexecdir not defined
+
+cat > Makefile.am <<'END'
+PYTHON = x
+pyexec_PYTHON = foo.py
+END
+
+$ACLOCAL
+AUTOMAKE_fails -a
+grep AM_PATH_PYTHON stderr
+
+
+echo 4
+# pkgpyexecdir not defined
+
+cat > Makefile.am <<'END'
+PYTHON = x
+pkgpyexec_PYTHON = foo.py
+END
+
+$ACLOCAL
+AUTOMAKE_fails -a
+grep AM_PATH_PYTHON stderr
+
+
+echo 5
+# PYTHON not defined.
+
+cat > Makefile.am <<'END'
+pkgpyexecdir = /here/we/go
+pkgpyexec_PYTHON = foo.py
+END
+
+$ACLOCAL
+AUTOMAKE_fails -a
+grep AM_PATH_PYTHON stderr
+
+
+echo 6
+# Ok.
+
+cat > Makefile.am <<'END'
+PYTHON = x
+pkgpyexecdir = /here/we/go
+pkgpyexec_PYTHON = foo.py
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+test -f py-compile
+
+
+echo 7
+# Ok.
+
+cat > Makefile.am <<'END'
+PYTHON = x
+fubardir = /here/we/go
+fubar_PYTHON = foo.py
+END
+
+$ACLOCAL
+$AUTOMAKE -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python3.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we install built python files.
+
+required=python
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AM_PATH_PYTHON
+AC_OUTPUT
+EOF
+
+cat > Makefile.am <<'END'
+mydir=$(prefix)/my
+my_PYTHON = one.py
+
+one.py:
+	echo 'def one(): return 1' >$@
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+mkdir inst
+inst=`pwd`/inst
+mkdir build
+cd build
+../configure --prefix="$inst"
+$MAKE install
+test -f $inst/my/one.py
+test -f $inst/my/one.pyc
+test -f $inst/my/one.pyo
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python4.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test detection of missing Python.
+
+# Python is not required for this test.
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AM_PATH_PYTHON
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# Simulate no Python
+./configure PYTHON=: 2>stderr && exit 1
+cat stderr
+grep 'no suitable Python interpreter found' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python5.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test detection of missing Python.
+# Same as python4.test, but requiring a version.
+
+# Python is not required for this test.
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+# Hopefully the Python team will never release such a version.
+AM_PATH_PYTHON(9999.9)
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure 2>stderr && exit 1
+cat stderr
+grep 'no suitable Python interpreter found' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python6.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test detection of missing Python.
+# Same as python4.test, but using a custom ACTION-IF-NOT-FOUND.
+
+# Python is not required for this test.
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<\EOF
+AM_PATH_PYTHON(,, [echo "GREP ME$PYTHON" >&2])
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+# Simulate no Python
+./configure PYTHON=: 2>stderr
+cat stderr
+grep 'GREP ME:' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python7.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test detection of missing Python.
+# Same as python6.test, but requiring a version.
+
+# Python is not required for this test.
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<\EOF
+# Hopefully the Python team will never release such a version.
+AM_PATH_PYTHON(9999.9,, [echo "GREP ME$PYTHON" >&2])
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure 2>stderr
+cat stderr
+grep 'GREP ME:' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python8.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test ACTION-IF-TRUE in AM_PATH_PYTHON.
+
+required=python
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AM_PATH_PYTHON(, [echo 'GREP ME' >&2])
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure 2>stderr
+cat stderr
+grep 'GREP ME' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/python9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/python9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/python9.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test ACTION-IF-TRUE in AM_PATH_PYTHON.
+# Same as python8.test, but requiring a version.
+
+required=python
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AM_PATH_PYTHON(0.0, [echo 'GREP ME' >&2])
+AC_OUTPUT
+EOF
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure 2>stderr
+cat stderr
+grep 'GREP ME' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/recurs.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/recurs.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/recurs.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure recursive variable definitions die.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AM_CONDITIONAL(ONE, true)
+AM_CONDITIONAL(TWO, false)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = $(foo)
+foo = $(bin_PROGRAMS)
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:.*bin_PROGRAMS.*recursively defined' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/recurs2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/recurs2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/recurs2.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure recursive variable definitions die.
+# From Jim Meyering.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+man_MANS = chgrp.1
+man_aux = $(man_MANS:.1=.x)
+EXTRA_DIST = $(man_aux) $(man_MANS)
+END
+
+> chgrp.1
+> chgrp.x
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/regex.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/regex.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/regex.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure AM_WITH_REGEX compiles and runs.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_WITH_REGEX
+END
+
+$ACLOCAL
+$AUTOCONF
+./configure
+./configure --without-regex
Index: /trunk/essentials/sys-devel/automake-1.9/tests/remake.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/remake.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/remake.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure remaking rules in subdir are correctly generated.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(sub/Makefile)
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^Makefile' sub/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/remake2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/remake2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/remake2.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure remaking rules in subdir are correct.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(sub/Makefile)
+END
+
+mkdir sub
+: > sub/Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'AUTOMAKE.*sub/Makefile' sub/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/remake3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/remake3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/remake3.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure remaking rules work when there is no subdir Makefile.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile sub/foo)
+END
+
+: > Makefile.am
+
+mkdir sub
+: > sub/foo.in
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^sub/foo' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/remake4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/remake4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/remake4.test	(revision 3089)
@@ -0,0 +1,60 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Makefile.in are up to date after make dist.
+# This is expected to work even without GNU Make (the GNU Make
+# feature that isn't supported elsewhere is the rebuild of
+# Makefile dependencies during ordinary builds).
+#
+# If this fails, this is likely to be due to a dependency being
+# given two different name.  For instance BSD Make does not know
+# that `Makefile' is the same as `./Makefile'
+#
+# Report from Akim Demaille.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+# Rebuild rule are ok until make dist, but not afterwards.
+if test ! -f rebuild_ok; then
+  ACLOCAL=false
+  AUTOMAKE=false
+  AUTOCONF=false
+fi
+AC_OUTPUT
+EOF
+
+: > rebuild_ok
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE
+$sleep
+touch aclocal.m4
+$MAKE distdir
+cd remake4-1.0
+test ! -f rebuild_ok
+./configure
+$MAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/remake5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/remake5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/remake5.test	(revision 3089)
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that AM_MAINTAINER_MODE disable some rebuild rules,
+# but not all.
+# Report from Ralf Corsepius.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'EOF'
+AM_MAINTAINER_MODE
+m4_include(foo.m4)
+if test ! -f rebuild_ok; then
+  ACLOCAL=false
+  AUTOMAKE=false
+  AUTOCONF=false
+fi
+AC_OUTPUT
+EOF
+
+: > foo.m4
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE
+
+# Make sure the rules to rebuild configure/Makefile.in are not
+# triggered by default.  ($MAKE will fail if they are, because the
+# tools are set to false.)
+$sleep
+touch aclocal.m4 Makefile.am configure.in foo.m4
+$MAKE
+
+# Make sure the rebuild rule for Makefile is triggered.
+$sleep
+echo '# GrEpMe' >>Makefile.in
+$MAKE
+grep GrEpMe Makefile
+
+# Make sure the rebuild rule for config.status is triggered.
+$sleep
+grep 'AUTOCONF.*=.*false' Makefile
+: > rebuild_ok
+./configure --no-create
+$MAKE
+grep 'AUTOCONF.*=.*false' Makefile && exit 1
+
+# Make sure rebuild rules do work if --enable-maintainer-mode is given.
+./configure --enable-maintainer-mode
+$sleep
+echo 'AC_SUBST([YIPPY_YIPPY_YEAH])' >foo.m4
+$MAKE
+grep YIPPY_YIPPY_YEAH Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/req.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/req.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/req.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure macro used in m4 file is included.
+
+. ./defs || exit 1
+
+cat > configure.in <<EOF
+AC_INIT
+AM_INIT_GUILE_MODULE
+EOF
+
+cat > acinclude.m4 << 'END'
+AC_DEFUN([AM_INIT_GUILE_MODULE],[
+. $srcdir/../GUILE-VERSION
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_CONFIG_AUX_DIR(..)
+module=[$1]
+AC_SUBST(module)])
+END
+
+$ACLOCAL || exit 1
+
+grep 'DEFUN.*INIT_AUTOMAKE' aclocal.m4
Index: /trunk/essentials/sys-devel/automake-1.9/tests/reqd.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/reqd.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/reqd.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake will install several copies of required files if needed.
+# Reported by Marius Vollmer.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in <<EOF
+AC_CONFIG_FILES([one/Makefile two/Makefile])
+AC_OUTPUT
+EOF
+
+mkdir one
+mkdir two
+
+echo 'SUBDIRS = one two' > Makefile.am
+echo 'info_TEXINFOS = mumble.texi' > one/Makefile.am
+cat >one/mumble.texi <<'END'
+@setfilename mumble.info
+@include version.texi
+END
+
+cp one/Makefile.am one/mumble.texi two
+
+$ACLOCAL
+$AUTOMAKE --add-missing --copy
+
+test -f one/mdate-sh
+test -f one/texinfo.tex
+test -f two/mdate-sh
+test -f two/texinfo.tex
Index: /trunk/essentials/sys-devel/automake-1.9/tests/reqd2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/reqd2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/reqd2.test	(revision 3089)
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for a bug reported by Andrew Suffield.
+# (Automake goes wild and try to rerun itself more than two time
+# to fix the Makefiles.)
+
+required='libtoolize'
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([req2], [1.0])
+AC_CONFIG_AUX_DIR([autoconf])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AM_PROG_LIBTOOL
+AC_CONFIG_FILES([autoconf/Makefile main/Makefile])
+AC_OUTPUT
+END
+
+mkdir autoconf
+mkdir main
+
+: > autoconf/Makefile.am
+echo 'SUBDIRS = autoconf main' >Makefile.am
+
+cat >main/Makefile.am <<'END'
+lib_LTLIBRARIES = lib0.la
+lib0_la_SOURCES = 0.c
+END
+
+libtoolize --force --copy
+$ACLOCAL
+$AUTOCONF
+
+test -f autoconf/ltmain.sh # Sanity check.
+rm -f autoconf/ltmain.sh
+AUTOMAKE_fails --add-missing --copy
+grep 'autoconf/ltmain.sh' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/rulepat.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/rulepat.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/rulepat.test	(revision 3089)
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure RULE_PATTERN catches strange targets.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+$(srcdir)/Makefile.am:
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^$(srcdir)/Makefile\.am' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/scripts.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/scripts.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/scripts.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Jim Meyering.
+# AC_PROG_INSTALL was required when only noinst_SCRIPTS was defined.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+noinst_SCRIPTS = foo
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/seenc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/seenc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/seenc.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure C-but-not-CC error works.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+dnl AC_PROG_CC and AC_PROG_CXX missing on purpose
+AC_LIBOBJ([fsusage])
+AC_LIBOBJ([mountlist])
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = x.C
+foo_LDADD = @LIBOBJS@
+END
+
+: > fsusage.c
+: > mountlist.c
+
+$ACLOCAL
+AUTOMAKE_fails
+$FGREP CC stderr
+$FGREP CXX stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/sinclude.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/sinclude.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/sinclude.test	(revision 3089)
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to see if `m4_sinclude' and `m4_include' works.
+
+. ./defs || exit 1
+
+set -e
+
+# Overwrite configure.in, because the default uses `sinclude' as package
+# name and this play havoc with Autoconf on some platforms (`sinclude'
+# is an m4 macro).
+cat > configure.in <<EOF
+AC_INIT([amsinclude], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+sinclude([doesntexist.m4])
+EOF
+
+mkdir sub
+cat > sub/p.m4 << 'END'
+AC_SUBST(MAGICALPIG)
+END
+
+cat > sub/h.m4 << 'END'
+AC_SUBST(MAGICALHOG)
+END
+
+cat > sub/g.m4 << 'END'
+AC_SUBST(GREPME)
+END
+
+: > Makefile.am
+
+echo 'sinclude(sub/g.m4)' >> acinclude.m4
+echo 'm4_sinclude(sub/doesntexist.m4)' >> acinclude.m4
+
+$ACLOCAL
+
+echo 'm4_sinclude(sub/p.m4)' >> aclocal.m4
+echo 'm4_include(sub/h.m4)' >> aclocal.m4
+
+$AUTOMAKE
+
+grep doesntexist Makefile.in && exit 1
+grep MAGICALPIG Makefile.in
+grep MAGICALHOG Makefile.in
+grep GREPME Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/space.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/space.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/space.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test leading space on macro assignment.
+
+. ./defs || exit 1
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+    bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of flags specific to executable.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-dependencies
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+foo_CFLAGS = -DBAR
+END
+
+# Make sure `compile' is required.
+$ACLOCAL
+AUTOMAKE_fails
+grep 'required.*compile' stderr
+
+: > compile
+
+$AUTOMAKE
+
+# Look for $(COMPILE) -c in .c.o rule.
+grep 'COMPILE. [^-]' Makefile.in && exit 1
+
+# Look for foo-foo.o.
+grep '[^-]foo\.o' Makefile.in && exit 1
+
+# Regression test for missing space.
+$FGREP ')-c' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg2.test	(revision 3089)
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test library-specific flags.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_RANLIB
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-dependencies
+lib_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c bar.cc
+libfoo_a_CFLAGS = -DBAR
+libfoo_a_CXXFLAGS = -DZOT
+END
+
+# Make sure `compile' is required.
+$ACLOCAL
+AUTOMAKE_fails
+grep 'required.*compile' stderr
+
+: > compile
+
+$AUTOMAKE
+
+# Look for $(COMPILE) -c in .c.o rule.
+grep 'COMPILE. [^-]' Makefile.in && exit 1
+
+# Look for libfoo_a-foo.o.
+grep foo Makefile.in
+grep '[^-]foo\.o' Makefile.in && exit 1
+
+# Look for libfoo_a-bar.o.
+grep bar Makefile.in
+grep '[^-]bar\.o' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg3.test	(revision 3089)
@@ -0,0 +1,51 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test exe-specific flags with dependency tracking.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(test, 0.1)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = foreign
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c
+foo_CFLAGS = -DFOO
+END
+
+: > compile
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP -e '-o foo-foo' Makefile.in || exit 1
+
+$FGREP 'foo.o.o' Makefile.in                       && exit 1
+$FGREP 'foo.$(OBJEXT).$(OBJEXT)' Makefile.in       && exit 1
+
+$FGREP '$(foo_CFLAGS)' Makefile.in || exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg6.test	(revision 3089)
@@ -0,0 +1,57 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Regression test for multiple rules being generated for each target when
+# conditionals are present.
+# From Richard Boulton
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL(BAR, true)
+END
+
+cat > Makefile.am << 'END'
+if BAR
+BAR_SRCS = bar.c
+endif
+
+bin_PROGRAMS = foo
+foo_CFLAGS = -DFOO
+foo_SOURCES = foo.c
+END
+
+: > compile
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+uncondval=`$FGREP 'foo-foo.o: foo.c' Makefile.in`
+
+cat >> Makefile.am << 'END'
+foo_SOURCES += $(BAR_SRCS)
+END
+
+$AUTOMAKE || exit 1
+
+condval=`$FGREP 'foo-foo.o: foo.c' Makefile.in`
+
+test "x$uncondval" = "x$condval"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg7.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# The true/false example from the manual, plus a check for _SHORTNAME.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = false true
+true_SOURCES = false.c
+true_CFLAGS = -DAM_TRUE
+true_SHORTNAME = t
+# No false_SOURCES definition.  Use the default source.
+false_CFLAGS = -DAM_FALSE
+false_SHORTNAME = f
+END
+
+cat > false.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+#ifdef AM_TRUE
+   puts ("true");
+#else
+   puts ("false");
+#endif
+   return 0;
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+$MAKE
+./true | grep true
+./false | grep false
+test -f ./t-false.o
+test -f ./f-false.o
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg8.test	(revision 3089)
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Like the true/false example from the manual,
+# with one extra indirection in the sources (PR/315), and
+# use of _CPPFLAGS (PR/337).
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+# Using a separate variable to hold all the sources for a program is
+# common when building many flavors of this program, each with
+# different flags.
+
+cat > Makefile.am << 'END'
+FALSESOURCE = false.c
+bin_PROGRAMS = false true
+true_SOURCES = $(FALSESOURCE)
+true_CPPFLAGS = -DAM_TRUE
+false_SOURCES = $(FALSESOURCE)
+false_CPPFLAGS = -DAM_FALSE
+END
+
+cat > false.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+#ifdef AM_TRUE
+   puts ("true");
+#else
+   puts ("false");
+#endif
+   return 0;
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+./configure
+$MAKE
+./true | grep true
+./false | grep false
Index: /trunk/essentials/sys-devel/automake-1.9/tests/specflg9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/specflg9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/specflg9.test	(revision 3089)
@@ -0,0 +1,50 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Another check for per-target flag substitutions.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zzfoo zzbar
+zzfoo_SOURCES = sub/foo.c
+zzbar_SOURCES = bar.c
+zzbar_CPPFLAGS = -Dfoo
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+
+$FGREP '$(AM_CFLAGS)' Makefile.in
+
+$FGREP '$(zzfoo_CFLAGS)' Makefile.in && exit 1
+$FGREP '$(zzfoo_CPPFLAGS)' Makefile.in && exit 1
+
+$FGREP '$(zzbar_CFLAGS)' Makefile.in && exit 1
+$FGREP '$(zzbar_CPPFLAGS)' Makefile.in
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/spell.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/spell.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/spell.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure misspellings in _SOURCES variables cause failure.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zardoz foo
+zardoz_SOURCES = x.c
+boo_SOURCES = y.c
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:3:.*boo' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/spell2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/spell2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/spell2.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure misspellings in _SOURCES variables cause failure.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >> configure.in
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = x.c
+qardoz_LDADD = -ljoe
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:3:.*qardoz' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/spell3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/spell3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/spell3.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure some internal _DEPENDENCIES variables don't cause
+# errors.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+TAGS_DEPENDENCIES = joe
+## Required to avoid error.
+ETAGS_ARGS = joe
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/spelling.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/spelling.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/spelling.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that misspelled prefixes actually cause error.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'EOF'
+bni_PROGRAMS = zot
+EOF
+
+if $ACLOCAL || exit 1
+$AUTOMAKE; then
+   exit 1
+fi
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/spy.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/spy.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/spy.test	(revision 3089)
@@ -0,0 +1,98 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check whether double colon rules work.  The Unix V7 make manual
+# mentions double-colon rules, but POSIX does not.  They seem to be
+# supported by all Make implementation as we can tell. This test case
+# is a spy: we want to detect if there exist implementations where
+# these do not work.  We might use these rules to simplify the rebuild
+# rules (instead of the $? hack).
+
+# Tom Tromey write:
+# | In the distant past we used :: rules extensively.
+# | Fran?ois convinced me to get rid of them:
+# |
+# | Thu Nov 23 18:02:38 1995  Tom Tromey  <tromey@cambric>
+# | [ ... ]
+# |         * subdirs.am: Removed "::" rules
+# |         * header.am, libraries.am, mans.am, texinfos.am, footer.am:
+# |         Removed "::" rules
+# |         * scripts.am, programs.am, libprograms.am: Removed "::" rules
+# |
+# |
+# | I no longer remember the rationale for this.  It may have only been a
+# | belief that they were unportable.
+
+# On a related topic, the Autoconf manual has the following text:
+# |     `VPATH' and double-colon rules
+# |           Any assignment to `VPATH' causes Sun `make' to only execute
+# |           the first set of double-colon rules.  (This comment has been
+# |           here since 1994 and the context has been lost.  It's probably
+# |           about SunOS 4.  If you can reproduce this, please send us a
+# |           test case for illustration.)
+
+# We already know that overlapping ::-rule like
+#
+#   a :: b
+#   	echo rule1 >> $@
+#   a :: c
+#   	echo rule2 >> $@
+#   a :: b c
+#   	echo rule3 >> $@
+#
+# do not work equally on all platforms.  It seems that in all cases
+# Make attempts to run all matching rules.  However at least GNU Make,
+# NetBSD Make, and FreeBSD Make will detect that $@ was updated by the
+# first matching rule and skip remaining matches (with the above
+# example that means that unless `a' was declared PHONY, only "rule1"
+# will be appended to `a' if both b and c have changed).  Other
+# implementations like OSF1 Make and HP-UX Make do not perform such a
+# check and execute all matching rules whatever they do ("rule1",
+# "rule2", abd "rule3" will all be appended to `a' if b and c have
+# changed).
+
+# So it seems only non-overlapping ::-rule may be portable.  This is
+# what we check now.
+
+. ./defs || exit 1
+
+set -e
+
+cat >Makefile <<\EOF
+a :: b
+	echo rule1 >> $@
+a :: c
+	echo rule2 >> $@
+EOF
+
+touch b c
+$sleep
+: > a
+$MAKE
+test "`cat a`" = ''
+$sleep
+touch b
+$MAKE
+test "`cat a`" = rule1
+: > a
+$sleep
+touch c
+$MAKE
+test "`cat a`" = rule2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/srcsub.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/srcsub.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/srcsub.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config sub in _SOURCES fails.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = x
+x_SOURCES = x.c @FOO@
+EXTRA_x_SOURCES = y.c
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*x_SOURCES.*substitution' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/srcsub2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/srcsub2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/srcsub2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config sub in _SOURCES fails.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = x
+bar = @FOO@
+foo = $(bar)
+x_SOURCES = x.c $(foo)
+EXTRA_x_SOURCES = y.c
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*bar.*substitution' stderr
+grep 'Makefile.am:2:.*x_SOURCES' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/stamph2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/stamph2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/stamph2.test	(revision 3089)
@@ -0,0 +1,75 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure stamp-h* files are created where we expect
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << END
+AM_CONFIG_HEADER(1.h
+                 2.h:config.hin
+                 3.h:sdir1/config1.hin)
+# AM_CONFIG_HEADER and AC_CONFIG_HEADERS should be synonyms.
+AC_CONFIG_HEADERS(sdir1/4.h
+                  sdir1/5.h:config.hin
+                  sdir1/6.h:sdir1/config1.hin
+                  sdir1/7.h:sdir2/config2.hin)
+AC_OUTPUT
+END
+
+: > Makefile.am
+mkdir sdir1
+mkdir sdir2
+: > config.hin
+: > 1.h.in
+: > sdir1/4.h.in
+: > sdir1/config1.hin
+: > sdir2/config2.hin
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+test -f stamp-h1
+test -f stamp-h2
+test -f stamp-h3
+test -f sdir1/stamp-h4
+test -f sdir1/stamp-h5
+test -f sdir1/stamp-h6
+test -f sdir1/stamp-h7
+
+# Make sure `./config.status foo' creates the right stamp file.
+# Report from Sander Niemeijer.
+
+rm -f stamp-h*
+rm -f sdir1/stamp-h*
+
+./config.status sdir1/7.h 2.h sdir1/4.h
+test ! -f stamp-h1
+test -f stamp-h2
+test ! -f stamp-h3
+test -f sdir1/stamp-h4
+test ! -f sdir1/stamp-h5
+test ! -f sdir1/stamp-h6
+test -f sdir1/stamp-h7
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/stdlib.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/stdlib.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/stdlib.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test "not a standard library" error.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_RANLIB
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = sub/foo
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+# We're specifically testing for line-number information.
+grep 'Makefile.am:1:.*sub/foo.*standard library name' stderr
+grep 'Makefile.am:1:.*sub/libfoo.a.*' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/stdlib2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/stdlib2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/stdlib2.test	(revision 3089)
@@ -0,0 +1,99 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for AM_LDFLAGS = -module
+# Report from Kevin P. Fleming.
+required=libtool
+. ./defs || exit 1
+
+set -e
+
+: > README
+: > NEWS
+: > AUTHORS
+: > ChangeLog
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+: > Makefile.inc
+
+cat > Makefile.am << 'END'
+include Makefile.inc
+lib_LTLIBRARIES = nonstandard.la
+nonstandard_la_SOURCES = foo.c
+FOO = -module
+END
+
+$ACLOCAL
+AUTOMAKE_fails --add-missing --gnu
+grep 'Makefile.am:2:.*nonstandard.la.*standard libtool library name' stderr
+grep 'Makefile.am:2:.*libnonstandard.la' stderr
+
+# We will use -Wno-gnu to disable the warning about setting LDFLAGS (below)
+# Make sure nonstandard names are diagnosed anyway.
+AUTOMAKE_fails --add-missing --gnu -Wno-gnu
+grep 'Makefile.am:2:.*nonstandard.la.*standard libtool library name' stderr
+grep 'Makefile.am:2:.*libnonstandard.la' stderr
+
+# Make sure nonstandard_la_LDFLAGS is read even if LDFLAGS is used.
+cat >Makefile.inc <<'EOF'
+LDFLAGS = -lfoo
+nonstandard_la_LDFLAGS = $(FOO)
+EOF
+$AUTOMAKE -Wno-gnu
+
+# Make sure LDFLAGS is read even if nonstandard_la_LDFLAGS is used.
+cat >Makefile.inc <<'EOF'
+LDFLAGS = $(FOO)
+nonstandard_la_LDFLAGS = -lfoo
+EOF
+$AUTOMAKE -Wno-gnu
+
+# Make sure AM_LDFLAGS is not read if foo_LDFLAGS is used.
+cat >Makefile.inc <<'EOF'
+nonstandard_la_LDFLAGS = -lfoo
+AM_LDFLAGS = -module
+EOF
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*nonstandard.la.*standard libtool library name' stderr
+grep 'Makefile.am:2:.*libnonstandard.la' stderr
+
+echo 'AM_LDFLAGS = -module' > Makefile.inc
+$AUTOMAKE
+
+# For module, Automake should not suggest the lib prefix.
+cat > Makefile.am << 'END'
+include Makefile.inc
+lib_LTLIBRARIES = nonstandard
+nonstandard_SOURCES = foo.c
+FOO = -module
+END
+
+AUTOMAKE_fails
+grep "Makefile.am:2:.*nonstandard'.*standard libtool module name" stderr
+grep 'Makefile.am:2:.*`nonstandard.la' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/strip.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/strip.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/strip.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for install-strip.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo, 0.1, dev@null)
+AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
+AC_PROG_CC
+AM_CONDITIONAL(FOOTEST, false)
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_SCRIPTS = foo
+END
+
+cat > foo << 'END'
+#! /bin/sh
+echo Maude
+END
+
+chmod +x foo
+
+set -e
+
+mkdir install
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure --prefix=`cd install && pwd`
+$MAKE
+$MAKE install-strip
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subcond.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subcond.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subcond.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# It is ok to have a conditional SUBDIRS when using gettext.
+required=gettext
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_GNU_GETTEXT
+AM_CONDITIONAL(MAUDE, true)
+ALL_LINGUAS=
+AC_SUBST(ALL_LINGUAS)
+END
+
+mkdir po intl
+
+cat > Makefile.am << 'END'
+if MAUDE
+SUBDIRS = po intl
+else
+SUBDIRS =
+endif
+END
+
+$ACLOCAL || exit 1
+# Gettext wants config.guess etc.
+$AUTOMAKE --add-missing
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subcond2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subcond2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subcond2.test	(revision 3089)
@@ -0,0 +1,95 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# The for conditional SUBDIRS.
+# SUBDIRS + AM_CONDITIONAL setup from the manual.
+# Lots of lines here are duplicated in subcond3.test.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AM_CONDITIONAL([COND_OPT], [test "$want_opt" = yes])
+AC_CONFIG_FILES([src/Makefile opt/Makefile])
+AC_OUTPUT
+END
+
+cat >Makefile.am << 'END'
+if COND_OPT
+  MAYBE_OPT = opt
+endif
+SUBDIRS = src $(MAYBE_OPT)
+
+# Testing targets.
+#
+# We want to ensure that
+#      - src/source and opt/source are always distributed.
+#      - src/result is always built
+#      - opt/result is built conditionally
+#
+# We rely on `distcheck' to run `check-local' and use
+# `sanity1' and `sanity2' as evidences that test-build was run.
+
+if COND_OPT
+test-build: all
+	test -f src/result
+	test -f opt/result
+	: > $(top_builddir)/../../sanity2
+else
+test-build: all
+	test -f src/result
+	test ! -f opt/result
+	: > $(top_builddir)/../../sanity1
+endif
+
+test-dist: distdir
+	test -f $(distdir)/src/source
+	test -f $(distdir)/opt/source
+
+check-local: test-build test-dist
+END
+
+mkdir src opt
+: > src/source
+: > opt/source
+
+cat >src/Makefile.am << 'END'
+EXTRA_DIST = source
+all-local: result
+CLEANFILES = result
+
+result: source
+	cp $(srcdir)/source result
+END
+
+# We want in opt/ the same Makefile as in src/.  Let's exercise `include'.
+cat >opt/Makefile.am << 'END'
+include ../src/Makefile.am
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE distcheck
+test -f sanity1
+DISTCHECK_CONFIGURE_FLAGS=want_opt=yes $MAKE distcheck
+test -f sanity2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subcond3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subcond3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subcond3.test	(revision 3089)
@@ -0,0 +1,96 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# The for conditional SUBDIRS.
+# SUBDIRS + AC_SUBST setup from the manual.
+# Lots of lines here are duplicated in subcond2.test.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+if test "$want_opt" = yes; then
+  MAYBE_OPT=opt
+else
+  MAYBE_OPT=
+fi
+AC_SUBST([MAYBE_OPT])
+AC_CONFIG_FILES([src/Makefile opt/Makefile])
+AC_OUTPUT
+END
+
+cat >Makefile.am << 'END'
+SUBDIRS = src $(MAYBE_OPT)
+DIST_SUBDIRS = src opt
+
+# Testing targets.
+#
+# We want to ensure that
+#      - src/source and opt/source are always distributed.
+#      - src/result is always built
+#      - opt/result is built conditionally
+#
+# We rely on `distcheck' to run `check-local' and use
+# `sanity1' and `sanity2' as evidences that test-build was run.
+
+test-build: all
+	test -f src/result
+	if test -n "$(MAYBE_OPT)"; then \
+	   test -f opt/result || exit 1; \
+	   : > $(top_builddir)/../../sanity2 || exit 1; \
+	else \
+	   test ! -f opt/result || exit 1; \
+	   : > $(top_builddir)/../../sanity1 || exit 1; \
+	fi
+
+test-dist: distdir
+	test -f $(distdir)/src/source
+	test -f $(distdir)/opt/source
+
+check-local: test-build test-dist
+END
+
+mkdir src opt
+: > src/source
+: > opt/source
+
+cat >src/Makefile.am << 'END'
+EXTRA_DIST = source
+all-local: result
+CLEANFILES = result
+
+result: source
+	cp $(srcdir)/source result
+END
+
+# We want in opt/ the same Makefile as in src/.  Let's exercise `include'.
+cat >opt/Makefile.am << 'END'
+include ../src/Makefile.am
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE distcheck
+test -f sanity1
+DISTCHECK_CONFIGURE_FLAGS=want_opt=yes $MAKE distcheck
+test -f sanity2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure install-sh and mkinstalldirs correctly found in
+# subdirs.
+
+. ./defs || exit 1
+
+mkdir zot
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile zot/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = zot
+END
+
+cat > zot/Makefile.am << 'END'
+pkgdata_DATA =
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir2.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 1996, 1998, 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure sub-sub-dirs work correctly.
+
+. ./defs || exit 1
+
+mkdir one
+mkdir one/two
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile one/Makefile one/two/Makefile)
+END
+
+# Files required because we are using `--gnu'.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+
+cat > Makefile.am << 'END'
+SUBDIRS = one
+END
+
+cat > one/Makefile.am << 'END'
+SUBDIRS = two
+END
+
+cat > one/two/Makefile.am << 'END'
+pkgdata_DATA =
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE --gnu
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir3.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure subdir source file generates explicit dependency.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zardoz widdershins
+zardoz_SOURCES = y.c x/z.c
+widdershins_SOURCES = x/z.c
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+mkdir x
+
+: > y.c
+: > x/z.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^z\.o: x/z\.c$' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir4.test	(revision 3089)
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure a top-level depcomp file is found when
+# AC_CONFIG_AUX_DIR is not specified.
+
+. ./defs || exit 1
+
+mkdir lib src
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_RANLIB
+AC_PROG_CC
+AC_OUTPUT(Makefile lib/Makefile src/Makefile)
+END
+
+# Files required because we are using `--gnu'.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+
+cat > Makefile.am << 'END'
+SUBDIRS = lib src
+END
+
+cat > lib/Makefile.am << 'END'
+pkgdata_DATA =
+noinst_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c
+END
+
+cat > lib/foo.c << 'END'
+int foo () {}
+END
+
+cat > src/Makefile.am << 'END'
+pkgdata_DATA =
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE --gnu || exit 1
+
+# Make sure that depcomp is *not* included in the definition
+# of DIST_COMMON in lib/Makefile.in.  If you change this test
+# so that more files are included in lib's DIST_COMMON definition,
+# then you must handle the case in which depcomp is listed on a
+# continued line.
+grep '^DIST_COMMON.*depcomp' lib/Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir5.test	(revision 3089)
@@ -0,0 +1,99 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that adding a new directory works.
+# This test runs `make' from the top-level directory, subdir8.test
+# do it from a subdirectory.
+# PR automake/46
+
+# This test assumes that the `make' utility is able to start
+# over and reload Makefiles which have been remade (a non-POSIX feature).
+required='GNUmake gcc'
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT(maude, 1.0)
+AM_INIT_AUTOMAKE
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_CONFIG_FILES(Makefile)
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+END
+
+cat > a.c << 'END'
+#include <stdio.h>
+int main ()
+{
+   printf ("hi liver!\n");
+   return 0;
+}
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --include-deps --copy --add-missing
+./configure
+$MAKE
+
+# Now add a new directory.
+cat > configure.in << 'END'
+AC_INIT(maude, 1.0)
+AM_INIT_AUTOMAKE
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_CONFIG_FILES(Makefile maude/Makefile)
+m4_include([confile.m4])
+AC_OUTPUT
+END
+
+: > confile.m4
+
+mkdir maude
+cat > maude/Makefile.am << 'END'
+include_HEADERS = foo.h
+END
+
+: > maude/foo.h
+
+echo 'SUBDIRS = maude' >> Makefile.am
+
+# We want a simple rebuild to create maude/Makefile automatically.
+$MAKE
+test -f maude/Makefile
+
+# Add yet another directory
+mkdir maude2
+echo 'AC_CONFIG_FILES([maude2/Makefile])AC_SUBST([GREPME])' > confile.m4
+: > maude2/Makefile.am
+echo 'SUBDIRS += maude2' >> Makefile.am
+
+# We want a simple rebuild to create maude2/Makefile and update
+# all other Makefiles automatically.
+$MAKE
+grep GREPME Makefile
+grep GREPME maude/Makefile
+grep GREPME maude2/Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir6.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure config headers in subdirectories are cleaned.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_CONFIG_HEADER([sub/config.h:sub/config.hin])
+AC_OUTPUT
+END
+
+touch Makefile.am
+mkdir sub
+
+$ACLOCAL
+$AUTOCONF
+touch sub/config.hin
+$AUTOMAKE
+./configure
+test -f sub/stamp-h1
+$MAKE clean
+test -f sub/stamp-h1
+$MAKE distclean
+test -f sub/stamp-h1 && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir7.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Naming a subdirectory `obj/' is a bad idea.  Automake should say so.
+
+. ./defs || exit 1
+
+set -e
+
+mkdir obj
+
+cat >>configure.in << 'END'
+AC_CONFIG_FILES(obj/Makefile)
+AC_OUTPUT
+END
+
+: > obj/Makefile.am
+echo 'SUBDIRS = obj' >Makefile.am
+
+$ACLOCAL
+
+AUTOMAKE_fails
+grep 'Makefile.am:1:.*obj.*BSD' stderr
+
+cat >Makefile.am <<'EOF'
+SUBDIRS = @STH@
+FOO = obj
+DIST_SUBDIRS = $(FOO)
+EOF
+
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*obj.*BSD' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir8.test	(revision 3089)
@@ -0,0 +1,107 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that adding a new directory works, even from
+# subdirectories.  (subdir5.test makes sure it works when make
+# is run from the top-level directory.)
+# PR automake/46
+
+# This test assumes that the `make' utility is able to start
+# over and reload Makefiles which have been remade (a non-POSIX feature).
+required='GNUmake gcc'
+. ./defs || exit 1
+
+set -e
+
+echo 'AC_CONFIG_FILES([sub/Makefile])' >confiles.m4
+
+cat >> configure.in << 'END'
+AM_PROG_CC_C_O
+AC_PROG_CC
+m4_include([confiles.m4])
+MORE_DEFS
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+ACLOCAL_AMFLAGS = -I m4
+END
+
+mkdir sub
+
+cat > sub/Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+END
+
+cat > sub/a.c << 'END'
+#include <stdio.h>
+int main ()
+{
+   printf ("hi liver!\n");
+   return 0;
+}
+END
+
+mkdir m4
+echo 'AC_DEFUN([MORE_DEFS], [])' > m4/moredefs.m4
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+./configure
+$MAKE
+
+# Now add a new directory.
+
+mkdir sub/maude
+cat > sub/maude/Makefile.am << 'END'
+include_HEADERS = foo.h
+END
+
+: > sub/maude/foo.h
+
+echo 'SUBDIRS = maude' >> sub/Makefile.am
+
+mkdir maude
+: > maude/Makefile.am
+
+# Update confile.m4 *after* updating sub/Makefile.am.
+# (subdir5.test do it in the other way: it updates configure.in
+# before Makefile.am)
+echo 'AC_CONFIG_FILES([maude/Makefile sub/maude/Makefile])' >> confiles.m4
+
+# We want a simple rebuild from sub/ to create sub/maude/Makefile
+# and maude/Makefile automatically.
+cd sub
+$MAKE
+cd ..
+test -f maude/Makefile
+test -f sub/maude/Makefile
+
+# Make sure the dependencies of aclocal.m4 or honored at least from
+# the top-level directory.
+echo 'AC_DEFUN([MORE_DEFS], [AC_SUBST([GREPME])])' > m4/moredefs.m4
+$MAKE
+grep GREPME Makefile
+grep GREPME maude/Makefile
+grep GREPME sub/Makefile
+grep GREPME sub/maude/Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdir9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdir9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdir9.test	(revision 3089)
@@ -0,0 +1,59 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test SUDBIRS with /.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([src/subdir/Makefile src/subdir2/Makefile])
+AC_OUTPUT
+END
+
+echo SUBDIRS = src/subdir >Makefile.am
+
+mkdir src
+mkdir src/subdir
+mkdir src/subdir2
+
+: >src/subdir/foo
+: >src/subdir2/foo
+
+cat >src/subdir/Makefile.am <<'EOF'
+EXTRA_DIST = foo
+SUBDIRS = ../subdir2
+EOF
+
+cat >src/subdir2/Makefile.am <<'EOF'
+EXTRA_DIST = foo
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --copy --add-missing
+./configure
+$MAKE distdir
+test -f subdir9-1.0/src/subdir/foo
+test -f subdir9-1.0/src/subdir2/foo
+$MAKE clean
+$MAKE distclean
+test ! -f src/subdir2/Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subdirbuiltsources.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subdirbuiltsources.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subdirbuiltsources.test	(revision 3089)
@@ -0,0 +1,78 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure when using SUBDIR that all BUILT_SOURCES are built.
+# A bug occurred where subdirs do not have all-recursive or
+# all-recursive-am which depended on BUILT_SOURCES.
+
+. ./defs || exit 1
+
+set -e
+
+mkdir lib
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_RANLIB
+AC_PROG_CC
+AC_OUTPUT(Makefile lib/Makefile)
+END
+
+# Files required because we are using `--gnu'.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+
+cat > Makefile.am << 'END'
+SUBDIRS = lib
+END
+
+cat > lib/Makefile.am << 'END'
+pkgdata_DATA =
+noinst_LIBRARIES = libfoo.a
+libfoo_a_SOURCES = foo.c
+BUILT_SOURCES=foo.h
+foo.h:
+	echo \#define FOO_DEFINE 1 >$@
+END
+
+cat > lib/foo.c << 'END'
+#include <foo.h>
+int foo () { return !FOO_DEFINE;}
+END
+
+
+$ACLOCAL
+
+$AUTOCONF
+
+$AUTOMAKE --include-deps --copy --force-missing --add-missing --gnu
+
+./configure
+
+# Remove the comment to get a successful test.
+# $MAKE -C lib foo.h
+$MAKE
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of subdir objects with C.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AM_PROG_CC_C_O
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = wish
+wish_SOURCES = generic/a.c generic/b.c
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing 2>stderr
+cat stderr
+# Make sure compile is installed, and that Automake says so.
+grep 'install.*compile' stderr
+test -f compile
+
+$FGREP 'generic/a.$(OBJEXT)' Makefile.in
+grep '[^/]a\.\$(OBJEXT)' Makefile.in && exit 1
+
+# Opportunistically test for a different bug.
+grep '^generic/b.\$(OBJEXT):.*dirstamp' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj2.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of subdir objects with C++.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = wish
+wish_SOURCES = generic/a.cc generic/b.cxx
+END
+
+$ACLOCAL
+$AUTOMAKE
+
+$FGREP 'generic/a.$(OBJEXT)' Makefile.in
+grep '[^/]a\.\$(OBJEXT)' Makefile.in && exit 1
+$FGREP -e '-c -o' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj3.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004  Free Software
+# Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of subdir objects with C++.
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(sub/hello.c)
+dnl Prevent automake from looking in .. and ../..
+AC_CONFIG_AUX_DIR(.)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AM_PROG_CC_C_O
+AM_C_PROTOTYPES
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = hello
+hello_SOURCES = sub/hello.c
+END
+
+mkdir sub
+cat > sub/hello.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+   printf ("yeah, yeah\n");
+   return 0;
+}
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+# We use gcc and not gcc -traditional as the latter fails on some
+# Linux boxes (Red Hat 5.1 in particular).
+$ACLOCAL \
+   && $AUTOCONF \
+   && $AUTOMAKE -a \
+   && ./configure \
+   && ANSI2KNR=./ansi2knr U=_ $MAKE -e \
+   && ./hello
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj4.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `../foo/foo.cpp' generates a rule.
+# Report from Dave Brolley.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_PROG_CXX
+AC_OUTPUT(d1/Makefile d2/Makefile)
+END
+
+mkdir d1 d2
+
+cat > Makefile.am << 'END'
+SUBDIRS = d1 d2
+END
+
+cat > d1/Makefile.am << 'END'
+bin_PROGRAMS = z
+z_SOURCES = ../d2/z.c
+END
+
+cat > d2/Makefile.am << 'END'
+END
+
+: > compile
+: > d2/z.c
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'CC.*z' d1/Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj5.test	(revision 3089)
@@ -0,0 +1,49 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of subdir make dist rules.
+# From Robert Collins
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(generic/a.c)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_OUTPUT(Makefile generic/Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = generic/a.c
+END
+
+mkdir generic
+: > generic/a.c
+: > generic/Makefile.am
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --include-deps --copy --add-missing
+./configure
+$MAKE dist
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj6.test	(revision 3089)
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of subdir make distclean rules.
+# From Robert Collins
+
+required=gcc
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = wish
+wish_SOURCES = generic/a.c
+
+test-all: all
+	test -f generic/$(am__dirstamp)
+test-mostlyclean: mostlyclean
+	test ! -f generic/a.o
+test-distclean: distclean
+	test ! -f generic/$(am__dirstamp)
+END
+
+# The ac-init file.
+: > f
+
+mkdir generic
+cat > generic/a.c << 'END'
+#include <stdio.h>
+int main ()
+{
+   printf ("maude!\n");
+   return 0;
+}
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --include-deps --copy --add-missing
+
+mkdir build
+cd build
+
+../configure
+$MAKE test-all
+$MAKE test-mostlyclean
+$MAKE test-distclean
+
+cd ..
+
+# Now test without the subdir.
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = wish
+wish_SOURCES = a.c
+END
+
+mv generic/a.c a.c
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --include-deps --copy --add-missing
+
+mkdir build2
+cd build2
+
+../configure
+$MAKE
+$MAKE mostlyclean
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj7.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure AM_CFLAGS appears in subdir compilation rule.
+# Report from Steve M. Robbins.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(f)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_PROG_CC_C_O
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = wish
+wish_SOURCES = foo.c generic/a.c
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep wish_CFLAGS Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj8.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `compile' is included when subdir-objects is used in a subdir.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(Makefile.am)
+AC_CONFIG_AUX_DIR(tools)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT(Makefile foo/Makefile)
+END
+
+mkdir tools foo foo/bar
+
+cat > Makefile.am << 'END'
+SUBDIRS = foo
+END
+
+cat > foo/Makefile.am << 'EOF'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = mumble
+mumble_SOURCES = bar/a.c
+EOF
+
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing || exit 1
+test -f tools/compile || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobj9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobj9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobj9.test	(revision 3089)
@@ -0,0 +1,79 @@
+#! /bin/sh
+# Copyright (C) 2002, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for PR 312.
+
+required='libtoolize g++'
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(x, 0, x)
+AM_INIT_AUTOMAKE([foreign subdir-objects])
+
+AC_PROG_CXX
+AM_PROG_LIBTOOL
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = src/foo.cc .//src/bar.cc  # the `.//' is meant.
+END
+
+mkdir src
+cat > src/foo.cc << 'END'
+int doit2 (void);
+int doit (void)
+{
+   return doit2();
+}
+END
+
+cat > src/bar.cc << 'END'
+int doit2 (void)
+{
+   return 23;
+}
+END
+
+set -e
+
+libtoolize --force
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+# Skip this test on configure errors (e.g., broken C++ compilers).
+./configure || exit 77
+
+# opportunistically check that --tag=CXX is used when supported
+if test -n "`./libtool --help | grep tag=TAG`"; then
+  grep 'LTCXXCOMPILE.*--tag=CXX --mode=compile' Makefile.in
+  grep 'CXXLINK.*--tag=CXX --mode=link' Makefile.in
+fi
+
+$MAKE
+$MAKE distcheck 2>&1 | tee out
+# GNU Make used to complain that the Makefile contained two rules
+# for `src/.dirstamp' and `.//src/.dirstamp'.
+grep 'overriding commands' out && exit 1
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subobjname.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subobjname.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subobjname.test	(revision 3089)
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we reuse variables whenever possible, to limit
+# combinational explosion.  (This test is named after the &subobjname
+# sub in Automake).
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AM_CONDITIONAL([FOO1], [some test])
+AM_CONDITIONAL([FOO2], [some test])
+AM_CONDITIONAL([FOO3], [some test])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = c d
+
+if FOO1
+A1=a1.c
+endif
+
+if FOO2
+A2=a2.c
+endif
+
+if FOO3
+A3=a3.c
+endif
+
+B=$(A1) $(A2) $(A3)
+
+c_SOURCES=$(B)
+d_SOURCES=$(B)
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+# Sanity check: make sure am_c_OBJECTS and am_d_OBJECTS are used
+# in the Makefile.  (This is an internal detail, so better make
+# sure we update this test if the naming changes in the future.)
+grep '^am_c_OBJECTS = ' Makefile.in
+grep '^am_d_OBJECTS = ' Makefile.in
+
+# Now the actual test.  Are both values equal?
+cobj=`sed -n '/^am_c_OBJECTS = / {
+	        s/.* = \(.*\)$/\1/
+	        p
+              }' Makefile.in`
+dobj=`sed -n '/^am_d_OBJECTS = / {
+	        s/^.* = \(.*\)$/\1/
+	        p
+              }' Makefile.in`
+test "$cobj" = "$dobj"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subpkg.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subpkg.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subpkg.test	(revision 3089)
@@ -0,0 +1,128 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check subpackage handling.
+
+required='gcc bison'
+. ./defs || exit 1
+
+set -e
+
+mkdir m4
+
+cat >m4/foo.m4 <<'EOF'
+AC_DEFUN([FOO],[
+  AC_PROG_CC
+  AC_OUTPUT
+])
+EOF
+
+cat >>configure.in <<'END'
+AC_CONFIG_SUBDIRS([lib])
+FOO
+END
+
+cat >Makefile.am <<'EOF'
+SUBDIRS = lib
+# Yes, This program is named LDADD.  So what?
+bin_PROGRAMS = LDADD
+LDADD_LDADD = lib/liblib.a
+
+# It's ok to override distdir.
+distdir = subpack-1
+
+# Make sure $(distdir) and $(top_distdir) work as expected.
+dist-hook:
+	test -f $(distdir)/LDADD.c
+	test -f $(top_distdir)/LDADD.c
+
+ACLOCAL_AMFLAGS = -I m4
+EOF
+
+cat >LDADD.c <<'EOF'
+int lib ();
+
+int
+main ()
+{
+  return lib ();
+}
+EOF
+
+mkdir lib
+mkdir lib/src
+
+cat >lib/configure.ac <<'EOF'
+AC_INIT([lib], [2.3])
+AM_INIT_AUTOMAKE
+AC_PROG_RANLIB
+AC_PROG_YACC
+AC_CONFIG_FILES([Makefile])
+FOO
+EOF
+
+cat >lib/Makefile.am <<'EOF'
+noinst_LIBRARIES = liblib.a
+liblib_a_SOURCES = src/x.c foo.y
+EXTRA_liblib_a_SOURCES = bar.y
+
+dist-hook:
+	test ! -f $(distdir)/LDADD.c
+	test -f $(top_distdir)/LDADD.c
+	test -f $(distdir)/src/x.c
+	test ! -f $(top_distdir)/src/x.c
+	test -f $(YLWRAP)
+
+ACLOCAL_AMFLAGS = -I ../m4
+EOF
+
+cat > lib/foo.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+cp lib/foo.y lib/bar.y
+
+cat >lib/src/x.c <<'EOF'
+int lib ()
+{
+  return 0;
+}
+EOF
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE -Wno-override
+
+cd lib
+$ACLOCAL -I ../m4
+$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
+$AUTOCONF
+$AUTOMAKE -Wno-override --add-missing
+cd ..
+
+./configure
+$MAKE distcheck
+test ! -d subpack-1		# make sure distcheck cleans up after itself
+test -f subpack-1.tar.gz
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subpkg2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subpkg2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subpkg2.test	(revision 3089)
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Try a DIST_SUBDIRS subpackage with no SUBDIRS.
+# Report from Gary V. Vaughan.
+
+. ./defs || exit 1
+
+set -e
+
+mkdir m4
+
+cat >m4/foo.m4 <<'EOF'
+AC_DEFUN([FOO],[
+  AC_OUTPUT
+])
+EOF
+
+cat >>configure.in <<'END'
+AC_CONFIG_SUBDIRS([sub])
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'EOF'
+DIST_SUBDIRS = sub
+dist-hook:
+	test -f $(distdir)/sub/script.in
+EOF
+
+mkdir sub
+
+cat >sub/configure.ac <<'EOF'
+AC_INIT([sub], [2.3])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([script])
+FOO
+EOF
+
+: >sub/script.in
+echo ACLOCAL_AMFLAGS = -I ../m4 > sub/Makefile.am
+
+$ACLOCAL -I m4
+$AUTOCONF
+$AUTOMAKE
+
+cd sub
+$ACLOCAL -I ../m4
+$FGREP 'm4_include([../m4/foo.m4])' aclocal.m4
+$AUTOCONF
+$AUTOMAKE -Wno-override
+cd ..
+
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subst.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subst.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subst.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that AC_SUBST($1) does something sensible.  From Ulrich
+# Drepper.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_SUBST($1)
+AC_SUBST([$]$1)  dnl this is the actual invocation that was used
+END
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+grep '^\$1' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/subst2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/subst2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/subst2.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure a multi-line definition cannot be terminated by an empty
+# line (when there are @substitutions@ inside).
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_SUBST([ABCDEFGHIJKLMNOPQRSTUVWX])
+AC_SUBST([ABCDEFGHIJKLMNOPQRSTUVWXY])
+AC_SUBST([ABCDEFGHIJKLMNOPQRSTUVWXYZ])
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'END'
+bin_PROGRAMS = @ABCDEFGHIJKLMNOPQRSTUVWX@ @ABCDEFGHIJKLMNOPQRSTUVWXY@ @ABCDEFGHIJKLMNOPQRSTUVWXYZ@
+EXTRA_PROGRAMS =
+
+EXEEXT = .bin
+
+print-programs:
+	@echo BEG: $(bin_PROGRAMS) :END
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE print-programs >foo
+cat foo
+grep 'BEG: :END' foo
+am__empty=X $MAKE -e print-programs >foo
+cat foo
+grep 'BEG: X :END' foo
+
+# Test for another bug, where EXTRA_PROGRAMS was removed because it was empty.
+grep EXTRA_PROGRAMS Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/substre2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/substre2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/substre2.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in variable substitution references, where
+# undefined variables break later substitutions.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+
+foo = foo.a foo.b $(doesnt_exist)
+bar = bar.a bar.b
+var1 = $(foo:.a=1.c) $(doesnt_exist:.b=2.c) $(bar:.a=3.c)
+var2 = $(var1:.b=4.c)
+
+bin_PROGRAMS = foo
+foo_SOURCES = $(var2)
+
+OBJEXT = obj
+echorule:
+	@echo BEG: $(foo_OBJECTS) :END
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE echorule >output
+cat output
+grep 'BEG: foo1.obj foo4.obj bar3.obj bar4.obj :END' output
Index: /trunk/essentials/sys-devel/automake-1.9/tests/substref.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/substref.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/substref.test	(revision 3089)
@@ -0,0 +1,72 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug in variable substitution references when left hand pattern is
+# null.
+# Report from Richard Boulton
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(hello.c)
+AM_INIT_AUTOMAKE(hello,0.23)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > hello.c << 'END'
+END
+
+cat > Makefile.am << 'END'
+
+var1 = dlmain
+
+var2 = $(var1:=.)
+
+helldl_SOURCES = $(var2:=c)
+
+echorule:
+	@echo $(helldl_SOURCES) $(helldl_OBJECTS)
+
+bin_PROGRAMS = helldl
+END
+
+# Ignore user CFLAGS.
+CFLAGS=
+export CFLAGS
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+CC='gcc' ./configure
+
+val=`$MAKE -s echorule`;
+echo $val
+test "x$val" = "xdlmain.c dlmain.o"
+
+# This is unrelated to the rest of this test.  But while we are
+# at it, make sure we don't use am__helldl_SOURCES_DIST here, since
+# it's not needed.  DIST_SOURCES should contains $(helldl_SOURCES).
+grep am__helldl_SOURCES_DIST Makefile && exit 1
+grep 'DIST_SOURCES.*\(helldl_SOURCES\)' Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/substtarg.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/substtarg.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/substtarg.test	(revision 3089)
@@ -0,0 +1,54 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test that substitutions in variables work.
+# From Lars J. Aas.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT(fakelib.c)
+AM_INIT_AUTOMAKE(fakelib,0.0)
+AC_PROG_CC
+RANLIB=:
+AC_SUBST(RANLIB)
+SUBST=hei
+AC_SUBST(SUBST)
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+noinst_LIBRARIES = libfake@SUBST@.a
+
+libfake@SUBST@_a_SOURCES = abra.c kadabra.c
+
+# then we override the target rule:
+libfake@SUBST@.a: Makefile $(libfake@SUBST@_a_OBJECTS) $(libfake@SUBST@_a_DEPENDENCIES)
+	@echo here we do some custom stuff, instead of invoking the linker
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'overrid.*libfake@SUBST@.a' stderr
+$AUTOMAKE -Wno-override
+num=`grep '^libfake@SUBST@.a:' Makefile.in | wc -l`
+test $num -eq 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure a suffix rule for C compilation is produced.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+noinst_PROGRAMS = foo
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE -i || exit 1
+
+grep '^\.c\.o' Makefile.in > /dev/null || exit 1
+
+$AUTOMAKE || exit 1
+grep '^\.c\.o' Makefile.in > /dev/null || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix10.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that derivations work with .lo too.
+# (related to PR/37)
+
+required='libtoolize bison'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AC_PROG_YACC
+AC_PROG_LIBTOOL
+AC_OUTPUT
+EOF
+
+
+cat >Makefile.am << 'END'
+lib_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = foo.x_
+
+.x_.y:
+	cp $< $@
+
+print:
+	echo BEGIN: $(libfoo_la_OBJECTS) :END
+END
+
+libtoolize --force
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure
+$MAKE print >stdout
+cat stdout
+grep 'BEGIN: foo.lo :END' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix11.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix11.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix11.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Tests that Automake understand multiple suffix rules on the same line.
+# PR/371 and PR/372: Reported by Duncan Gibson.
+# We also check for suffixes containing `-'.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AC_OUTPUT
+EOF
+
+cat >Makefile.am << 'END'
+bin_PROGRAMS = foo bar baz
+foo_SOURCES = foo.x_
+bar_SOURCES = bar.y-z
+baz_SOURCES = baz1.x_ baz2.y-z
+.y-z.c .x_.c:
+	cp $< $@
+  .z_.c   .w_.x_ :
+	cp $< $@
+
+
+print:
+	@echo BEGIN: $(foo_OBJECTS) :END
+	@echo BEGIN: $(bar_OBJECTS) :END
+	@echo BEGIN: $(baz_OBJECTS) :END
+END
+
+$ACLOCAL
+$AUTOCONF
+# What we do is not portable.  Automake should warn.
+AUTOMAKE_fails -a
+grep 'Inference rules can have only one target before the colon' stderr
+# But this should work anyway.
+$AUTOMAKE -a -Wno-portability
+./configure
+env OBJEXT=foo $MAKE -e print >stdout
+cat stdout
+grep 'BEGIN: foo.foo :END' stdout
+grep 'BEGIN: bar.foo :END' stdout
+grep 'BEGIN: baz1.foo baz2.foo :END' stdout
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix2.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure .c.o rule is only included once.
+required=libtoolize
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_LIBTOOL
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = no-dependencies
+lib_LTLIBRARIES = libltdl.la
+libltdl_la_SOURCES = ltdl.c ltdl.h
+END
+
+: > ltdl.c
+: > ltdl.h
+
+# Create all the files created libtoolize so we don't run libtoolize.
+# We don't want the user to need libtool to run this test.
+: > ltconfig
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+set -e
+
+$ACLOCAL || exit 1
+$AUTOMAKE -a
+
+grep -c '^\.c\.o:' Makefile.in   | grep '^1$'
+grep -c '^\.c\.obj:' Makefile.in | grep '^1$'
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix3.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that suffix rules chain.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+END
+
+cat > Makefile.am << 'END'
+SUFFIXES = .zoo
+.zoo.cc:
+	convert-zoo whatever
+bin_PROGRAMS = foo
+foo_SOURCES = foo.zoo
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# The foo.cc intermediate step is implicit, it's a mistake if
+# Automake requires this file somewhere.
+$FGREP foo.cc Makefile.in && exit 1
+# However Automake must figure that foo.zoo is eventually
+# transformed into foo.o, and use this latter file (to link foo).
+$FGREP 'foo.$(OBJEXT)' Makefile.in || exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix4.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure Automake doesn't abort on user-defined extensions.
+# Based on a report from Dmitry Mikhin <dmitrym@acres.com.au>.
+
+# Also make sure that .SUFFIXES is automatically adjusted with
+# extensions from implicit rules.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+.k.o:
+	echo $< > $@
+
+bin_PROGRAMS = foo
+foo_SOURCES = foo.k
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+grep '.SUFFIXES:.*\.k' Makefile.in || exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix5.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+required=libtool
+
+# Test to make sure Automake include libtool objects resulting
+# from user-defined implicit rules.
+# Based on a report from Arkadiusz Miskiewicz <misiek@pld.ORG.PL>.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_LIBTOOL
+END
+
+cat > Makefile.am << 'END'
+.k.lo:
+	echo $< > $@
+
+noinst_LTLIBRARIES = libfoo.la
+libfoo_la_SOURCES = foo.k
+END
+
+: > ltmain.sh
+: > config.guess
+: > config.sub
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+grep '_OBJECTS.*foo.lo' Makefile.in || exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix6.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure Automake supports implicit rules with dot-less
+# extensions.  Also make sure that `.o' is handled like `.$(OBJEXT)'.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+SUFFIXES = a b .$(OBJEXT) c .o
+bin_PROGRAMS = foo
+foo_SOURCES = fooa fuc
+ab:
+        cp $< $@
+b.$(OBJEXT):
+	cp $< $@
+c.o:
+	cp $< $@
+END
+
+: > fooa
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# Automake must figure that fooa translates to foo.$(OBJEXT) and
+# foo.$(OBJEXT) using the following rules:
+#  fooa --[ab]--> foob --[b.$(OBJEXT)]--> foo.$(OBJEXT)
+grep '_OBJECTS.* foo\.$(OBJEXT)' Makefile.in || exit 1
+#  fuc --[c.o]--> fu.$(OBJEXT)  ## This is really meant !
+grep '_OBJECTS.* fu\.$(OBJEXT)' Makefile.in || exit 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix7.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure Automake supports implicit rules "confusing"
+# extensions.  Inspired by a mail from Alex Hornby. 
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+SUFFIXES = .idl S.cpp C.h
+SUFFIXES += C.cpp S.h
+.idlC.cpp:
+	cp $< $@
+END
+
+: > fooa
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+# Make sure Automake has NOT recognized .cpp and .idlC as two new
+# extensions.
+grep 'SUFFIXES.* \.cpp' Makefile.in && exit 1
+grep 'SUFFIXES.* \.idlC' Makefile.in && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix8.test	(revision 3089)
@@ -0,0 +1,80 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure Automake supports multiple derivations for the same suffix.
+# PR/37
+
+required='gcc libtoolize'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AM_PROG_LIBTOOL
+AC_OUTPUT
+END
+
+cat >Makefile.am << 'END'
+bin_PROGRAMS = foo
+lib_LTLIBRARIES = libfoo.la
+
+foo_SOURCES = foo.x_
+libfoo_la_SOURCES = bar.x_
+
+.x_.y_:
+	cp $< $@
+
+.y_.o:
+	cp $< $@
+
+.y_.z_:
+	cp $< $@
+
+.z_.lo:
+	cp $< $@
+
+# Add explicit dependencies to help make implementations that
+# don't otherwise chain implicit rules (e.g., Sun make).
+foo.$(OBJEXT): foo.y_
+bar.lo: bar.z_
+bar.z_: bar.y_
+
+print:
+	@echo BEGIN: $(foo_OBJECTS) :END
+	@echo BEGIN: $(libfoo_la_OBJECTS) :END
+
+test: $(foo_OBJECTS) $(libfoo_la_OBJECTS)
+	test -f foo.$(OBJEXT)
+	test -f bar.lo
+END
+
+echo 'int main() { return 0; }' > foo.x_
+cp foo.x_ bar.x_
+
+libtoolize
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+env OBJEXT=foo $MAKE -e print >stdout
+cat stdout
+grep 'BEGIN: foo.foo :END' stdout
+grep 'BEGIN: bar.lo :END' stdout
+$MAKE test
Index: /trunk/essentials/sys-devel/automake-1.9/tests/suffix9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/suffix9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/suffix9.test	(revision 3089)
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Automake choose the shorter route between suffixes
+# (related to PR/37)
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_PROG_CC >>configure.in
+
+#  x_ -> y -> c -> o
+#   \________/
+#
+# Automake should follow the bottom route: x_ -> c -> o because
+# it is shorter.
+#
+# It should not take the "-> y ->" route.  We use `y' here so that
+# then Automake will complains that YACC is not defined and the test will
+# fail when this happens.
+
+cat >Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = foo.x_
+
+.x_.y:
+	cp $< $@
+.x_.c:
+	cp $< $@
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+# Idem with the rules the another order.
+
+cat >Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = foo.x_
+
+.x_.c:
+	cp $< $@
+.x_.y:
+	cp $< $@
+END
+
+$AUTOMAKE -a
Index: /trunk/essentials/sys-devel/automake-1.9/tests/symlink.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/symlink.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/symlink.test	(revision 3089)
@@ -0,0 +1,42 @@
+#! /bin/sh
+# Copyright (C) 1996, 1999, 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we get an error if symlink creation fails.
+# Reported by Joerg-Martin Schwarz
+
+. ./defs || exit 1
+
+set -e
+
+rm -f install-sh
+rm -f mkinstalldirs
+
+: > Makefile.am
+
+cat > configure.in << 'END'
+AC_INIT([symlink], [1.0])
+AC_CONFIG_AUX_DIR(sub)
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+END
+
+$ACLOCAL
+AUTOMAKE_fails --add-missing
+grep 'error while making link' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/symlink2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/symlink2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/symlink2.test	(revision 3089)
@@ -0,0 +1,32 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that `automake -a' redirects dangling symlinks.
+
+. ./defs || exit 1
+
+rm -f install-sh
+rm -f mkinstalldirs
+ln -s Zardoz mkinstalldirs
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing
Index: /trunk/essentials/sys-devel/automake-1.9/tests/symlink3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/symlink3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/symlink3.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that `automake --force-missing' works.
+
+. ./defs || exit 1
+
+rm -f install-sh
+rm -f mkinstalldirs
+
+echo zot > zot
+echo zot > mkinstalldirs
+
+: > Makefile.am
+
+$ACLOCAL || exit 1
+$AUTOMAKE --add-missing --force-missing || exit 1
+
+grep zot mkinstalldirs && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/syntax.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/syntax.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/syntax.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for error for bad syntax.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+foo = q \
+
+lib_LTLIBRARIES = foo.la
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:2:.*blank line' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/tags.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/tags.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/tags.test	(revision 3089)
@@ -0,0 +1,35 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Harlan Stenn: the tags target doesn't work
+# when there are only headers in a directory.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+noinst_HEADERS = iguana.h
+END
+
+: > iguana.h
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^ID:' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/tagsub.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/tagsub.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/tagsub.test	(revision 3089)
@@ -0,0 +1,53 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003
+#   Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure tags and subdirs work correctly.  Bug report by
+# François Pinard, and later by Akim Demaille.
+
+required=etags
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+echo 'SUBDIRS = sub' > Makefile.am
+mkdir sub
+echo 'noinst_HEADERS = iguana.h' > sub/Makefile.am
+: > sub/iguana.h
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE tags
+test -f sub/TAGS
+test -f TAGS
+$FGREP sub/TAGS TAGS
+$FGREP iguana.h sub/TAGS
+
+$MAKE distclean
+test ! -f sub/TAGS
+test ! -f TAGS
Index: /trunk/essentials/sys-devel/automake-1.9/tests/tar.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/tar.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/tar.test	(revision 3089)
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check the tar-ustar option.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([tar], [1.0])
+AM_INIT_AUTOMAKE([tar-ustar])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE distcheck
+test -f tar-1.0.tar.gz
Index: /trunk/essentials/sys-devel/automake-1.9/tests/tar2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/tar2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/tar2.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check the tar-pax option.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([tar2], [1.0])
+AM_INIT_AUTOMAKE([tar-pax])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+
+grep 'am__tar.*false' Makefile && exit 77
+
+$MAKE distcheck
+test -f tar2-1.0.tar.gz
Index: /trunk/essentials/sys-devel/automake-1.9/tests/tar3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/tar3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/tar3.test	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check the tar options diagnostics.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([tar2], [1.0])
+AM_INIT_AUTOMAKE([tar-pax tar-v7])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'configure.in:2:.*mutually exclusive' stderr
+
+rm -rf autom4te.cache
+
+cat > configure.in << 'END'
+AC_INIT([tar2], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+echo 'AUTOMAKE_OPTIONS = tar-pax' > Makefile.am
+
+AUTOMAKE_fails
+grep 'Makefile.am:1:.*tar-pax.*AM_INIT_AUTOMAKE' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/target-cflags.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/target-cflags.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/target-cflags.test	(revision 3089)
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2000, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure target specific CFLAGS work
+# Assar Westerlund <assar@sics.se>
+
+required=gcc
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(foo.c)
+AM_INIT_AUTOMAKE(target-cflags,0.0)
+AC_PROG_CC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = foreign no-dependencies
+
+bin_PROGRAMS = foo bar
+foo_CFLAGS   = -DFOO
+END
+
+cat > foo.c << 'END'
+#include <stdio.h>
+#ifdef FOO
+int main(void) {
+  return 0;
+}
+#endif
+END
+
+cat > bar.c << 'END'
+#ifndef FOO
+int main(void)
+{
+  return 0;
+}
+#endif
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+mkdir build
+
+cd build
+../configure
+$MAKE
+./foo
+./bar
+cd ..
+
+./configure
+$MAKE
+./foo
+./bar
Index: /trunk/essentials/sys-devel/automake-1.9/tests/targetclash.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/targetclash.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/targetclash.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that target clashes are diagnosed.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = ctags
+END
+
+$ACLOCAL
+$AUTOCONF
+AUTOMAKE_fails -a
+grep 'redefinition.*ctags' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/transform.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/transform.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/transform.test	(revision 3089)
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that --program-transform works.
+
+required=gcc
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<'END'
+AC_PROG_CC
+AC_OUTPUT
+END
+
+cat >Makefile.am <<'EOF'
+bin_PROGRAMS = h
+bin_SCRIPTS = h.sh
+man_MANS = h.1
+
+test-install: install
+	test -f inst/bin/gnu-h$(EXEEXT)
+	test -f inst/bin/gnu-h.sh
+	test -f inst/man/man1/gnu-h.1
+EOF
+
+cat >h.c <<'EOF'
+int
+main ()
+{
+  return 0;
+}
+EOF
+
+: > h.sh
+: > h.1
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure --program-prefix=gnu- --prefix `pwd`/inst --mandir `pwd`/inst/man
+$MAKE
+$MAKE test-install
+$MAKE uninstall
+test `find inst/foo -type f -print | wc -l` = 0
+
+# Opportunistically test for installdirs.
+rm -rf inst
+$MAKE installdirs
+test -d inst/bin
+test -d inst/man/man1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo.test	(revision 3089)
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to ensure texinfo.tex included in distribution.  Bug report by
+# Jim Meyering.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+magic:
+	@echo $(DISTFILES)
+END
+
+echo '@setfilename textutils.info' > textutils.texi
+: > texinfo.tex
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
+$MAKE -s -f Makefile.sed SHELL=$SHELL magic | grep 'texinfo\.tex'
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo10.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo10.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo10.test	(revision 3089)
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure dvi target recurses into subdir.
+# Reported by Pavel Roskin
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+END
+
+mkdir sub
+cat > sub/Makefile.am << 'END'
+info_TEXINFOS = maude.texi
+END
+
+echo '@setfilename maude.info' > sub/maude.texi
+: > sub/texinfo.tex
+
+$ACLOCAL
+$AUTOMAKE
+
+grep dvi-recursive Makefile.in
+grep '[^-]info-recursive' Makefile.in
+grep '[^n]install-info-recursive' Makefile.in
+grep uninstall-info-recursive Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo13.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo13.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo13.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for subdir Texinfo.
+# PR/343
+
+required='makeinfo tex texi2dvi-o'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = subdir/main.texi
+subdir_main_TEXINFOS = subdir/inc.texi
+
+installcheck-local:
+	test -f $(infodir)/main.info
+END
+
+mkdir subdir
+
+cat > subdir/main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@include inc.texi
+@bye
+END
+
+cat > subdir/inc.texi << 'END'
+I'm included.
+END
+
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE distcheck
+test -f ../subdir/main.info
+test ! -f subdir/main.info
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo16.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo16.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo16.test	(revision 3089)
@@ -0,0 +1,92 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that info files are not built in $(srcdir).
+
+required='makeinfo tex'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+test -f ../main.info
+test ! -f main.info
+test -f ../stamp-vti
+test ! -f stamp-vti
+test -f ../version.texi
+test ! -f version.texi
+
+cd ..
+rm -rf build make.info* stamp-vti version.texi
+./configure
+$MAKE
+test -f main.info
+
+# Make sure stamp-vti is older that version.texi.
+# (A common situation in a real tree.)
+# This is needed to test the "subtle" issue described below.
+test -f stamp-vti
+test -f version.texi
+$sleep
+touch stamp-vti
+
+$MAKE distclean
+test -f stamp-vti
+test -f version.texi
+
+mkdir build
+cd build
+../configure
+$MAKE
+# main.info should not be rebuilt in the current directory, since
+# it's up-to-date in $(srcdir).
+# This can be caused by a subtle issue related to VPATH handling
+# of version.texi (see also the comment in texi-vers.am): because
+# stamp-vti is newer than version.texi, the `version.texi: stamp-vti'
+# rule is always triggered.  Still that's not a reason for `make'
+# to think `version.texi' has been created...
+test ! -f main.info
+$MAKE dvi
+test -f main.dvi
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo17.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo17.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo17.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Automake uses the _first_ @setfilname it sees.
+# Report from Karl Berry.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = texinfo.texi
+END
+
+cat > texinfo.texi << 'END'
+@setfilename texinfo
+...
+@verbatim
+@setfilename example.info
+@end verbatim
+...
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+
+grep 'example' Makefile.in && exit 1
+grep 'texinfo:' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo18.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo18.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo18.test	(revision 3089)
@@ -0,0 +1,69 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we clean index files, even if they are not used at the top-level.
+# Only *new* indexes need to be declared at the top-level.
+# PR/375.
+
+required='makeinfo tex'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi
+main_TEXINFOS = sub.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@defindex au
+@defindex sa
+@defindex sb
+@synindex sa sb
+@node Top
+Hello walls.
+@include sub.texi
+@bye
+END
+
+cat > sub.texi << 'END'
+@cindex foo
+foo
+@pindex bar
+bar
+@auindex baz
+baz
+@saindex sa
+sa
+@sbindex sb
+sb
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo19.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo19.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo19.test	(revision 3089)
@@ -0,0 +1,76 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test support for DJGPP's .iNN info files.
+
+required='makeinfo tex'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@bye
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure --infodir=`pwd`/_inst
+$MAKE
+
+# Make sure .iNN files are installed.
+: > main.i1
+: > main.i21
+$MAKE install
+test -f _inst/main.i1
+test -f _inst/main.i21
+
+# They should be uninstalled too.
+$MAKE uninstall
+test ! -f _inst/main.i1
+test ! -f _inst/main.i21
+
+# Make sure rebuild rules erase old .iNN files when they run makeinfo.
+$sleep
+touch main.texi
+test -f main.i1
+test -f main.i21
+$MAKE
+test ! -f main.i1
+test ! -f main.i21
+
+# Finally, we also want them erased by maintainer-clean.
+: > main.i7
+: > main.i39
+$MAKE maintainer-clean
+test ! -f main.i7
+test ! -f main.i39
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo2.test	(revision 3089)
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to ensure that a ".info~" file doesn't end up in the
+# distribution.  Bug report from Greg McGary.
+
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+magic:
+	@echo $(DISTFILES)
+END
+
+: > texinfo.tex
+echo '@setfilename textutils.info' > textutils.texi
+: > textutils.info~
+
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE magic >stdout
+cat stdout
+grep '~' stdout && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo20.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo20.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo20.test	(revision 3089)
@@ -0,0 +1,82 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure info files survive makeinfo errors.
+
+required=makeinfo
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi sub/main.texi
+END
+
+mkdir sub
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main
+@settitle main
+@node Top
+Hello walls.
+@bye
+END
+
+cp main.texi sub/main.texi
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+$MAKE
+
+# Feign more info files.
+: > main-1
+: > sub/main-1
+
+# Break main.texi
+$sleep
+cp main.texi main.old
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main
+@settitle main
+@node Top
+@unknown_macro{Hello walls.}
+@bye
+END
+
+# makeinfo will bail out, but we should conserve the old info files.
+$MAKE && exit 1
+test -f main
+test -f main-1
+
+# Restore main.texi, and break sub/main.texi
+cp main.texi sub/main.texi
+mv main.old main.texi
+$MAKE && exit 1
+test -f main
+test ! -f main-1
+test -f sub/main
+test -f sub/main-1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo21.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo21.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo21.test	(revision 3089)
@@ -0,0 +1,107 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test support for building HTML documentation.
+
+required='makeinfo-html tex'
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_CONFIG_FILES([rec/Makefile])
+AC_OUTPUT
+EOF
+
+cat > Makefile.am << 'END'
+SUBDIRS = rec
+info_TEXINFOS = main.texi sub/main.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@bye
+END
+
+mkdir sub
+mkdir rec
+cp main.texi sub/main.texi
+cp main.texi rec/main.texi
+
+cat > rec/Makefile.am << 'END'
+info_TEXINFOS = main.texi
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+
+$MAKE
+
+$sleep
+# Test production of split-per-node HTML.
+$MAKE html
+test -d main.html
+test -d sub/main.html
+test -d rec/main.html
+
+# Rebuilding main.html should cause its timestamp to be updated.
+test `ls -1td main.texi main.html | sed 1q` = main.html
+$sleep
+touch main.texi
+$MAKE html
+test `ls -1td main.texi main.html | sed 1q` = main.html
+
+$MAKE clean
+test ! -d main.html
+test ! -d sub/main.html
+test ! -d rec/main.html
+
+# Test production of a single HTML file.
+MAKEINFOFLAGS=--no-split $MAKE -e html
+test -f main.html
+test -f sub/main.html
+test -f rec/main.html
+$MAKE clean
+test ! -f main.html
+test ! -f sub/main.html
+test ! -f rec/main.html
+
+# Make sure AM_MAKEINFOHTMLFLAGS is supported, and override AM_MAKEINFO.
+cat >>Makefile.am <<\EOF
+AM_MAKEINFOHTMLFLAGS=--no-split
+AM_MAKEINFOFLAGS=--unsupported-option
+EOF
+$AUTOMAKE
+./configure
+$MAKE html
+test -f main.html
+test -f sub/main.html
+test -d rec/main.html
+$MAKE clean
+test ! -f main.html
+test ! -f sub/main.html
+test ! -d rec/main.html
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo22.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo22.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo22.test	(revision 3089)
@@ -0,0 +1,73 @@
+#! /bin/sh
+# Copyright (C) 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure the user can override TEXINFO_TEX.
+# Report from Tom Tromey.
+# Also make sure Automake ignores in-line comments when using variables,
+# but preserve them in the output.
+
+required='makeinfo tex'
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([txinfo22], [1.0])
+AC_CONFIG_AUX_DIR([aux1])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+# Use a slash in the comment, because automake takes the dirname
+# of TEXINFO_TEX to compute $(am__TEXINFO_TEX_DIR)...
+cat > Makefile.am << 'END'
+TEXINFO_TEX = $(srcdir)/tex/texinfo.tex    # some comment w/ a slash
+info_TEXINFOS = main.texi
+sure_it_exists:
+	test -f $(TEXINFO_TEX)
+	test -d "$(am__TEXINFO_TEX_DIR)"
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@bye
+END
+
+mkdir aux1
+mkdir tex
+cp $testsrcdir/../lib/texinfo.tex tex
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+test ! -f texinfo.tex
+test ! -f aux1/texinfo.tex
+test -f tex/texinfo.tex
+
+./configure
+$MAKE sure_it_exists
+$MAKE distcheck
+grep 'TEXINFO_TEX = .* # some comment w/ a slash' Makefile
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo23.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo23.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo23.test	(revision 3089)
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check for subdir Texinfo in $(srcdir).
+# (Similar to txinfo13.test, plus DISTCLEANFILES.)
+
+required='makeinfo tex texi2dvi-o'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+DISTCLEANFILES = subdir/*.info*
+info_TEXINFOS = subdir/main.texi
+subdir_main_TEXINFOS = subdir/inc.texi
+
+installcheck-local:
+	test -f $(infodir)/main.info
+END
+
+mkdir subdir
+
+cat > subdir/main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@include inc.texi
+@bye
+END
+
+cat > subdir/inc.texi << 'END'
+I'm included.
+END
+
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE distcheck
+test -f subdir/main.info
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo24.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo24.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo24.test	(revision 3089)
@@ -0,0 +1,83 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that info files are built in builddir when needed.
+# (Similar to txinfo16.test, plus CLEANFILES.)
+
+required='makeinfo tex texi2dvi-o'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+CLEANFILES = main.info
+info_TEXINFOS = main.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+test -f main.info
+
+cd ..
+rm -rf build
+./configure
+$MAKE
+test -f main.info
+
+# Make sure stamp-vti is older that version.texi.
+# (A common situation in a real tree.)
+test -f stamp-vti
+test -f version.texi
+$sleep
+touch stamp-vti
+
+$MAKE distclean
+test -f stamp-vti
+test -f version.texi
+
+mkdir build
+cd build
+../configure
+$MAKE
+# main.info should be rebuilt in the current directory
+test -f main.info
+test ! -f ../main.info
+$MAKE dvi
+test -f main.dvi
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo25.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo25.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo25.test	(revision 3089)
@@ -0,0 +1,110 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Similar to texinfo24.test, but with two info files, only one of
+# which being cleaned.
+
+required='makeinfo tex texi2dvi-o'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+CLEANFILES = [a-m]*.info
+info_TEXINFOS = main.texi other.texi
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+cat > other.texi << 'END'
+\input texinfo
+@setfilename other.info
+@settitle other
+@node Top
+Hello walls.
+@include version2.texi
+@bye
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+test -f main.info
+test ! -f ../main.info
+test ! -f other.info
+test -f ../other.info
+
+cd ..
+rm -rf build
+./configure
+$MAKE
+test -f main.info
+test -f other.info
+
+# Make sure stamp-vti is older that version.texi.
+# (A common situation in a real tree.)
+# This is needed to test the "subtle" issue described below.
+test -f stamp-vti
+test -f version.texi
+test -f stamp-1
+test -f version2.texi
+$sleep
+touch stamp-vti
+touch stamp-1
+
+$MAKE distclean
+test -f stamp-vti
+test -f stamp-1
+test -f version.texi
+test -f version2.texi
+
+mkdir build
+cd build
+../configure
+$MAKE
+# other.info should not be rebuilt in the current directory, since
+# it's up-to-date in $(srcdir).
+# This can be caused by a subtle issue related to VPATH handling
+# of version.texi (see also the comment in texi-vers.am): because
+# stamp-vti is newer than version.texi, the `version.texi: stamp-vti'
+# rule is always triggered.  Still that's not a reason for `make'
+# to think `version.texi' has been created...
+test -f main.info
+test ! -f other.info
+$MAKE dvi
+test -f main.dvi
+test -f other.dvi
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo26.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo26.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo26.test	(revision 3089)
@@ -0,0 +1,64 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure Texinfo installation works when absolute --srcdir is used.
+# PR/408
+
+required='makeinfo'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi
+END
+
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure
+$MAKE
+$MAKE distclean
+mkdir build
+cd build
+../configure --srcdir=`pwd`/.. --prefix=`pwd`/_inst --infodir=`pwd`/_inst/info
+$MAKE install
+test -f ../main.info
+test ! -f ./main.info
+test -f _inst/info/main.info
+
+$MAKE uninstall
+test ! -f _inst/info/main.info
+test -f ../main.info
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo27.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo27.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo27.test	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure install-info works even if no-installinfo is given.
+
+required='makeinfo'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = main.texi
+AUTOMAKE_OPTIONS = no-installinfo
+END
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+./configure --prefix=`pwd`/inst --infodir=`pwd`/inst/info
+$MAKE install-info
+test -f inst/info/main.info
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo28.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo28.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo28.test	(revision 3089)
@@ -0,0 +1,94 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that info files are built in builddir when needed.
+# Similar to txinfo24.test, but obfuscating filenames with variable references.
+# Report from Ralf Corsepius.
+
+required='makeinfo tex texi2dvi-o'
+. ./defs || exit 1
+
+set -e
+
+# This setting, when honored by GNU ls, used to cause an infinite loop
+# in mdate-sh.
+TIME_STYLE="+%Y-%m-%d %H:%M:%S"
+export TIME_STYLE
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+MA = ma
+IN = in
+PROJ = $(MA)$(IN)
+include fragment.mk
+info_TEXINFOS = ma$(IN).texi
+END
+
+echo 'CLEANFILES = $(PROJ).info' > fragment.mk
+
+cat > main.texi << 'END'
+\input texinfo
+@setfilename main.info
+@settitle main
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+mkdir build
+cd build
+../configure
+$MAKE
+test -f main.info
+
+cd ..
+rm -rf build
+./configure
+$MAKE
+test -f main.info
+
+# Make sure stamp-vti is older that version.texi.
+# (A common situation in a real tree.)
+test -f stamp-vti
+test -f version.texi
+$sleep
+touch stamp-vti
+
+$MAKE distclean
+test -f stamp-vti
+test -f version.texi
+
+mkdir build
+cd build
+../configure
+$MAKE
+# main.info should be rebuilt in the current directory
+test -f main.info
+test ! -f ../main.info
+$MAKE dvi
+test -f main.dvi
+
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo29.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo29.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo29.test	(revision 3089)
@@ -0,0 +1,65 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that INFO_DEPS can be overridden.
+# Report from Bruce Korb.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+INFO_DEPS = foo.info
+info_TEXINFOS = bar.texi
+END
+
+echo '@setfilename baz.info' > bar.texi
+
+$ACLOCAL
+AUTOMAKE_fails --add-missing
+grep '^Makefile.am:1:.*user variable.*INFO_DEPS' stderr
+grep 'overrides Automake variable.*INFO_DEPS' stderr
+
+$AUTOMAKE -Wno-override
+
+# There is only one definition of INFO_DEPS
+test 1 = `grep '^INFO_DEPS.*=' Makefile.in | wc -l`
+# and it is the right one.
+grep '^INFO_DEPS = foo.info$' Makefile.in
+
+
+# Likewise with AC_SUBST.
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = bar.texi
+END
+echo 'AC_SUBST([INFO_DEPS])' >>configure.in
+rm -rf autom4te.cache # Make sure autoconf sees the configure.in update.
+AUTOMAKE_fails
+
+grep '^configure.in:4:.*user variable.*INFO_DEPS' stderr
+grep 'overrides Automake variable.*INFO_DEPS' stderr
+
+$AUTOMAKE -Wno-override
+
+# There is only one definition of INFO_DEPS
+test 1 = `grep '^INFO_DEPS.*=' Makefile.in | wc -l`
+# and it is the right one.
+grep '^INFO_DEPS = @INFO_DEPS@$' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo3.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure .info-less @setfilename works.
+
+required='makeinfo tex'
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT >> configure.in
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+cat > textutils.texi <<EOF
+\input texinfo
+@setfilename textutils
+@settitle main
+@node Top
+Hello walls.
+@bye
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+grep '^INFO_DEPS.*textutils$' Makefile.in
+
+# We should not use single suffix inference rules (with separate
+# dependencies), this confuses Solaris make.
+grep '^.texi:$' Makefile.in && exit 1
+grep 'textutils: textutils.texi' Makefile.in
+
+./configure
+$MAKE distcheck
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo30.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo30.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo30.test	(revision 3089)
@@ -0,0 +1,63 @@
+#! /bin/sh
+# Copyright (C) 2005  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure `missing texinfo' does not create empty files.
+# Report from Bob Proulx.
+
+. ./defs || exit 1
+
+set -e
+
+echo info_TEXINFOS = bar.texi >Makefile.am
+echo grepme >bar.info
+$sleep
+cat >bar.texi <<EOF
+@setfilename bar.info
+EOF
+
+echo AC_OUTPUT >>configure.in
+
+cat >makeinfo <<\EOF
+#!/bin/sh
+# This script
+# 1. fails so `missing' can take over
+# 2. does not understand `--version' so `missing' thinks `makeinfo' isn't
+#    installed
+exec false
+EOF
+
+chmod +x makeinfo
+
+PATH=`pwd`:$PATH
+export PATH
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+
+./configure
+$MAKE
+grep grepme bar.info
+test -f bar.info
+
+# We should not create a missing bar.info.
+rm -f bar.info
+$MAKE && exit 1
+test ! -f bar.info
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo4.test	(revision 3089)
@@ -0,0 +1,36 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure non-empty, non-info suffixes are diagnosed.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+echo '@setfilename textutils.frob' > textutils.texi
+: > texinfo.tex
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'textutils.texi:1:.*textutils.frob.*extension' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo5.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure that texinfo.tex is not required by --cygnus.
+# Report from Ian Taylor.
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AM_MAINTAINER_MODE
+AC_EXEEXT
+END
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = ian.texi
+END
+
+echo '@setfilename ian.info' > ian.texi
+
+$ACLOCAL || exit 1
+$AUTOMAKE --cygnus
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo6.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure `.txi' extension works.
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = foo.txi
+END
+
+echo '@setfilename foo.info' > foo.txi
+: > texinfo.tex
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP '.txi.info' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo7.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure texinfo.tex correctly installed by -a.  Bug report
+# by Per Cederqvist.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+magic:
+	@echo $(DISTFILES)
+END
+
+echo '@setfilename textutils.info' > textutils.texi
+
+$ACLOCAL || exit 1
+$AUTOMAKE -a || exit 1
+
+test -f texinfo.tex
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo8.test	(revision 3089)
@@ -0,0 +1,56 @@
+#! /bin/sh
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004  Free Software
+# Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure texinfo.tex is correctly installed and disted by
+# -a when we're using AC_CONFIG_AUX_DIR.  Bug report by by Per
+# Cederqvist.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AC_CONFIG_AUX_DIR(sub)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_OUTPUT(Makefile sub/Makefile)
+END
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+echo '@setfilename textutils.info' > textutils.texi
+
+test -d sub || mkdir sub
+
+cat > sub/Makefile.am << 'END'
+magic:
+	@echo $(DISTFILES)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE -a || exit 1
+
+$FGREP -v @SET_MAKE@ sub/Makefile.in > sub/Makefile.sed
+test -f sub/texinfo.tex &&
+$MAKE -s -f sub/Makefile.sed SHELL=$SHELL magic | grep 'texinfo\.tex'
+stat=$?
+
+exit $stat
Index: /trunk/essentials/sys-devel/automake-1.9/tests/txinfo9.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/txinfo9.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/txinfo9.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure we only create dist-info target once.
+# This is just an example -- basically for many targets in texinfos.am
+# we only want them to appear once.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = maude.texi liver.txi heart.texinfo
+END
+
+echo '@setfilename maude.info' > maude.texi
+echo '@setfilename liver.info' > liver.txi
+echo '@setfilename heart.info' > heart.texinfo
+: > texinfo.tex
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+test `grep '^dist-info:' Makefile.in | wc -l` -eq 1
Index: /trunk/essentials/sys-devel/automake-1.9/tests/unused.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/unused.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/unused.test	(revision 3089)
@@ -0,0 +1,37 @@
+#! /bin/sh
+# Copyright (C) 1998, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for failing check for unused macros.  From Johan Danielsson.
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+MACRO_1
+MACRO_1_2
+MACRO_1_2_3
+END
+
+cat > acinclude.m4 << 'END'
+AC_DEFUN([MACRO_1], echo 1)
+AC_DEFUN([MACRO_1_2], echo 12)
+AC_DEFUN([MACRO_1_2_3], echo 123)
+END
+
+$ACLOCAL 2> output || exit 1
+test -z "`cat output`"
Index: /trunk/essentials/sys-devel/automake-1.9/tests/vars.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/vars.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/vars.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test various variable definitions that include an '=' sign
+# From Raja R Harinath
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+MY_FLAGS_1=-DABC=345
+MY_FLAGS_2= -DABC=345
+MY_FLAGS_3 =-DABC=345
+MY_FLAGS_4 = -DABC=345
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/vars3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/vars3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/vars3.test	(revision 3089)
@@ -0,0 +1,87 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Check that Automake warns about variables containing spaces
+# and other non-POSIX characters.
+
+. ./defs || exit 1
+
+set -e
+
+cat >Makefile.am <<'EOF'
+L01 = $(shell echo *)
+L02 = $$(not an error)
+L03 = $$(this is)$${ok too}
+L04 = $(nextvariableisbad)$(addsuffix .a, $(A))
+L05 = "$(bad boy)"
+L06 = $(this:is= ok)
+L07 = ${three errors}${on this} $(long line)
+L08$(o u c h): $(wildcard *.c)
+	${another error}
+	echo $${ok-this is}
+L11: $(thisis) $(ok)
+	${here}
+EOF
+
+$ACLOCAL
+# Make sure this warning is print in the `portability' category.
+$AUTOMAKE --warnings=no-error,none,portability 2>stderr
+cat stderr
+
+# Lines number are printed in error message.
+# Use them to make sure errors are diagnosed against the right lines.
+
+# No error expected for these lines.
+grep 1: stderr
+grep 2: stderr && exit 1
+grep 3: stderr && exit 1
+grep 4: stderr
+grep 5: stderr
+grep 6: stderr && exit 1
+grep 7: stderr
+grep 8: stderr
+grep 9: stderr
+grep 10: stderr && exit 1
+grep 11: stderr && exit 1
+grep 12: stderr && exit 1
+
+# Now check some individual values.
+grep 'shell echo' stderr
+grep 'nextvariableisbad' stderr && exit 1
+grep 'addsuffix' stderr
+grep 'bad boy' stderr
+grep 'ok' stderr && exit 1
+grep 'three errors' stderr
+grep 'on this' stderr
+grep 'long line' stderr
+grep 'o u c h' stderr
+grep 'wildcard' stderr
+grep 'another error' stderr
+grep 'thisis' stderr && exit 1
+grep 'here' stderr && exit 1
+
+# None of these errors be diagnosed with -Wno-portability
+$AUTOMAKE -Wno-portability
+
+# Likewise if we add this in the Makefile.am
+# (although this makes some difference internally: AUTOMAKE_OPTIONS is
+# processed far later).
+echo 'AUTOMAKE_OPTIONS = -Wno-portability' >> Makefile.am
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/vartar.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/vartar.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/vartar.test	(revision 3089)
@@ -0,0 +1,43 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Targets and macros are two different name spaces.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+install = install
+install:
+	$(install) install
+END
+
+$ACLOCAL
+$AUTOMAKE -Wno-override
+
+grep '^install = install$' Makefile.in
+
+cat > target.expected <<'EOF'
+install:
+	$(install) install
+EOF
+sed -n '/^install:/,/^	/p' Makefile.in > target.value
+diff target.expected target.value
Index: /trunk/essentials/sys-devel/automake-1.9/tests/version.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/version.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/version.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure [...] is ok in version number.  Report from Jim
+# Meyering.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE([sh-utils], [1.12o])
+AC_OUTPUT(Makefile)
+END
+
+: > Makefile.am
+
+# Files required by Gnits.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+$ACLOCAL || exit 1
+$AUTOMAKE --gnits
Index: /trunk/essentials/sys-devel/automake-1.9/tests/version2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/version2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/version2.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure 3rd arg to AM_INIT_AUTOMAKE not picked up in
+# version.  From Joel Weber.
+
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE([sh-utils], 1.12o, no)
+AC_OUTPUT(Makefile)
+END
+
+: > Makefile.am
+
+# Files required by Gnits.
+: > INSTALL
+: > NEWS
+: > README
+: > COPYING
+: > AUTHORS
+: > ChangeLog
+: > THANKS
+
+$ACLOCAL || exit 1
+$AUTOMAKE --gnits
Index: /trunk/essentials/sys-devel/automake-1.9/tests/version3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/version3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/version3.test	(revision 3089)
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright (C) 1998, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure version in AUTOMAKE_OPTIONS works.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = 9.9x
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'Makefile.am:1:.*Automake 9.9x' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/version4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/version4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/version4.test	(revision 3089)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure we are compatible with the 1.4-p1 series.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = 1.4-p3
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/version6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/version6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/version6.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure the current version can be required.
+
+. ./defs || exit 1
+
+set -e
+
+amver=`$AUTOMAKE --version | sed -e 's/.* //;1q'`
+
+cat > Makefile.am << END
+AUTOMAKE_OPTIONS = $amver
+END
+
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/version7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/version7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/version7.test	(revision 3089)
@@ -0,0 +1,71 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for a special setup where the package's version isn't defined
+# in configure.in.  We want GNU Make for this test (part of the test
+# is to make sure Makefile.ins get rebuilt when a m4_included file
+# changes -- we don't support this feature on non-GNU Makes).
+
+required='makeinfo tex GNUmake'
+. ./defs || exit 1
+
+set -e
+
+cat >configure.in <<'END'
+m4_include([version.m4])
+AC_INIT([version7], [THE_VERSION])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+echo 'm4_define([THE_VERSION], [2.718])' > version.m4
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = zardoz.texi
+
+check:
+	test -f $(srcdir)/version.m4
+END
+
+cat > zardoz.texi << 'END'
+\input texinfo
+@setfilename zardoz.info
+@settitle Zardoz
+@node Top
+Hello walls.
+@include version.texi
+@bye
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --add-missing
+./configure --version | grep '2\.718'
+./configure
+$MAKE
+grep '2\.718' version.texi
+
+
+$sleep
+echo 'm4_define([THE_VERSION], [3.141])' > version.m4
+$MAKE distcheck
+./configure --version | grep '3\.141'
+grep '3\.141' version.texi
Index: /trunk/essentials/sys-devel/automake-1.9/tests/vpath.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/vpath.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/vpath.test	(revision 3089)
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure VPATH can be overridden.
+# Report from Anthony Green.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+VPATH = zardoz
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'VPATH.*@srcdir@' Makefile.in && exit 1
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/vtexi.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/vtexi.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/vtexi.test	(revision 3089)
@@ -0,0 +1,69 @@
+#!/bin/sh
+# Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003
+#   Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = textutils.texi
+END
+
+cat > textutils.texi << 'END'
+@include version.texi
+@setfilename textutils.info
+END
+
+# Required when using Texinfo.
+: > mdate-sh
+: > texinfo.tex
+
+set -e
+
+$ACLOCAL || exit 1
+$AUTOMAKE
+
+# Test for bug reported by Jim Meyering:
+# When I ran automake-0.29 on textutils,
+# I noticed that doc/Makefile.in had
+#   textutils.info: textutils.texi
+# instead of
+#   textutils.info: textutils.texi version.texi
+# (Today this should be `textutils.info: version.texi')
+
+grep 'textutils\.info:.*version\.texi$' Makefile.in
+
+
+# Test for bug reported by Lars Hecking:
+# When running the first version of configure.ac aware automake,
+# @CONFIGURE_AC@ was not properly substituted.
+
+$EGREP 'stamp-vti:.*textutils\.texi( .*)?$' Makefile.in
+$EGREP 'stamp-vti:.*\$\(top_srcdir\)/configure( .*)?$' Makefile.in
+
+
+# Check that the path to mdate-sh is correct.  Over escaping of `$'
+# etc. once led to `\$\(srcdir\)/mdate-sh'.
+
+# Filter out '$(srcdir)/mdate-sh'; output occurrences of `SOMETHING/mdate-sh'
+sed -n 's,\$(srcdir)/mdate-sh,,g;s,.* \([^ ]*/mdate-sh\) .*,\1,gp' Makefile.in|
+# There must remain nothing.
+ grep . && exit 1
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/vtexi2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/vtexi2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/vtexi2.test	(revision 3089)
@@ -0,0 +1,44 @@
+#! /bin/sh
+# Copyright (C) 1996, 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for bug reported by Glenn Amerine:
+#   When automake sees version.texi is being included by a texi file,
+#   version.texi gets listed as a dependency for the .info file but
+#   not the .dvi file.
+
+. ./defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = zardoz.texi
+END
+
+cat > zardoz.texi << 'END'
+@setfilename  zardoz  
+@include version.texi
+END
+
+# Required when using Texinfo.
+: > mdate-sh
+: > texinfo.tex
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep '^zardoz\.dvi:' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/warnopts.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/warnopts.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/warnopts.test	(revision 3089)
@@ -0,0 +1,78 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that we can enable or disable warnings on a per-file basis.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<END
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+mkdir sub
+
+# These two Makefile contain the same errors, but have different
+# warnings disabled.
+
+cat >Makefile.am <<END
+AUTOMAKE_OPTIONS = -Wno-obsolete
+INCLUDES = -Ifoo
+foo_SOURCES = unused
+SUBDIRS = sub
+END
+
+cat >sub/Makefile.am <<END
+AUTOMAKE_OPTIONS = -Wno-syntax
+INCLUDES = -Ifoo
+foo_SOURCES = unused
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+# The expected diagnostic is
+#   Makefile.am:3: unused variable: `foo_SOURCES'
+#   sub/Makefile.am:2: `INCLUDES' is the old name for `AM_CPPFLAGS'
+grep '^Makefile.am:.*foo_SOURCES' stderr
+grep '^sub/Makefile.am:.*INCLUDES' stderr
+grep '^sub/Makefile.am:.*foo_SOURCES' stderr && exit 1
+grep '^Makefile.am:.*INCLUDES' stderr && exit 1
+# Only three lines of warnings.
+test `wc -l < stderr` = 3
+
+# On fast machines the autom4te.cache created during the above run of
+# $AUTOMAKE is likely to have the same time stamp as the configure.in
+# created below; thus causing traces for the old configure.in to be
+# used.  We could do `$sleep', but it's faster to erase the
+# directory.  (Erase autom4te*.cache, not autom4te.cache, because some
+# bogus installations of Autoconf use a versioned cache.)
+rm -rf autom4te*.cache
+
+# If we add a global -Wnone, all warnings should disappear.
+cat >configure.in <<END
+AC_INIT([warnopts], [1.0])
+AM_INIT_AUTOMAKE([-Wnone])
+AC_CONFIG_FILES([Makefile sub/Makefile])
+AC_OUTPUT
+END
+$ACLOCAL
+$AUTOMAKE
Index: /trunk/essentials/sys-devel/automake-1.9/tests/werror.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/werror.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/werror.test	(revision 3089)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure --Werror and --add-missing work together.
+
+. ./defs || exit 1
+
+: > Makefile.am
+
+rm -f install-sh depcomp missing mkinstalldirs
+
+$ACLOCAL || exit 1
+$AUTOMAKE --Werror --add-missing
Index: /trunk/essentials/sys-devel/automake-1.9/tests/werror2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/werror2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/werror2.test	(revision 3089)
@@ -0,0 +1,52 @@
+#! /bin/sh
+# Copyright (C) 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Make sure that Makefile.in is not overwritten on error.  Otherwise
+# although the rebuilding rules would fail on error, they would
+# succeed if make is run a second time immediately afterwards.
+# Report from Harlan Stenn.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT>>configure.in
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+
+cat >Makefile.am <<END
+AUTOMAKE_OPTIONS = -Werror
+INCLUDES = -Ifoo
+foo_SOURCES = unused
+END
+
+$MAKE && exit 1
+
+$MAKE && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/whoami.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/whoami.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/whoami.test	(revision 3089)
@@ -0,0 +1,30 @@
+#! /bin/sh
+# Copyright (C) 1998, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure aclocal doesn't barf on "WHO_AM_I=...".  Report
+# from Johan Danielsson (and a very nice bug report, too, I might
+# add).
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+WHO_AM_I=17
+END
+
+$ACLOCAL
Index: /trunk/essentials/sys-devel/automake-1.9/tests/xsource.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/xsource.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/xsource.test	(revision 3089)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003
+#   Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure multiple source files with the same object
+# file causes error.
+
+. ./defs || exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = z.c x/z.c
+END
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+END
+
+mkdir x
+
+: > z.c
+: > x/z.c
+
+$ACLOCAL || exit 1
+AUTOMAKE_fails
+$FGREP 'z.$(OBJEXT)' stderr
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc.test	(revision 3089)
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 1996, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure intermediate .c file is built from yacc source.
+# Bug from Thomas Morgan.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_YACC
+END
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.y
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep 'zardoz.c' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc2.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc2.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc2.test	(revision 3089)
@@ -0,0 +1,93 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure intermediate .h file is not generated nor removed
+# if (AM_)?YFLAGS do not contain -d.  Requested by Jim Meyering.
+
+. ./defs || exit 1
+
+set -e
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_YACC
+END
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.y
+END
+
+# Don't redefine several times the same variable.
+cp Makefile.am Makefile.src
+
+
+
+
+$ACLOCAL
+$AUTOMAKE
+
+# If zardoz.h IS mentioned, fail
+grep 'zardoz.h' Makefile.in > /dev/null && exit 1
+
+
+
+cp Makefile.src Makefile.am
+echo 'AM_YFLAGS = -d' >> Makefile.am
+
+$AUTOMAKE
+
+# If zardoz.h is NOT mentioned, fail
+grep 'zardoz.h' Makefile.in > /dev/null
+
+
+
+cp Makefile.src Makefile.am
+echo 'AM_YFLAGS = ' >> Makefile.am
+
+$AUTOMAKE
+
+# If zardoz.h IS mentioned, fail
+grep 'zardoz.h' Makefile.in > /dev/null && exit 1
+
+
+
+cp Makefile.src Makefile.am
+echo 'YFLAGS = -d' >> Makefile.am
+
+# YFLAGS is a use variable.
+AUTOMAKE_fails
+grep 'YFLAGS' stderr
+$AUTOMAKE -Wno-gnu
+
+# If zardoz.h is NOT mentioned, fail
+grep 'zardoz.h' Makefile.in > /dev/null
+
+
+
+cp Makefile.src Makefile.am
+echo 'YFLAGS = ' >> Makefile.am
+
+$AUTOMAKE -Wno-gnu
+
+# If zardoz.h IS mentioned, fail
+grep 'zardoz.h' Makefile.in > /dev/null && exit 1
+
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc3.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc3.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc3.test	(revision 3089)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# Copyright (C) 1999, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Ensure that generated .h file is distributed iff we have -d in
+# (AM_)?YFLAGS.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_YACC
+END
+
+cat > Makefile.am <<'END'
+AUTOMAKE_OPTIONS = no-dependencies
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.y
+magic:
+	@echo $(DIST_COMMON)
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+$FGREP -v @SET_MAKE@ Makefile.in > Makefile.sed
+# It should not be disted here
+grep 'zardoz.h' Makefile.in && exit 1
+
+cp Makefile.am Save
+# Test all available flags to make sure header is distributed with
+# `-d'.
+for flag in YFLAGS AM_YFLAGS zardoz_YFLAGS; do
+   cp Save Makefile.am
+   echo "$flag = -d" >> Makefile.am
+
+   $AUTOMAKE -Wno-gnu || exit 1
+   grep 'zardoz.h' Makefile.in || exit 1
+done
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc4.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc4.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc4.test	(revision 3089)
@@ -0,0 +1,95 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Some simple tests of ylwrap functionality.
+
+required='bison gcc'
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AC_CONFIG_AUX_DIR([.])
+AM_INIT_AUTOMAKE(foo, 0.1)
+PACKAGE=foo
+VERSION=0.1
+AC_PROG_CC
+AC_PROG_YACC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo bar
+foo_SOURCES = parse.y foo.c
+bar_SOURCES = bar.y foo.c
+END
+
+# First parser.
+cat > parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+# Second parser.
+cat > bar.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+fubar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+cat > foo.c << 'END'
+int main () { return 0; }
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+test -f ylwrap
+
+mkdir sub
+cd sub
+
+../configure
+$MAKE
+
+grep '^#.*/sub/\.\./' bar.c && exit 1
+grep '^#.*/sub/\.\./' parse.c && exit 1
+
+# Make distclean must not erase bar.c nor parse.c (by GNU standards) ...
+$MAKE distclean
+test -f bar.c
+test -f parse.c
+# ... but maintainer-clean should.
+../configure
+$MAKE maintainer-clean
+test ! -f bar.c
+test ! -f parse.c
+:
+
+exit 0
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc5.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc5.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc5.test	(revision 3089)
@@ -0,0 +1,86 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test of yacc functionality, derived from GNU binutils
+# by Tim Van Holder.
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_PROG_YACC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = maude
+maude_SOURCES = sub/maude.y
+END
+
+mkdir sub
+
+: > sub/maude.y
+
+$ACLOCAL
+$AUTOMAKE -a
+
+grep '^maude\.c:' Makefile.in
+
+
+## Try again with subdir-objects.
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = maude
+maude_SOURCES = sub/maude.y
+END
+
+$ACLOCAL
+$AUTOMAKE -a
+
+# No rule needed, the default .y.c: inference rule is enough.
+grep '^sub/maude\.c:' Makefile.in && exit 1
+
+
+## Try again with per-exe flags.
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = maude
+maude_SOURCES = sub/maude.y
+## A particularly trickey case.
+maude_YFLAGS = -d
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE -a || exit 1
+
+# Rule should use maude_YFLAGS.
+grep 'AM_YFLAGS.*maude' Makefile.in && exit 1
+
+# Silly regression.
+grep 'maudec' Makefile.in && exit 1
+
+# Make sure the .o file is required.
+grep '^am_maude_OBJECTS.*maude' Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc6.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc6.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc6.test	(revision 3089)
@@ -0,0 +1,108 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure ylwrap put in right location.
+# Report from Tim Van Holder.
+# Also make sure depcomp does not needlessly update headers.
+# Report from Paolo Bonzini.
+
+required='gcc bison GNUmake'
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([yacc6], [1.0])
+AC_CONFIG_AUX_DIR([aux1])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AC_PROG_YACC
+AC_CONFIG_FILES([sub/Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = sub
+
+test-time-unchanged:
+	test `ls -1t sub/main.$(OBJEXT) z | sed 1q` = z
+test-time-changed:
+	test `ls -1t sub/main.$(OBJEXT) z | sed 1q` = sub/main.$(OBJEXT)
+END
+
+mkdir aux1 sub
+
+cat > sub/Makefile.am << 'END'
+bin_PROGRAMS = foo bar
+AM_YFLAGS = -d
+foo_SOURCES = foo.y main.c
+foo_CPPFLAGS = -DFOO
+bar_SOURCES = bar.y main.c
+END
+
+cat > sub/foo.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%token TOKEN
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+cp sub/foo.y sub/bar.y
+
+cat >sub/main.c <<'EOF'
+#ifdef FOO
+#  include "foo.h"
+#else
+#  include "bar.h"
+#endif
+
+int
+main()
+{
+  return 0;
+}
+EOF
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+test -f aux1/ylwrap
+test ! -f ylwrap
+test ! -f sub/ylwrap
+$FGREP '(top_srcdir)/aux1/ylwrap' sub/Makefile.in
+./configure
+$MAKE
+grep '#.*line.*foo.y' sub/foo.c
+grep '#.*line.*bar.y' sub/bar.c
+
+$sleep
+: > z
+$sleep
+touch sub/bar.y
+$MAKE
+$MAKE test-time-unchanged
+$sleep
+$PERL -pi -e s/TOKEN/TEKON/g sub/bar.y
+$MAKE
+$MAKE test-time-changed
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc7.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc7.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc7.test	(revision 3089)
@@ -0,0 +1,94 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure dependencies are generated correctly for .h files.
+# Report from Richard Boulton.
+#
+# Also check that the sources of the generated parser are distributed.
+# PR/47.
+
+required=bison
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CC
+AC_PROG_YACC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = foo.y
+AM_YFLAGS = -d
+
+check-dist: distdir
+	test -f $(distdir)/foo.y
+	test -f $(distdir)/foo.c
+	test -f $(distdir)/foo.h
+END
+
+# The %union will cause Bison to output `#line's in y.tab.h too.
+cat > foo.y << 'END'
+%union
+{
+  int i;
+  char c;
+}
+%%
+WORD: "up";
+%%
+END
+
+set -e
+
+$ACLOCAL
+$AUTOMAKE -a
+$AUTOCONF
+./configure
+
+$MAKE foo.h
+
+test -f foo.h
+
+rm -f foo.h foo.c
+$MAKE check-dist
+
+# We should be able to recover if foo.h is deleted.
+
+rm -f foo.h
+$MAKE foo.h
+test -f foo.h
+
+# Make sure `#line ... y.tab.h' gets replaced.
+$FGREP 'y.tab.h' foo.h && exit 1
+
+# Make distclean must not erase foo.c nor foo.h (by GNU standards) ...
+$MAKE foo.c
+test -f foo.h
+test -f foo.c
+$MAKE distclean
+test -f foo.h
+test -f foo.c
+# ... but maintainer-clean should.
+./configure
+$MAKE maintainer-clean
+test ! -f foo.h
+test ! -f foo.c
+:
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yacc8.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yacc8.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yacc8.test	(revision 3089)
@@ -0,0 +1,115 @@
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2004  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test for subdir parsers.
+
+required="gcc bison"
+
+. ./defs || exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([yacc8], [1.0])
+AC_CONFIG_AUX_DIR([.])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_PROG_YACC
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+bin_PROGRAMS = foo/foo
+foo_foo_SOURCES = foo/parse.y
+AM_YFLAGS = -d
+
+obj: foo/parse.$(OBJEXT)
+
+test1: obj
+	test -f foo/parse.c
+	test -f foo/parse.$(OBJEXT)
+
+test2: obj
+	test -f foo/parse.c
+	test -f foo/parse.$(OBJEXT)
+END
+
+mkdir foo
+
+cat > foo/parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+mkdir sub
+cd sub
+
+../configure
+$MAKE test1
+
+# Aside of the rest of this test, let's see if we can recover from
+# parse.h removal
+test -f foo/parse.h
+rm -f foo/parse.h
+$MAKE foo/parse.h
+test -f foo/parse.h
+
+# Make sure foo/parse.h is not updated, unless when needed.
+$sleep
+: > z
+$sleep
+touch ../foo/parse.y
+$MAKE obj
+test `ls -1t foo/parse.h z | sed 1q` = z
+$sleep
+$PERL -pi -e 's/%%/%token TOKEN\n%%/g' ../foo/parse.y
+$MAKE obj
+test `ls -1t foo/parse.h z | sed 1q` = foo/parse.h
+
+# Now, adds another parser to test ylwrap.
+
+cd ..
+
+# Sleep some to make sure timestamp of Makefile.am will change.
+$sleep
+
+cp foo/parse.y foo/parse2.y
+cat >> Makefile.am << 'END'
+EXTRA_foo_foo_SOURCES = foo/parse2.y
+END
+
+$AUTOMAKE -a
+test -f ./ylwrap || exit 1
+
+cd sub
+# Regenerate Makefile (automatic in GNU Make, but not in other Makes)
+./config.status
+$MAKE test2
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yaccpp.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yaccpp.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yaccpp.test	(revision 3089)
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Copyright (C) 1997, 2001, 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Test to make sure yacc + c++ works.
+
+. ./defs || exit 1
+
+cat >> configure.in << 'END'
+AC_PROG_CXX
+AC_PROG_YACC
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = zardoz
+zardoz_SOURCES = zardoz.yy
+END
+
+$ACLOCAL || exit 1
+$AUTOMAKE || exit 1
+
+grep zardoz.cc Makefile.in
Index: /trunk/essentials/sys-devel/automake-1.9/tests/yaccvpath.test
===================================================================
--- /trunk/essentials/sys-devel/automake-1.9/tests/yaccvpath.test	(revision 3089)
+++ /trunk/essentials/sys-devel/automake-1.9/tests/yaccvpath.test	(revision 3089)
@@ -0,0 +1,110 @@
+#! /bin/sh
+# Copyright (C) 2001, 2002, 2003  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Automake; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# This test checks that dependent files are updated before including
+# in the distribution. `parse.c' depends on `parce.y'. The later is
+# updated so that `parse.c' should be rebuild. Then we are running
+# `make' and `make distdir' and check whether the version of `parse.c'
+# to be distributed is up to date.
+
+required='gcc bison'
+. ./defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT
+AC_CONFIG_AUX_DIR([.])
+AM_INIT_AUTOMAKE(foo, 0.1)
+PACKAGE=foo
+VERSION=0.1
+AC_PROG_CC
+AC_PROG_YACC
+AC_OUTPUT(Makefile)
+END
+
+cat > Makefile.am << 'END'
+bin_PROGRAMS = foo
+foo_SOURCES = parse.y foo.c
+END
+
+# Original parser, with `foobar'
+cat > parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+cat > foo.c << 'END'
+int main () { return 0; }
+END
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+
+$YACC parse.y
+mv y.tab.c parse.c
+
+mkdir sub
+cd sub
+../configure
+
+# A delay is needed to make sure that the new parse.y is indeed newer
+# than parse.c, i.e. the they don't have the same timestamp.
+$sleep
+
+# New parser, with `fubar'
+cat > ../parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+fubar : 'f' 'o' 'o' 'b' 'a' 'r' {};
+END
+
+$MAKE
+$MAKE distdir
+grep fubar foo-0.1/parse.c
+
+#
+# Now check to make sure that `make dist' will rebuild the parser.
+#
+
+# A delay is needed to make sure that the new parse.y is indeed newer
+# than parse.c, i.e. the they don't have the same timestamp.
+$sleep
+
+# New parser, with `maude'
+cat > ../parse.y << 'END'
+%{
+int yylex () {return 0;}
+void yyerror (char *s) {}
+%}
+%%
+maude : 'm' 'a' 'u' 'd' 'e' {};
+END
+
+$MAKE distdir
+grep maude foo-0.1/parse.c
