Imported Upstream version 0.50.2 upstream/0.50.2
authorAnas Nashif <anas.nashif@intel.com>
Mon, 5 Nov 2012 16:41:01 +0000 (08:41 -0800)
committerAnas Nashif <anas.nashif@intel.com>
Mon, 5 Nov 2012 16:41:01 +0000 (08:41 -0800)
115 files changed:
AUTHORS [new file with mode: 0644]
COPYING [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
Makefile.in [new file with mode: 0644]
Makefile.in.in [new file with mode: 0644]
NEWS [new file with mode: 0644]
README [new file with mode: 0644]
TODO [new file with mode: 0644]
aclocal.m4 [new file with mode: 0644]
configure [new file with mode: 0755]
configure.ac [new file with mode: 0644]
doc/I18N-HOWTO [new file with mode: 0644]
doc/Makefile.am [new file with mode: 0644]
doc/Makefile.in [new file with mode: 0644]
doc/intltool-extract.8 [new file with mode: 0644]
doc/intltool-merge.8 [new file with mode: 0644]
doc/intltool-prepare.8 [new file with mode: 0644]
doc/intltool-update.8 [new file with mode: 0644]
doc/intltoolize.8 [new file with mode: 0644]
install-sh [new file with mode: 0755]
intltool-extract.in [new file with mode: 0644]
intltool-merge.in [new file with mode: 0644]
intltool-prepare.in [new file with mode: 0644]
intltool-update.in [new file with mode: 0644]
intltool.m4 [new file with mode: 0644]
intltoolize.in [new file with mode: 0644]
missing [new file with mode: 0755]
tests/Makefile.am [new file with mode: 0644]
tests/Makefile.in [new file with mode: 0644]
tests/cases/Makefile.am [new file with mode: 0644]
tests/cases/Makefile.in [new file with mode: 0644]
tests/cases/az.po [new file with mode: 0644]
tests/cases/context.xml.in [new file with mode: 0644]
tests/cases/extract-comments.xml [new file with mode: 0644]
tests/cases/extract-gtkbuilder.ui [new file with mode: 0644]
tests/cases/extract1.desktop [new file with mode: 0644]
tests/cases/extract10.templates_ [new file with mode: 0644]
tests/cases/extract12.xml.in [new file with mode: 0644]
tests/cases/extract13.desktop.in [new file with mode: 0644]
tests/cases/extract14.xml.in [new file with mode: 0644]
tests/cases/extract3.xml.in [new file with mode: 0644]
tests/cases/extract6.glade [new file with mode: 0644]
tests/cases/extract7.xml [new file with mode: 0644]
tests/cases/extract8.glade [new file with mode: 0644]
tests/cases/extract9.po [new file with mode: 0644]
tests/cases/extract9.xml.in [new file with mode: 0644]
tests/cases/fr.po [new file with mode: 0644]
tests/cases/fr_BE.po [new file with mode: 0644]
tests/cases/fr_FR.po [new file with mode: 0644]
tests/cases/gsettings.gschema.xml [new file with mode: 0644]
tests/cases/iso88591text.xml.in [new file with mode: 0644]
tests/cases/merge-cdata.xml.in [new file with mode: 0644]
tests/cases/merge-deepattr.xml.in [new file with mode: 0644]
tests/cases/merge1.xml.in [new file with mode: 0644]
tests/cases/merge10.templates_ [new file with mode: 0644]
tests/cases/merge11.xml.in [new file with mode: 0644]
tests/cases/merge12.xml.in [new file with mode: 0644]
tests/cases/merge4.xml.in [new file with mode: 0644]
tests/cases/merge5p.sheet.in [new file with mode: 0644]
tests/cases/merge5u.sheet.in [new file with mode: 0644]
tests/cases/merge6.po [new file with mode: 0644]
tests/cases/merge6.xml.in [new file with mode: 0644]
tests/cases/merge7.xml.in [new file with mode: 0644]
tests/cases/merge8.keys.in [new file with mode: 0644]
tests/cases/schemasmerge1.po [new file with mode: 0644]
tests/cases/schemasmerge2.po [new file with mode: 0644]
tests/cases/space-preserve.xml.in [new file with mode: 0644]
tests/cases/spacepreserve.po [new file with mode: 0644]
tests/cases/test-quoted.dtd [new file with mode: 0644]
tests/cases/test-quoted.po [new file with mode: 0644]
tests/cases/test.po [new file with mode: 0644]
tests/cases/test.schemas.in [new file with mode: 0644]
tests/cases/unicodetext.xml.in [new file with mode: 0644]
tests/results/Makefile.am [new file with mode: 0644]
tests/results/Makefile.in [new file with mode: 0644]
tests/results/context.xml [new file with mode: 0644]
tests/results/context.xml.in.h [new file with mode: 0644]
tests/results/extract-comments.xml.h [new file with mode: 0644]
tests/results/extract-gtkbuilder.ui.h [new file with mode: 0644]
tests/results/extract1.desktop.h [new file with mode: 0644]
tests/results/extract10.templates_.h [new file with mode: 0644]
tests/results/extract12.xml.in.h [new file with mode: 0644]
tests/results/extract13.desktop [new file with mode: 0644]
tests/results/extract13.desktop.in.h [new file with mode: 0644]
tests/results/extract14.xml.in.h [new file with mode: 0644]
tests/results/extract3.xml.in.h [new file with mode: 0644]
tests/results/extract6.glade.h [new file with mode: 0644]
tests/results/extract7.xml.h [new file with mode: 0644]
tests/results/extract8.glade.h [new file with mode: 0644]
tests/results/extract9.xml [new file with mode: 0644]
tests/results/extract9.xml.in.h [new file with mode: 0644]
tests/results/gsettings.gschema.xml.h [new file with mode: 0644]
tests/results/iso88591text.xml.in.h [new file with mode: 0644]
tests/results/merge-cdata.xml [new file with mode: 0644]
tests/results/merge-deepattr.xml [new file with mode: 0644]
tests/results/merge1.xml [new file with mode: 0644]
tests/results/merge10.templates [new file with mode: 0644]
tests/results/merge11.xml [new file with mode: 0644]
tests/results/merge12.xml [new file with mode: 0644]
tests/results/merge4.xml [new file with mode: 0644]
tests/results/merge5p.sheet [new file with mode: 0644]
tests/results/merge5u.sheet [new file with mode: 0644]
tests/results/merge6.xml [new file with mode: 0644]
tests/results/merge7.xml [new file with mode: 0644]
tests/results/merge8.keys [new file with mode: 0644]
tests/results/multi.merge6.xml [new file with mode: 0644]
tests/results/multi.test-quoted.dtd [new file with mode: 0644]
tests/results/space-preserve.xml [new file with mode: 0644]
tests/results/space-preserve.xml.in.h [new file with mode: 0644]
tests/results/test-quoted.dtd.h [new file with mode: 0644]
tests/results/test.schemas [new file with mode: 0644]
tests/results/test.schemas.in.h [new file with mode: 0644]
tests/results/unicodetext.xml.in.h [new file with mode: 0644]
tests/selftest.pl.in [new file with mode: 0755]

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..9a012a3
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,8 @@
+Maintainers:
+Rodney Dawes <dobey@novell.com>
+Danilo Šegan <danilo@gnome.org>
+
+Older maintainers:
+Kenneth Christiansen <kenneth@gnu.org>
+Darin Adler <darin@bentspoon.com>
+Maciej Stachowiak <mjs@noisehavoc.org>
diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..d60c31a
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  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.
+\f
+                   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.)
+\f
+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.
+\f
+  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.
+\f
+  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
+\f
+           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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  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.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..cbf2910
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,5129 @@
+  735 Danilo Šegan    2012-02-26
+      Up the version number to 0.50.2.
+
+  734 Danilo Šegan    2012-02-26 [merge]
+      Fix #903340: Use --no-translations only if detected intltool on the system is 0.50 or better. Patch by Hib Eric.
+
+  733 Danilo Šegan    2012-02-05
+      Update NEWS: Include a missed contribution by doko in 0.50.1 and reconstruct 0.50.0 stuff from the release notes on LP.
+
+  732 Danilo Šegan    2012-02-05
+      Up the version to 0.50.1.
+
+  731 Danilo Šegan    2012-02-05 [merge]
+      Fix #924386: include ChangeLog in dist tarballs and create a NEWS file.
+
+  730 Danilo Šegan    2012-02-05 [merge]
+      Bug #402516: support silent rules when merging translations and building MO files. Patch by Hib Eris.
+
+  729 Danilo Šegan    2012-02-05
+      Ignore whitespace indentation in empty lines. Part of #922685 fix.
+
+  728 Danilo Šegan    2012-01-30 [merge]
+      Add support for translatable attribute (well, any) tags in glade files. Patch by Ryan Lortie.
+
+  727 Danilo Segan     2012-01-27 [merge]
+      Bug #922685: Keep and normalize paragraphs in gsettings extraction. Strip starting/ending whitespace.  Patch by Ryan Lortie.
+
+  726 Danilo Šegan    2011-12-10
+      fixes bug: https://launchpad.net/bugs/900738
+      Fix quoting of XGETTEXT variable when setting MSGMERGE and GENPOT in Makefile.  Patch contributed by Matthias Klose.
+
+  725 Danilo Segan     2011-10-08
+      Up the version to 0.50.0.
+
+  724 Danilo Segan     2011-10-08 [merge]
+      Add support for GSettings, based on Ryan 'desrt' Lortie's code. Well, better late than never, right? Ok, very late. Fixes #580526.
+
+  723 Danilo Segan     2011-10-08
+      fixes bug: https://launchpad.net/bugs/398576
+      Provide a parameter --no-translations for use in INTLTOOL_XML_NOMERGE_RULE to avoid instability problems with /tmp which can contain PO files.  Fixes #398576.
+
+  722 Danilo Segan     2011-10-08 [merge]
+      Use xgettext built-in scheme support for .scm files and add support to `intltool-update -m` for detecting missing .scm files. Fixes #790574.
+
+  721 Danilo Segan     2011-10-08 [merge]
+      Keep the order of messages on extraction with intltool-extract. Fixes #520986.
+
+  720 Danilo Segan     2011-10-08
+      Remove all .cvsignore files.
+
+  719 Danilo Segan     2011-10-08
+      fixes bug: https://launchpad.net/bugs/639857
+      Reduce the amount of quoting when finding the Perl version number, as proposed in bug 639857 by naddy mips inka de.
+
+  718 Danilo Segan     2011-09-27 [merge]
+      Fixes bug #860192: Ignore hidden directories and folders when detecting missing files in intltool-update. Debian patch for debbugs #560704.
+
+  717 Danilo Segan     2011-07-06 [merge]
+      Use xgettext as found by configure for different operations in the installed Makefile for packages. Fix by Monty Taylor.
+
+  716 Danilo Segan     2011-07-06
+      fixes bug: https://launchpad.net/bugs/806006
+      Improve detection of left-out files by fixing multi-line python strings handling and handling of multiple strings in a single line and inline # comments.
+
+  715 Rodney Dawes     2010-08-06
+      Get rid of the ANSI boldification of certain warnings in intltool-update
+
+  714 Danilo Šegan    2010-03-24
+      Avoid warnings in isNotValidMissing when PACKAGE/VERSION variables are not known from makefiles.
+
+  713 Danilo Šegan    2010-03-24
+      Prepare for 0.41.1 release.
+
+  712 Danilo Šegan    2010-03-24
+      Clean up test/*/Makefile.am files: add generated files to CLEANFILES and new test case to EXTRA_DIST.
+
+  711 Danilo Šegan    2010-03-19
+      Fix .py.in detection.
+
+  710 Danilo Šegan    2010-03-19
+      fixes bug: https://launchpad.net/bugs/493403
+      Fix #493403: let 'intltool-update -m' pick up .py(.in)+ files as well. Patch by Fujiwara.
+
+  709 Danilo Šegan    2010-03-19
+      Fix some typos and errors.
+
+  708 Danilo Šegan    2010-03-19
+      Fix trailing whitespace in intltool-update.in.
+
+  707 Danilo Šegan    2010-03-19
+      fixes bug: https://launchpad.net/bugs/406810
+      Fix #406810: make intltool-extract script detection work on Windows. Patch by Sam Thursfield.
+
+  706 Danilo Šegan    2010-03-19 [merge]
+      fixes bug: https://launchpad.net/bugs/515577
+      Fix #515577: merge small README fixes from Pablo Castellano.
+
+  705 Danilo Šegan    2010-03-18 [merge]
+      Fix #409781: add context support to glade file extraction.
+
+  704 Danilo Šegan    2010-03-18 [merge]
+      fixes bug: https://launchpad.net/bugs/514295
+      Fix #514295: intltool-update maintenance check should work with builddir != srcdir.
+
+  703 Danilo Šegan    2010-03-18
+      Fix up problem with r702 fix: spurious $ in the regex.
+
+  702 Danilo Šegan    2009-12-19 [merge]
+      Fix bug #498292: improve detection of files containing gettext calls in intltool-update to reduce number of false positives.
+
+  701 Rodney Dawes     2009-07-15 {intltool-0-41-0}
+       Up version to 0.41.0 for release
+
+  700 Rodney Dawes     2009-07-15
+      fixes bugs: https://launchpad.net/bugs/398580 https://launchpad.net/bugs/398581
+       Remove references to dead mailing lists
+       Update bug reporting references to launchpad
+       Fix HACKING to promote using branches for submitting changes
+
+  699 Rodney Dawes     2009-07-12 [merge]
+      Remove intltool-unicodify
+
+  698 Rodney Dawes     2009-07-12 [merge]
+      Handle g_dngettext and calling the glib gettext wrappers directly
+
+  697 Rodney Dawes     2009-07-12 [merge]
+      Handle multi-line python strings ''' and """ better
+
+  696 Rodney Dawes     2009-07-12 [merge]
+      Handle m4_esyscmd usage in the package version variable
+
+  695 Rodney Dawes     2009-06-28 [merge]
+      Add ctags stubs to deal with automake ctags rules
+
+  694 Rodney Dawes     2009-06-01 [merge]
+      Only create the intltool-foo.in files if needed for compatibility
+
+  693 Rodney Dawes     2009-04-26
+       Rename configure.in to the preferred configure.ac
+       Update configure script to require new autoconf
+       Remove the old/broken spec file
+       Remove ChangeLog, NEWS, and MAINTAINERS as they are no longer needed
+       Upgrade bzr branch format to 1.9
+
+  692 Rodney Dawes     2009-04-20
+       Remove ignored files from the lists of files to check in -m mode
+       Fixes http://bugzilla.gnome.org/show_bug.cgi?id=569051
+
+  691 Rodney Dawes     2009-04-20
+       Add a .bzrignore to hide some files from bzr
+
+  690 Rodney Dawes     2009-04-08
+       Use \^ to escape ^ instead of single quotes
+       Fixes http://bugzilla.gnome.org/show_bug.cgi?id=577133
+
+  689 dobey    2009-03-14
+      
+       Up version to 0.40.6 for release
+
+  688 dobey    2009-03-14
+      
+       Update README to not suggest putting intltool-*.in in EXTRA_DIST
+       Update README to refer to .server files instead of .oaf
+
+  687 dobey    2009-03-01
+      
+       Don't hardcode the SHELL value (gnome bug #573525)
+
+  686 dobey    2008-11-24
+      
+       * intltool-update.in:
+       Add basic support for PACKAGE_BUGREPORT specified by packages
+
+  685 dobey    2008-11-24
+      2008-11-24  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.ac:
+       Check for at least perl 5.8.1, and print the found version
+      
+       * intltool.m4:
+       Check for at least perl 5.8.1 and print the found version
+       Add _IT_SUBST macro to abstract usage of _AM_SUBST_NOTMAKE when we
+       are using automake 1.10 or nwere
+      
+       Fixes #562085 and #561513
+
+  684 dobey    2008-11-22
+      
+       * intltool-merge.in:
+       Replace iconv usage with perl's internal Encode::from_to()
+
+  683 dobey    2008-11-17
+      2008-11-17  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * Makefile.in.in:
+       Quote the grep arguments that use ^
+      
+       Fixes #559528
+
+  682 dobey    2008-11-17
+      2008-11-16  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-extract.in:
+       Add support for extracting string data from Bioware Aurora Talk Table
+       format files, along with the extra metadata associated with the strings
+      
+       * intltool-update.in:
+       Add support for Bioware Aurora Talk Table format files in POTFILES
+
+  681 dobey    2008-11-06
+      2008-11-05  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool.m4:
+       Redirect grep output to /dev/null
+      
+       Fixes #557069
+
+  680 dobey    2008-10-08
+      2008-10-08  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.40.5 for release
+
+  679 dobey    2008-10-06
+      2008-10-06  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool.m4 (IT_PO_SUBDIR):
+       Check that Makefile.in came from a Makefile.in.in from intltool
+      
+       Fixes #554280
+
+  678 dobey    2008-09-19
+      2008-09-19  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.40.4 for release
+
+  677 dobey    2008-09-19
+      2008-09-19  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * tests/results/Makefile.am::
+       Add extract13.desktop to EXTRA_DIST
+
+  676 chpe     2008-09-04
+       * Makefile.in.in: (DISTFILES, EXTRA_DISTFILES): Move ChangeLog to
+       EXTRA_DISTFILES so "make dist" does not fail with nonexistent
+       po/ChangeLog file. 
+      
+       Fixes #550044
+
+  675 dobey    2008-09-04
+      2008-09-03  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * Makefile.in.in (PO_LINGUAS, POFILES):
+       Set PO_LINGUAS to ALL_LINGUAS if the LINGUAS file doesn't exist
+       Use PO_LINGUAS instead of USE_LINGUAS in POFILES for disting
+      
+       Fixes #550727
+
+  674 dobey    2008-08-25
+      2008-08-24  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in (desktop_merge_translations):
+       Fix the regex here to adhere to the Desktop File Spec's allowed chars
+      
+       * tests/cases/Makefile.am:
+       * tests/cases/extract13.desktop.in:
+       * tests/results/extract13.desktop:
+       * tests/results/extract13.desktop.in.h:
+       * tests/selftest.pl.in:
+       Add a test case for merging translations back into the desktop file
+      
+       Fixes #549243
+
+  673 dobey    2008-07-27
+      2008-07-27  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool.m4 (IT_PROG_INTLTOOL):
+       Require the AM_NLS macro, so USE_NLS gets defined
+       Add a check for gmsgfmt that falls back to $MSGFMT
+       This change removes the need for using AM_GLIB_GNU_GETTEXT or
+       AM_GNU_GETTEXT for some projects.
+
+  672 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.40.3 for brown-bag release
+
+  671 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * Makefile.in.in:
+       Change a ^$$lang regex to be ^$$lang$$ as it should have been
+       For bug #544574
+
+  670 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.40.2 for release
+
+  669 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * tests/cases/Makefile.am:
+       * tests/results/Makefile.am:
+       Add new test cases to EXTRA_DIST and CLEANFILES as appropriate
+
+  668 dobey    2008-07-25
+      Add new file to svn:ignore
+
+  667 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * tests/cases/context.xml.in:
+       * tests/results/context.xml:
+       * tests/results/context.xml.in.h:
+       Add these files that Wouter forgot to add
+
+  666 wbolster 2008-07-25
+      2008-07-25  Wouter Bolsterlee  <wbolster@svn.gnome.org>
+      
+       reviewed by: Rodney Dawes <dobey.pwns@gmail.com>
+      
+       * intltool-extract.in:
+       * intltool-merge.in:
+       * tests/cases/az.po:
+       * tests/cases/fr.po:
+       * tests/selftest.pl.in:
+      
+       Bug 458794 – Context support works only for single
+       context on a msgid. Patch and test case by Dan Winship
+       <danw@gnome.org>.
+
+  665 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * Makefile.in.in:
+       Redirect errors from grep to /dev/null
+       Use tr to force locale-per-line for passing ALL_LINGUAS to grep
+       Check that $LINGUAS is also non-zero for user-defined locales
+       Remove extraneous mkdir_p usage when installing locale files
+      
+       Fixes #544574
+
+  664 dobey    2008-07-25
+      2008-07-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltoolize.in:
+       Check for symlinks to intltool scripts and remove them
+       Touch the script.in files for compatibility
+       We just touch the scripts as we no longer generate executable versions,
+       and the Makefile.in.in uses the installed scripts anyway.
+
+  663 dobey    2008-07-23
+      2008-07-23  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * doc/I18N-HOWTO:
+       Remove reference to adding intltool scripts to EXTRA_DIST
+
+  662 dobey    2008-07-21
+      2008-07-21  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.40.1 for release
+
+  661 dobey    2008-07-21
+      2008-07-21  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltoolize.in:
+       Remove the AC_CONFIG_AUX_DIR checks as we no longer need it
+       We do not copy the scripts locally now, only Makefile.in.in
+      
+       Fixes #323968
+
+  660 dobey    2008-07-20
+      2008-07-20  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in (FindLeftoutFiles):
+       Check for NC_ as well as C_ N_ Q_ and _
+       (FindPOTKeywords):
+       No need to escape = and _ in a string
+       Add NC_ to the list of keywords
+       Use context and string argument specifiers for C_ and NC_
+      
+       Fixes #543665
+
+  659 dobey    2008-06-06
+      2008-06-06  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * README:
+       * doc/I18N-HOWTO:
+       Replace AC_PROG_INTLTOOL references with IT_PROG_INTLTOOL
+      
+       Fixes #531894
+
+  658 dobey    2008-06-06
+      2008-06-06  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in (FindPOTKeywords):
+       Replace U_ with C_ as keyword argument to xgettext
+       U_ does not exist in gi18n.h
+      
+       Fixes #536970
+
+  657 tml      2008-06-06
+      Typo.
+
+  656 tml      2008-06-06
+      2008-06-06  Tor Lillqvist  <tml@novell.com>
+      
+       * intltool-update.in (GenerateHeaders): If running under
+       ActiveState Perl then prefix the intltool-extract command with the
+       Perl interpreter pathname, as the system() function has no clue
+       about Unixish executable scripts indicated by just a hashbang
+       line.
+      
+       (The MSYS Perl, as it runs on a Unix emulator, would be able to
+       run executable scripts based on their hashbang lines jus fine, but
+       then MSYS Perl doesn't come with XML::Parser. Installing
+       XML::Parser for MSYS Perl is somewhat hard. So usually when using
+       mingw+MSYS to build GNOMEish software one wants to use
+       ActicveState's Perl to run the intltool scripts, even if the
+       built-in MSYS Perl is good for other Perl uses.)
+
+  655 dobey    2008-06-03
+      2008-06-03  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.40.0 for release
+
+  654 dobey    2008-04-12
+      2008-04-12  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in (FindLeftoutFiles):
+       Add code to handle skipping entire directores of translatable files
+      
+       Fixes #436241
+
+  653 dobey    2008-04-12
+      2008-04-12  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in (TextFile_DetermineEncoding):
+       Default to UTF-8 in determining file encoding
+       (GeneratePOTemplate):
+       Require that GNU gettext >= 0.12 be installed for UTF-8 support
+       Set the encoding to UTF-8 by default
+       Replace the old ASCII error message with a shorter UTF-8 message to
+       encourage developers to use UTF-8 for all translated strings, and to
+       show the filename and line number of the offending string
+      
+       Fixes #377573
+
+  652 dobey    2008-04-12
+      2008-04-12  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in (FindPackageName):
+       Strip "\(+$" off the end of name/version to allow parens with m4 names
+      
+       Fixes #489135
+
+  651 dobey    2008-04-12
+      2008-04-12  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool.m4:
+       Up the serial for IT_PROG_INTLTOOL to 40
+
+  650 dobey    2008-04-12
+      2008-04-11  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.39.99 to avoid conflicts with 0.3x.y versions
+       
+       * Makefile.am:
+       Don't distribute the *.in scripts any longer
+       Clean up the sed replacing
+       We don't use *.in.in for scripts any longer, just *.in
+      
+       * intltool.m4:
+       Update the version check to use intltool-update --version instead
+       Check for the intltool scripts in PATH instead of local copies
+       Remove the AC_CONFIG_COMMANDS to create the local script copies
+      
+       * intltool-*.in:
+       * intltool-*.in.in:
+       Rename all the *.in.in scripts to just *.in
+      
+       * intltoolize.in:
+       Only copy Makefile.in.in to a project's distribution
+      
+       Fixes #490620
+
+  649 dobey    2008-04-12
+      Remove svn:executable properties
+
+  648 dobey    2008-02-25
+      2008-02-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-extract.in.in (type_glade):
+       Handle the col tag when extracting strings, for GTK+ ui files
+      
+       Fixes #517559
+
+  647 dobey    2008-02-25
+      2008-02-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * Makefile.am:
+       Make the resulting final script output executable
+
+  646 dobey    2008-02-24
+      2008-02-24  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * Makefile.in.in:
+       Update comment block with proper author information
+       Update comment block with copyright information
+       Fix typos in comment block and remove extraneous confusing line
+      
+       Fixes #508320
+
+  645 dobey    2008-02-24
+      2008-02-24  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (FindPOTKeywords):
+       Unwrap lines wplit with trailing \
+       Patch from Loïc Minier <lool@dooz.org>
+      
+       Fixes #516501
+
+  644 dobey    2008-02-24
+      2008-02-24  Rodney Dawes <dobey.pwns@gmail.com>
+      
+       * tests/selftest.pl.in: Unset $LINGUAS to avoid failing when
+       we use tests with locales not specified in LINGUAS
+      
+       Fixes #518257
+
+  643 wbolster 2008-01-17
+      2008-01-17  Wouter Bolsterlee  <wbolster@svn.gnome.org>
+      
+       reviewed by: Rodney Dawes
+      
+       * intltool-update.in.in:
+      
+       Fix a regression: try to detect package name from
+       configure.{ac,in} only if $GETTEXT_PACKAGE is not set.
+       Since the name detection aborts if no configure.{ac,in}
+       was found, this broke non-autotooled projects.
+       Fixes bug #509411.
+
+  642 dobey    2007-12-17
+      2007-12-16  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.37.0 for release
+
+  641 dobey    2007-12-17
+      2007-12-16  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in.in (keys_merge_translation):
+       New method name for merging a single translation for multi-output
+       (keys_merge_translations):
+       Call keys_merge_translation for each language with multi-ouput
+       Call keys_merge_translation with "." as the language for single file
+      
+       Based on patch from Christian Persch <chpe@gnome.org>
+      
+       Fixes #487818
+
+  640 dobey    2007-12-17
+      2007-12-16  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-extract.in.in:
+       * intltool-merge.in.in:
+       Add quotedxml mode for encoding/decoding entities
+       Patch from Christian Persch <chpe@gnome.org>
+      
+       Fixes #487666
+
+  639 dobey    2007-12-09
+      2007-12-09  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       Up version to 0.36.3 for release
+
+  638 dobey    2007-12-09
+      2007-12-09  Rodney Dawes  <dobey.pwns@gnome.org>
+      
+       * tests/Makefile.am:
+       Add errors to CLEANFILES
+      
+       * tests/selftest.pl.in:
+       Remove the C directory when finished as well
+      
+       * tests/results/merge12.xml:
+       Update the test to deal with the previous fix for #499590
+
+  637 chpe     2007-11-29
+      2007-11-29  Christian Persch  <chpe@gnome.org>
+      
+       * intltool-merge.in.in: (entity_encode_int_minimalist):
+       Also encode ">". Bug #499590.
+
+  636 dobey    2007-11-25
+      2007-11-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (GeneratePOTemplate):
+       Quote MSGID_BUGS_ADDRESS when passing to xgettext
+      
+       Fixes #493267
+
+  635 dobey    2007-11-25
+      2007-11-25  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in.in (xml_merge_output):
+       Output the untranslated file in C/ for multiple output
+       Only output in the current directory for single-file output
+      
+       Fixes #487817
+
+  634 dobey    2007-11-24
+      2007-11-24  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles):
+       Handle the C_ macro as defined in gi18n.h along with N_ Q_ and _
+      
+       Fixes #499179
+
+  633 dobey    2007-10-31
+      2007-10-31  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles):
+       Only add the additional $SRCIDR/.. path if $SRCDIR is not .
+      
+       Fixes #491408
+
+  632 dobey    2007-10-31
+      2007-10-31  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltoolize.in: Update the grep to check for IT_PROG_INTLTOOL
+       being defined in aclocal.m4, to avoid the error message when not needed
+      
+       Fixes #481833
+
+  631 dobey    2007-10-31
+      2007-10-31  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool.m4: Add a block to check for GNU gettext tools and fail
+       if the scripts aren't found and aren't GNU versions
+      
+       Fixes #490845
+
+  630 dobey    2007-10-22
+      2007-10-22  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in.in (gather_po_files):
+       Replace the if (/match/) with a for (split) to handle locales
+       separated by whitespace on the same line in the LINGUAS file
+       Original patch from Mike Massonnet <mike.massonnet@gmail.com>
+      
+       Fixes #488724
+
+  629 dobey    2007-09-15
+      2007-09-15  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in.in (isProgramInPath):
+       Pass -l as the argument, as iconv with no argument stalls
+
+  628 dobey    2007-09-15
+      2007-09-15  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in.in (isProgramInPath:
+       Remove --version from the test run
+      
+       Fixes #464846
+
+  627 dobey    2007-09-02
+      2007-09-02  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * MAINTAINERS: Update with proper formatting
+
+  626 chpe     2007-08-27
+      2007-08-26  Christian Persch  <chpe@gnome.org>
+      
+       * intltool-merge.in.in: Only merge translations for languages listed
+       in LINGUAS. Bug #438178.
+
+  625 dobey    2007-08-13
+      2007-08-13  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in: Up version to 0.36.1 for release
+
+  624 dobey    2007-08-09
+      2007-08-09  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-merge.in.in:
+       Get rid of isGNUGettextTool as we don't really need it here
+       Only check if iconv is in the path
+      
+       Fixes #464846
+
+  623 dobey    2007-08-07
+      2007-08-07  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles):
+       Strip _build/ from the path name, to ignore some files during distcheck
+      
+       Fixes #464474
+
+  622 dobey    2007-08-07
+      2007-08-07  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (CONF_Handle_Open):
+       Check for the conf_in file in $SRCDIR/../ instead of just ../
+      
+       Fixes #464474
+
+  621 dobey    2007-08-07
+      2007-08-06  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (Console_Write_CoverageReport):
+       Print the locale id and Current translation status message to STDERR
+      
+       Fixes #464121
+
+  620 dobey    2007-08-03
+      2007-08-02  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in: Up version to 0.36.0 for release
+      
+       * intltool.m4: Up serial to 36
+
+  619 dobey    2007-08-03
+      Update svn:ignore
+
+  618 dobey    2007-08-02
+      2007-08-02  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * configure.in:
+       * Makefile.am:
+       * intltool.m4:
+       Don't need the xgettext/msgfmt/msgmerge/iconv checks any more
+       Don't need to substitute xgettext/msgfmt/msgmerge/iconv variables
+      
+       * intltool-merge.in.in: Add isProgramInPath and isGNUGettextTool
+       methods and check for GNU iconv here
+      
+       * intltool-update.in.in (Get_Program_Path):
+       Rename to isProgramInPath
+       Use $devnull to redirect
+       Pass --version to $file to avoid "no input file" errors
+       (isGNUGettextTool): New method to check for GNU gettext tools
+       (GenerateHeaders, GeneratePOTemplate, POFile_Update):
+       (Console_Write_TranslationStatus, Console_Write_CoverateReport):
+       Update to use isGNUGettextTool to ensure we use GNU gettext tools
+      
+       Fixes #301364 and #311936
+
+  617 dobey    2007-08-02
+      2007-08-02  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (isIntltoolExtractInPath):
+       Rename to Get_Program_Path
+       (GenerateHeaders, GeneratePOTemplate): Use Get_Program_Path method
+       to find the path for $EXTRACT and $XGETTEXT
+      
+       Fixes #349560
+
+  616 davidz   2007-08-01
+      2007-08-01  David Zeuthen  <davidz@redhat.com>
+      
+              * intltool-update.in.in, intltool.m4: Add support for PolicyKit
+              policy XML files (extension .policy).
+      
+              Fixes #462312
+
+  615 dobey    2007-08-01
+      2007-08-01  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       Patch from Wouter Bolsterlee <wbolster@gnome.org>
+      
+       * intltool-update.in.in. (FindLeftoutFiles):
+       Don't need to strip $SRCDIR from filenames when adding to hash table
+       Gettext doesn't require the reference to not have the leading ../
+      
+       Fixes #449938
+
+  614 danilo   2007-07-20
+      Fix #411698: XML entity escaping broken, patch from Leonardo Boshell.
+
+  613 danilo   2007-07-20
+      Fix #411698: XML entity escaping broken, patch from Leonardo Boshell.
+
+  612 dobey    2007-06-30
+      2007-06-30  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles):
+       Look for files in $SRCDIR/.. as well as ..
+       Strip $SRCDIR from the filenames when adding to the hash table
+       Strip $SRCDIR from the filenames when looking up in the hash table
+       Strip $SRCDIR from the filenames when listing in missing
+       
+       Fixes #438722
+
+  611 dobey    2007-06-30
+      2007-06-30  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool-update.in.in (GeneratePOTemplate):
+       Don't write $SRCDIR/../ or ../ to POTFILES.in.temp
+       Pass .. as the --directory argument to xgettext
+       Pass --default-domain to xgettext
+       Pass --flag arguments for glib functions to xgettext
+      
+       Fixes #449938
+
+  610 dobey    2007-06-29
+      2007-06-28  Rodney Dawes  <dobey.pwns@gmail.com>
+      
+       * intltool.m4: Fix autoconf warnings
+       Patch from Guillem Jover
+      
+       Fixes #430093
+
+  609 dobey    2007-06-27
+      2007-06-27  Rodney Dawees  <dobey.pwns@gmail.com>
+      
+       * Makefile.in.in: Add dummy install-exec
+      
+       Fixes #448200
+
+  608 dobey    2007-03-23
+      2007-03-17  Thomas Andersen  <phomes@gmail.com>
+      
+       * tests/cases/extract13.desktop.in
+       Remove invalid category "Application"
+      
+       Fixes #417659
+
+  607 danilo   2007-03-02
+      Fix #413461: do look inside PATH for intltool-extract.
+
+  606 tml      2007-02-28
+      2007-02-28  Tor Lillqvist  <tml@novell.com>
+      
+       * tests/selftest.pl.in: Use --strip-trailing-cr on Windows. (This
+       requires a reasonably new GNU diff. The 2.8.7 one from gnuwin32
+       seems to work fine.) Fixes make check on Windows.
+
+  605 dobey    2007-02-23
+      2007-02-23  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.35.5 for release
+
+  604 dobey    2007-02-14
+      2007-02-13  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (GenerateHeaders):
+       * Makefile.am:
+       Don't hardcode the fallback path to intltool-extract
+      
+       Fixes #399476
+
+  603 dobey    2007-02-14
+      2007-02-13  Rodney Dawes  <dobey@novell.com>
+      
+       * intltoole-merge.in.in (xml_merge_output, quoted_merge_translations):
+       Check that $lang is a directory, rather than just that it exists
+       Create the directory if it doesn't exist, and check that it is a
+       directory if it gets created by a different thread
+       Original patch from Leonardo Boshell
+      
+       Fixes #400788
+
+  602 dobey    2007-01-22
+      2007-01-22  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles): Update the -s check to
+       use $SRCDIR when looking for POTFILES.{skip,ignore} as well
+      
+       Fixes #391892 more completely
+
+  601 dobey    2007-01-10
+      2007-01-10  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-extract.in.in (type_ini): Handle extracting comments as
+       well as messages
+       * tests/cases/Makefile.am: Add extract13.desktop.in appropriately
+       * tests/cases/extract13.desktop.in: New test case for .desktop comments
+       * tests/results/Makefile.am: Add extract13.desktop.in.h
+       * tests/results/extract13.desktop.in.h: Resulting header with strings
+       * tests/selftest.pl.in: Add test case 32 for extracting desktop file
+       comment strings for translators
+      
+       Patch from Takao Fujiwara <Takao.Fujiwara@Sun.COM>
+      
+       Fixes #390271
+
+  600 dobey    2007-01-08
+      2007-01-08  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.35.4 for release
+
+  599 dobey    2007-01-08
+      2007-01-08  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles): Fix the logic of the
+       previous commit to avoid potential breakage
+
+  598 dobey    2007-01-05
+      2007-01-05  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.35.3 for release
+
+  597 dobey    2007-01-04
+      2007-01-04  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles): Check that the file listed
+       in POTFILES.in exists in ../ if not found in $SRCDIR/../
+
+  596 dobey    2007-01-04
+      Set svn:ignore property on cases directory
+      Update .cvsignore file with more ignores
+
+  595 dobey    2007-01-04
+      2007-01-03  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles): Load POTFILES.skip or
+       POTFILES.ignore from $SRCDIR
+       Handle the files in POTFILES.{skip,ignore} separately from POTFILES.in
+       so that we can ignore them when checking that all the files listed in
+       POTFILES.in still exist, as POTFILES.skip may contain generated files
+       that only exist for a short amount of time, and can be optional in some
+       builds
+      
+       Fixes #391892
+
+  594 juergbi  2007-01-03
+      2007-01-03  Jürg Billeter  <j@bitron.ch>
+      
+       * Makefile.in.in: Fix LINGUAS environment variable support to match the
+       entries in the LINGUAS file more precisely
+      
+       Fixes #342500 even more completely
+
+  593 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.35.2 for release
+
+  592 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (POTFILES): Reinstate the comment hack, as the $(NULL)
+       change doesn't work for all cases
+
+  591 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-extract.in.in (place_normal): Check that the directory
+       exists, and create it if not, so that we can write the files
+      
+       Fixes #348952
+
+  590 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (POTFILES): Replace useless comment with $(NULL)
+      
+       Fixes #330509
+
+  589 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (POTFILES): Replace useless comment with PLACEHOLDER
+      
+       Fixes #330509
+
+  588 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (GenerateHeaders, GeneratePOTemplate):
+       We don't need to use $SRCDIR/ for generating the header files, as they
+       need to go into $builddir
+
+  587 dobey    2006-12-20
+      2006-12-20  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles): Check that there is a word
+       in front of .GetString for C# and allow any number of spaces before (
+       Check for N_, Q_, and _ with any number of spaces between _ and (
+      
+       Fixes #386118
+
+  586 dobey    2006-12-19
+      2006-12-19  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in: Use $SRCDIR/ in front of .. where appropriate
+
+  585 dobey    2006-12-19
+      2006-12-19  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Add a call to intltool-update -m to the check rule
+       so that we can ensure that POTFILES.in is kept up to date
+       (USER_LINGUAS): Remove trailing whitespace which broke building without
+       LINGUAS set in the environment
+
+  584 dobey    2006-12-18
+      2006-12-18  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Fix the LINGUAS support to only use locales that are
+       in both LINGUAS and the LINGUAS file or ALL_LINGUAS variable, if
+       LINGUAS is set in the build environment
+      
+       Fixes #342500 more completely
+
+  583 dobey    2006-12-09
+      2006-12-09  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in: Set $PKGNAME variable with FindPackageName so
+       that FindPackageName always gets run, even with --gettext-package=foo
+       Fall back to $PKGNAME instead of &FindPackageName
+      
+       Fixes #350013
+
+  582 dobey    2006-12-09
+      2006-12-08  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Set $(top_builddir) to @top_builddir@ instead of ..
+       Use $(top_builddir) instead of .. for the stamp-it rule
+       Patch from Daniel Leidert <daniel.leidert.spam@gmx.net>
+      
+       Fixes #345560
+
+  581 dobey    2006-12-08
+      2006-12-08  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Add support for using LINGUAS environment variable
+       during build and install
+       Simplify some of the rules to use USE_LINGUAS to avoid duplication
+      
+       Fixes #342500
+
+  580 dobey    2006-12-06
+      2006-12-06  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.35.1 for release
+
+  579 dobey    2006-12-04
+      2006-12-04  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-merge.in.in (create_translation_database):
+       Make regex patterns greedier, to avoid perl stack overflows
+       Patch from Joerg Sonnenberger <joerg@bec.de>
+      
+       Fixes #353403
+
+  578 dobey    2006-10-24
+      2006-10-24  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool.m4: Add code from glib-gettext to detect DATADIRNAME
+       Patch from Loïc Minier <lool+gnome@via.ecp.fr>
+      
+       Fixes #345255
+
+  577 dobey    2006-06-19
+      2006-06-19  Rodney Dawes  <dobey@novell.com>
+      
+       * tests/selftest.pl.in (check_command_result): Check for the output
+       of No differences from the diff command to work with older/non-GNU
+       versions of diff. Original patch from Tim Mooney
+      
+       Fixes #345114
+
+  576 dobey    2006-05-23
+      2006-05-23  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-extract.in.in (escape_char): Return \\\\ when escaping \\
+      
+       * tests/selftest.pl.in:
+       * tests/cases/Makefile.am:
+       * tests/cases/test-quoted.dtd:
+       * tests/cases/test-quoted.po:
+       * tests/results/Makefile.am:
+       * tests/results/multi.test-quoted.dtd:
+       * tests/results/test-quoted.dtd.h:
+       Add tests for testing the new gettext/quoted style implementation
+      
+       * tests/results/merge-deepattr.xml: Update to include a dummy tag
+       section for the "test-quoted" lang that was added for the above tests
+      
+      2006-05-19  Chris Lahey  <clahey@clahey.net>
+      
+       * intltool-extract.in.in
+       * intltool-merge.in.in:
+       * doc/intltool-extract.8:
+       * doc/intltool-merge.8: Added gettext/quoted format which just extracts
+       and/or merges all strings between "".
+       Merging only supports multiple file mode.
+
+  575 dobey    2006-05-16
+      2006-05-16  Rodney Dawes  <dobey@novell.com>
+      
+       * intltoolize.in: Change the warning message for a missing call to
+       IT_PROG_INTLTOOL in configure.{in,ac} to a more appropriate error,
+       and exit with a return value of 1 if it is not present
+      
+       Fixes #341985
+
+  574 dobey    2006-05-15
+      2006-05-15  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.35.0 for release
+      
+       * intltool.m4: Up serial to 35
+
+  573 dobey    2006-05-10
+      2006-05-10  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (GeneratePOTemplate): Get MSGID_BUGS_ADDRESS
+       from Makevars and pass it in to xgettext
+       (FindMakevarsBugAddress): Look for MSGID_BUGS_ADDRESS in Makevars so
+       that we can pass it to xgettext
+      
+       Fixes #329346 Original patch by Dwayne Bailey <dwayne@translate.org.za>
+
+  572 dobey    2006-05-09
+      2006-05-09  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (PO_LINGUAS): Use $(srcdir)/LINGUAS rather than just
+       LINGUAS here, to fix builddir != srcdir
+      
+       Fixes #341058
+
+  571 dobey    2006-04-27
+      2006-04-27  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (PO_LINGUAS): Quote the ^\# argument to grep, so that
+       it gets interpreted properly
+
+  570 dobey    2006-04-27
+      2006-04-27  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (POFILES, CATALOGS): Replace the echo $$lang.{po,gmo}
+       command within the for loop, with printf "$$lang.{po,gmo} " so that we
+       will work on Solaris again
+      
+       Fixes #339770
+
+  569 dobey    2006-04-26
+      2006-04-26  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (PO_LINGUAS): Use test -r instead of -e, for Solaris
+      
+       * intltool.m4: Up the serial to 34
+
+  568 dobey    2006-04-24
+      2006-04-21  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool.m4: Handle micro-version number when checking that the
+       intltool version is >= the requested version
+      
+       Fixes #339627
+
+  567 dobey    2006-04-17
+      2006-04-17  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Restore stub tags for automake to work properly
+      
+       Fixes #338817
+
+  566 dobey    2006-04-12
+      2006-04-11  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Dump localedir, gnuclocaledir, and gettextsrcdir
+       variables as we no longer need them
+       Add DATADIRNAME substitution handling and define itlocaledir with it
+       Dump GMOFILES as it is not used in here
+       Add in a variable to deal with old ALL_LINGUAS
+       Set up PO_LINGUAS to get the locales from the LINGUAS file
+       Set up POFILES to be generated from one of PO_LINGUAS or ALL_LINGUAS
+       Dump CATOBJEXT as we no longer need it in here
+       Set up CATALOGS to be genereated from one of PO_LINGUAS or ALL_LINGUAS
+       Replace usage of CATALOGS to decipher the locale from, with straight
+       usage of either PO_LINGUAS or ALL_LINGUAS to get the locale names
+      
+       * configure.ac: Bump the version so modules can depend on these changes
+       for supporting LINGUAS files in po subdirectories
+      
+       * intltool.m4: Substitute the ALL_LINGUAS variable, so that we can
+       use it in our Makefile.in.in, for modules that have not migrated yet
+
+  565 dobey    2006-04-12
+      2006-04-11  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Remove all the bits related to building C code, we
+       don't need it in here, as all we're doing is processing translations
+
+  564 dobey    2006-03-22
+      2006-03-22  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-merge.in.in (create_translation_database): Change WARNING
+       to NOTICE for non-UTF-8 po file encodings, and print to STDOUT rather
+       than STDERR as it isn't an error
+      
+       Fixes #331046
+
+  563 danilo   2006-03-18
+      Added MAINTAINERS file.
+
+  562 danilo   2006-02-15
+      Fix recursive variable definitions hanging intltool.
+
+  561 dobey    2006-02-15
+      2006-02-14  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Add useless comment after POTFILES = \ line, so that
+       the CATALOGS variable doesn't get replaced by the POTFILES data
+       This is a temporary workaround for bug #330509
+
+  560 dobey    2006-02-05
+      2006-02-05  Rodney Dawes  <dobey@novell.com>>
+      
+       * NEWS:
+       * configure.in: Update for 0.34.2 release.
+      
+       * tests/results/Makefile.am: Fix typo to make dist work again
+
+  559 dobey    2005-12-16
+      2005-12-16  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update
+      
+       * intltool.m4: Complain if automake version in use is not >= 1.5
+       See bug #323282
+
+  558 dobey    2005-11-29
+      2005-11-28  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update to include list of fixes since 0.34.1
+
+  557 carlosgc 2005-11-28
+      2005-11-28  Carlos Garcia Campos  <carlosgc@gnome.org>
+       * intltool-update.in.in:
+       * intltool.m4:
+       Add support for DBus .service files
+
+  556 dobey    2005-11-25
+      2005-11-25  Simos Xenitellis  <simos@gnome.org>
+      
+       * intltool-extract.in.in (intltool_tree_comment): Just copy the
+       original string from expat, and strip the begin/end comment blocks
+      
+       * tests/cases/iso88591text.xml.in:
+       * tests/cases/unicodetext.xml.in:
+       * tests/cases/Makefile.am: New test cases for XML comment encoding
+      
+       * tests/results/iso88591text.xml.in.h:
+       * tests/results/unicodetext.xml.in.h:
+       * tests/results/Makefile.am: New results for XML comment encoding tests
+      
+       * tests/selftest.pl.in: Add the new regression tests for XML comments
+      
+       Fixes #320721
+
+  555 dobey    2005-11-24
+      2005-11-24  Stepan Kasal  <kasal@ucw.cz>
+      
+       This change fixes interaction with AM_GNU_GETTEXT and helps when
+       intltool is used with multiple po directories.
+      
+       * intltool.m4 (IT_PO_SUBDIR): New macro, installs a hook which
+         fixes $1/Makefile and touches $1/stamp-it.
+       (IT_PROG_INTLTOOL): Call IT_PO_SUBDIR([po]), instead of the
+         AC_CONFIG_COMMANDS_PRE hook.
+       * Makefile.in.in (POTFILES, Makefile): These rules now use the
+         stamp file "stamp-it".
+       (distclean): Remove the file "stamp-it".  Don't delete $(GMOFILES),
+         because AM_GNU_GETTEXT adds srcdir prefix to the files; use mere
+         "*.gmo" instead.
+      
+       Fixes #312217
+
+  554 dobey    2005-11-24
+      2005-09-21  Stepan Kasal  <kasal@ucw.cz>
+      
+       * Makefile.in.in (dist): Fix two bugs for srcdir != builddir.
+
+  553 dobey    2005-11-24
+      2005-11-24  Stepan Kasal  <kasal@ucw.cz>
+      
+       * configure.in (EXPANDED_LIBDIR, EXPANDED_DATADIR): Removed, they are
+         no longer used.
+
+  552 dobey    2005-11-24
+      2005-11-24  Stepan Kasal  <kasal@ucw.cz>
+      
+       * Makefile.in.in (MKINSTALLDIRS): This variable is no longer
+       defined, remove all references.
+       ($(top_srcdir)/mkinstalldirs): Do not use this script, it's
+       deprecated and may not be available with Automake >= 1.8.
+       (mkdir_p): Use this instead.  mkdir_p is AC_SUBSTed by Automake >= 1.8.
+       Until we can suppose that, use "$(install_sh) -d"; it is a safe
+       fallback working with all versions of Automake >= 1.5.
+
+  551 dobey    2005-11-24
+      2005-11-24  Stepan Kasal  <kasal@ucw.cz>
+      
+       * intltool-merge.in.in (EXPANDED_LIBDIR): Rename to ..
+       (INTLTOOL_LIBDIR): ... this.
+       * intltool-prepare.in: Use @INTLTOOL_PERL@, not @PERL@.
+       * intltool-unicodify.in: Both of the above two changes.
+       * configure.in: Don't generate the scripts here, ...
+       * Makefile.am: ... generate all of them here.  Reorganize,
+         so that the file lists are not redundant; use the "dist_"
+         prefix where possible. When creating *.in from *.in.in,
+         substitute only PACKAGE and VERSION, nothing more.
+       (%: %.in): Fix this rule, so that the @...@ substrings are not
+         garbled by configure; add INTLTOOL_LIBDIR.
+       * intltool.m4 (IT_PROG_INTLTOOL): Simplify the AC_CONFIG_COMMANDS at
+         the end, and add INTLTOOL_LIBDIR.
+
+  550 dobey    2005-11-24
+      2005-11-24  Rodney Dawes  <dobey@novell.com>
+      
+       * intltoolize.in: Use POSIX sh syntax for Solaris (Laszlo Peter)
+      
+       Fixes #322263
+
+  549 tml      2005-09-16
+      2005-09-16  Tor Lillqvist  <tml@novell.com>
+      
+       * intltoolize.in: On Win32 set prefix from $0. Do not use the
+       configure-time path. This should make intltoolize work even if
+       installed by the end-user in a different location than the prefix
+       passed to configure by the packager.
+
+  548 skasal   2005-08-23
+      Drop support for Autoconf 2.13.
+
+  547 skasal   2005-08-23
+      Eliminate INSTOBJEXT.
+
+  546 dobey    2005-08-18
+      2005-08-17  Stepan Kasal  <kasal@ucw.cz>
+      
+       * Makefile.in.in (GENCAT): Remove the variable; glib-gettext doesn't
+       substitute it and GNU gettext deprecates it; replace the occurence
+       with constant "gencat".
+
+  545 dobey    2005-08-18
+      2005-08-17  Stepan Kasal  <kasal@ucw.cz>
+      
+       * intltool.m4 (AC_PROG_INTLTOOL): Use AU_ALIAS, not AC_DEFUN,
+       so that "autoconf -W obsolete" and "autoupdate" know.
+       Add a hint for aclocal from Automake <= 1.9.5.
+
+  544 dobey    2005-08-17
+      2005-08-16  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindPackageName): Set PACKAGE_NAME instead
+       of AC_PACKAGE_NAME
+       Patch from Peter Moulder
+      
+       Fixes #311523
+
+  543 dobey    2005-08-02
+      2005-08-02  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update to reference bug numbers and changes better for 0.34.1
+
+  542 danilo   2005-08-02
+      Prepare for 0.34.1 release.
+
+  541 danilo   2005-08-01
+      Fix intltool-extract getAttributesString dropping attributes bug.
+
+  540 skasal   2005-07-29
+      datarootdir: ...but the order matters
+
+  539 dobey    2005-07-29
+      2005-07-29  Rodney Dawes  <dobey@novell.com>
+      
+       * intltoolize.in: Add datarootdir variable for compatibility with
+       Autoconf > 2.59 as well, since we use datadir here
+
+  538 dobey    2005-07-29
+      2005-07-29  Stepan Kasal  <kasal@ucw.cz>
+      
+       * Makefile.in.in: Add datarootdir variable, for compatibility with
+       Autoconf > 2.59.
+
+  537 dobey    2005-07-29
+      2005-07-28  Stepan Kasal  <kasal@ucw.cz>
+      
+       * intltool.m4 (IT_PROG_INTLTOOL): Don't compute mkdir_p, it's no
+       longer used in Makefile.in.in.
+       * Makefile.in.in: Remove the line "mkdir_p = @mkdir_p@".
+
+  536 dobey    2005-07-29
+      2005-07-28  Rodney Dawes  <dobey@novell.com>
+      
+       * doc/intltool-merge.8: Fix a typo s/seperated/separated/
+      
+       Fixes #311521
+
+  535 skasal   2005-07-26
+      typo
+
+  534 dobey    2005-07-25
+      2005-07-25  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Update for 0.34 release
+
+  533 skasal   2005-07-21
+      Do not use changequote nor \[
+
+  532 skasal   2005-07-21
+      Fix the rule for [encoding...] in POTFILES.
+
+  531 danilo   2005-07-06
+      Ignore comments in getXMLString.
+
+  530 tpm      2005-07-04
+      * README: Mention DISTCLEANFILES in automake section (without
+      that 'make distcheck' might not work in programs). (#309455)
+
+  529 danilo   2005-06-26
+      Update maintainers list with current info.
+
+  528 danilo   2005-06-26
+      Small build fixes.
+
+  527 danilo   2005-06-26
+      Add testcase for XML well-formed checks.
+
+  526 danilo   2005-06-26
+      Fix #170471: discard non-well-formed translations when merging XML.
+
+  525 danilo   2005-06-26
+      Updated README for comment handling.
+
+  524 danilo   2005-06-26
+      Add spacepreserve/merge6.xml to CLEANFILES.
+
+  523 danilo   2005-06-26
+      Add new test files to Makefiles.
+
+  522 danilo   2005-06-26
+      Fix bug #160262, switch intltool-extract to XML::Parser.
+
+  521 danilo   2005-06-16
+      Fix bug #171579, support comment appending.
+
+  520 dobey    2005-06-11
+      2005-05-10  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindLeftoutFiles): Update the sed script to
+       be more practical with the checking of translatable tags in XML files
+       Patch from Nickolay V. Shmyrev <nshmyrev@yandex.ru>
+      
+       Fixes #304365
+
+  519 dobey    2005-05-08
+      2005-05-08  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (EXTRA_DISTFILES): New variable for specifying files
+       that should get disted, but may not always exist
+       (dist): Dist the files listed in $(EXTRA_DISTFILES) also
+      
+       Fixes #168788 and #171327
+
+  518 dobey    2005-05-08
+      2005-05-08  Stepan Kasal  <kasal@ucw.cz>
+      
+       * Makefile.in.in (dist): Don't create $(GETTEXT_PACKAGE).pot now,
+       when we don't do update-po and don't distribute it.
+       (check): Hook it here instead, so that distcheck verifies that all
+       the sources listed in POTFILES.in are indeed distributed.
+
+  517 dobey    2005-03-10
+      2005-03-10  Tor Lillqvist  <tml@novell.com>
+      
+       * intltool-extract.in.in
+       * intltool-merge.in.in: Open output files in binary mode on native
+       Win32 so that newlines aren't translated to CRLF. Both work, and
+       using Unix newlines makes sure that our make check works, as the
+       expected result files have Unix newlines. An alternative would be
+       to strip CRs from the test results before comparing.
+      
+       * intltool-update.in.in:
+       * intltool-merge.in.in: Use NUL: on Win32. Note that we do this
+       only in the Perl scripts. The shell scripts are run under some
+       Unix emulation (Cygwin or MSYS) on Win32 anyway, so in them it's
+       fine to use /dev/null.
+      
+       * tests/selftest.pl.in (check_multimerge_result): Run through the
+       env command so it works also if using a Win32 native Perl (as
+       opposed to a Cygwin- or MSYS-hosted one).
+
+  516 dobey    2005-03-01
+      2005-03-01  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (DISTFILES): Remove $(GMOFILES) from here
+       (distclean): Remove $(GMOFILES) here instead of maintainer-clean
+       (maintainer-clean): Remove Makefile.in.in here
+      
+       Fixes #166724
+
+  515 skasal   2005-03-01
+      fix the .po.pox rule
+
+  514 dobey    2005-02-01
+      2005-02-01  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (Console_Write_TranslationStatus):
+       (Console_Write_CoverageReport):
+       Use --verbose instead of --statistics for msgfmt
+      
+       Fixes #165881
+
+  513 dobey    2005-01-28
+      2005-01-27  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in: Update comment header block to include notification
+       of modifications for intltool, and for the "INTLTOOL_MAKEFILE" string
+      
+       * intltoolize.in: Remove all of the patching and replace it with a
+       check for the "INTLTOOL_MAKEFILE" string in Makefile.in.in, and an
+       error message for when that fails
+      
+       Fixes #165066
+
+  512 dobey    2005-01-24
+      2005-01-23  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.33 for release
+
+  511 dobey    2005-01-24
+      Add INSTALL to .cvsignore
+
+  510 dobey    2005-01-24
+      2005-01-23  Rodney Dawes  <dobey@novell.com>
+      
+       * INSTALL: Remove this automake generated file from CVS
+      
+       * Makefile.am (SUBDIRS): Remove doc-i18n-tool
+       (CLEANFILES): Remove the *.gz glob
+       (EXTRA_DIST): Put intltool.spec in here (for now) and get rid of
+       the dist-hook rule
+      
+       * configure.in: Remove the large dnl section for doc-i18n-tool
+       Remove doc-i18n-tool/Makefile from AC_OUTPUT
+      
+       * tests/selftest.pl.in: Fix the spacing for test 24
+       Clean up after ourselves so we pass distcheck
+      
+       * tests/cases/Makefile.am (EXTRA_DIST): Add extract12.xml.in
+       (CLEANFILES): Add the list of generated files here, so that we
+       clean up after ourselves when builddir == srcdir
+      
+       * tests/results/Makefile.am (EXTRA_DIST): Add extract12.xml.in.h
+
+  509 dobey    2005-01-24
+      2005-01-23  Rodney Dawes  <dobey@novell.com>
+      
+       * HACKING: Update to have the right info for the Mailing List
+      
+       * README: Update the Mailing List info and URL
+      
+       * TODO: Update to not say "fix bugs", and remove some completed items
+      
+       * USED: Removed this as per the TODO
+
+  508 dobey    2005-01-21
+      2005-01-20  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.in.in (MSGMERGE, GENPOT): Set srcdir for these two scripts
+       (DISTFILES): Remove $(GETTEXT_PACKAGE).pot from here
+       (.po.pox): Use $(top_builddir)/po/$(GETTEXT_PACKAGE).pot
+       (.po.gmo): Don't prepend $(srcdir)/ to $$file here
+       ($(srcdir)/$(GETTEXT_PACKAGE).pot): Change this rule to not have the
+       $(srcdir)/ prepended to it
+       (mostlyclean): Fix a bug and remove $(GETTEXT_PACKAGE).pot instead of
+       $(GETTEXT_PACKAGE).po, since this is actually the file
+       (dist distdir): Don't depend on the update-po rule
+       (update-po): Don't cd to $(srcdir) to update the po files
+       Use the $(MSGMERGE) variable for building, instead of using a busted
+       path to $(INTLTOOL_UPDATE)
+      
+       * intltool-update.in.in: Replace $lang.po with $SRCDIR/$lang.po in
+       all the locations we use $lang.po
+       (GeneratePOTemplate): Use ../$_.h\n for the
+       OUTFILE when generating the headers for xml/ini support
+       Use ../$_\n for regular files when SRCDIR == "."
+       Use . as the directory argument for xgettext instead of ..
+      
+       Fixes #159846
+
+  507 dobey    2005-01-21
+      2005-01-20  Miloslav Trmac <mitr@volny.cz>
+      
+       * intltool-extract.in.in (type_xml): Ignore empty strings that are
+       marked for translation in XML files
+      
+       * test/selftest.pl.in: Add test 24 to ignore empty strings in XML
+       files that are marked for translation
+       * test/cases/extract12.xml.in: Test case for emptry strings in XML
+       * test/results/extract12.xml.in.h: Test case results for empty strings
+       in XML files that are marked for translation
+      
+       Fixes #163689
+
+  506 dobey    2005-01-21
+      2005-01-20  James Henstridge  <james@jamesh.id.au>
+      
+       * intltoolize.in: if AC_CONFIG_MACRO_DIR is used in the
+       configure.in file, install intltool.m4 to that macro directory.
+      
+       Fixes #160943
+
+  505 dobey    2005-01-21
+      2005-01-20  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (echo_n): Add new method to implement the
+       echo -n functionality which is not available on all platforms
+       (SubstituteVariable): Use echo_n () instead of `echo -n`
+      
+       Fixes #162027
+
+  504 danilo   2005-01-18
+      Fix local mode (by Jeremy Katz).
+
+  503 danilo   2004-12-03
+      Add support for nesting of translatable content.
+
+  502 dobey    2004-11-25
+      2004-11-25  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.am: Fix sed rule for intltool scripts to use # as the
+       separator, and prefix the gettext program name variables with INTLTOOL
+      
+       * NEWS: Document bug fix, and previous commit
+      
+       * configure.in: Prefix gettext program name variables with INTLTOOL
+      
+       * intltool-po-Makefile.in.in-patch-?: These patches are no longer used
+      
+       * intltool.m4: Fix sed rule for intltool script creation to use # as
+       the separator, and prefix the gettext program name variables with
+       INTLTOOL
+      
+       Fixes #156454
+
+  501 dobey    2004-11-22
+      2004-11-21  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool.m4: Update serial for IT_PROG_INTLTOOL to 2
+      
+       * intltoolize.in: Update serial check to check for IT_PROG_INTLTOOL
+       instead of AC_PROG_INTLTOOL
+
+  500 danilo   2004-11-12
+      2004-11-12  Danilo Å egan  <dsegan@gmx.net>
+      
+       * NEWS: Document changes.
+      
+       * intltool-merge.in.in (intltool_tree_cdatastart): Added.
+       (intltool_tree_cdataend): Added.
+       (traverse): Simple style fix.
+       (readXml): Set CDATA handlers.
+      
+       * tests/selftest.pl.in: Add test 22 to test CDATA merging.
+       * tests/results/Makefile.am (EXTRA_DIST): Add merge-cdata.xml, sorted.
+       * tests/cases/Makefile.am (EXTRA_DIST): Add merge-cdata.xml.in, sorted.
+       * tests/results/merge-cdata.xml: Added.
+       * tests/cases/merge-cdata.xml.in: Added.
+
+  499 dobey    2004-11-06
+      2004-11-06  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Up version to 0.32.1 for release
+
+  498 danilo   2004-11-06
+      2004-11-06  Danilo Å egan  <dsegan@gmx.net>
+      
+       Fixes #145017.
+      
+       * NEWS: Document changes.
+      
+       * tests/selftest.pl.in (check_multimerge_result): Removed "-p" and
+       "-u" options.
+      
+       * tests/results/merge1.xml: Updated test result.
+      
+       * intltool-merge.in.in (print_help): modify -p, -u help messages.
+       (utf8_sanity_check): default to UTF-8.
+       (entity_encode): only minimalistic encoding.
+       (entity_encode_int_even_high_bit): removed.
+       Added utf8_sanity_check for all styles except RFC822.
+       (traverse): s/"<$nodename$outattr"/"<$nodename", $outattr/.
+
+  497 dobey    2004-11-05
+      2004-11-05  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update for bug fix
+      
+       * intltool-update.in.in ($ini_support): Add support for .icon files
+       Original patch from Takao Fujiwara <Takao.Fujiwara@Sun.COM>
+      
+       ChangeLog: Fix date for previous entry (doh)
+      
+       Fixes #157412
+
+  496 danilo   2004-11-05
+      2004-11-05  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-merge.in.in (getAttributeString): I missed some parts
+       of the patch during commit of #155843 fix (2004-10-23).
+
+  495 dobey    2004-11-04
+      2004-07-27  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS:
+       * configure.in: Update for 0.32
+       (AC_OUTPUT): Remove xml-i18n-toolize
+
+  494 dobey    2004-11-04
+      2004-11-04  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update for bug fix
+      
+       * intltool-update.in.in (isNotValidMissing): Add this function to
+       intltool-update so we can check for special directories and avoid
+       complaining that files with translations are missing from them
+       (FindLeftoutFiles): Add calls to check isNotValidMissing before pushing
+       files onto the stack of missing files, so that we don't include files
+       in special directories that shouldn't be in POTFILES.in
+      
+       Fixes #157278
+
+  493 dobey    2004-11-04
+      2004-11-04  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update for bug fix
+      
+       * intltool.m4: Rename AC_PROG_INTLTOOL to IT_PROG_INTLTOOL and add a
+       definition for AC_PROG_INTLTOOL to just call IT_PROG_INTLTOOL as a
+       means of deprecation (this is what libtool does for AM_PROG_LIBTOOL)
+      
+       Fixes #151508
+
+  492 dobey    2004-11-04
+      2004-11-04  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update for bug fix
+      
+       * intltool.m4: Add INTLTOOL_XML_NOMERGE_RULE so that people can pull
+       strings from XML files, but not merge the translations back in
+      
+       Fixes #155842
+
+  491 dobey    2004-11-04
+      2004-11-04  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.am: Remove all of the xml-i18n-tools bits as they are no
+       longer used, and looking at the code, don't work anyway
+      
+       * xml-i18n-po-Makefile.in.in-patch-?:
+       * xml-i18n-toolize.in:
+       * xml-i18n-tools.m4:
+       Remove all these files from CVS as they are no longer used and didn't
+       work anyway, since they used scripts that no longer existed
+
+  490 dobey    2004-11-04
+      2004-11-04  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update for fixes
+      
+       * Makefile.in.in: Fix mkinstalldirs stuff to match what automake
+       generates elsewhere more closely, and to work with automake 1.4
+      
+       * intltool.m4: Add the m4 stuff from AM_PROG_MKDIR_P, so that we
+       can AC_SUBST mkdir_p, to work with automake 1.4
+      
+       Fixes #157298
+
+  489 dobey    2004-11-03
+      
+       * NEWS: Update for Makefile.in.in usage changes
+      
+       * doc/I18N-HOWTO: Update for the new Makefile.in.in behavior from
+       the fix for bug #144715
+       Fix a typo (s/og/or/)
+      
+       Fixes #79598
+
+  488 dobey    2004-11-03
+      2004-11-03  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Update for Makefile.in.in usage changes
+      
+       * doc/I18N-HOWTO: Update for the new Makefile.in.in behavior from
+       the fix for bug #144715
+       Fix a typo (s/og/or/)
+
+  487 dobey    2004-11-03
+      2004-11-03  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.am (pkgdata_DATA): Add new Makefile.in.in and remove
+       all of the patches that we used to maintain for Makefile.in.in from
+       glib-gettextize
+      
+       * Makefile.in.in: Add our own Makefile.in.in to install into the po
+       directory that already includes the patches we had for it, and does
+       not require mkinstalldirs in the local tree to install
+      
+       * intltoolize.in: Add po/Makefile.in.in to the files to copy list
+       Fix the file linking/copying to use basename for the file, so that
+       we can store Makefile.in.in without its own special subdir
+      
+       Fixes #144715
+
+  486 danilo   2004-10-23
+      Update NEWS.
+
+  485 danilo   2004-10-23
+      2004-10-23  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-merge.in.in (unescape_po_string): Catch \xDD and \ddd
+       sequences as well.
+       (unescape_one_sequence): Add support for \r, \t, \b, \f, \a, \v,
+       \xDD, \ddd.
+      
+       * tests/cases/merge6.po: s/\0123/\123/.
+      
+       * tests/results/merge6.xml: Update result.
+       * tests/results/multi.merge6.xml: Update result.
+
+  484 danilo   2004-10-23
+      2004-10-23  Danilo Å egan  <dsegan@gmx.net>
+      
+       Fixes #137029.
+      
+       * NEWS: Updated.
+      
+       * intltool-extract.in.in (type_scheme): Rewrite.
+      
+       * tests/results/Makefile.am: Add test.scm.h to EXTRA_DIST.
+       * tests/cases/Makefile.am: Add test.scm to EXTRA_DIST.
+       * tests/selftest.pl.in: Add test.scm as test 21.
+       * tests/cases/test.scm: Added Scheme test case.
+       * tests/results/test.scm.h: Added Scheme test result.
+
+  483 danilo   2004-10-23
+      2004-10-23  Danilo Å egan  <dsegan@gmx.net>
+      
+       Fixes #155843.
+      
+       * NEWS: Updated.
+      
+       * intltool-merge (getXMLstring): Use @{$content}[0] instead of
+       top-level $attrs for each tag.
+       (traverse): Add \$translate to getAttributeString calls. Use
+       untranslated text for tag content if only attributes need
+       translation.
+       (getAttributeString): Set $translate = 2 if some attribute is
+       translated, otherwise $translate = 1 if translation might be
+       needed.
+
+  482 danilo   2004-10-14
+      2004-10-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-extract.in.in (type_glade): Ignore "dialog[0-9]+"
+       messages as well, as suggested by Rodney in #155294.
+
+  481 danilo   2004-10-14
+      2004-10-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       * NEWS: Document fix for #155294.
+
+  480 danilo   2004-10-14
+      2004-10-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       Fixes #155294.
+      
+       * tests/cases/extract8.glade: Update Glade test.
+       * tests/results/extract8.glade.h: Update test result.
+      
+       * intltool-extract.in.in (type_glade): Support "comments"
+       attribute on property and atkproperty tags.
+
+  479 dobey    2004-10-12
+      2004-10-12  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Document fixes for #154717
+
+  478 dobey    2004-10-11
+      2004-10-07  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool.m4: Use `pwd`/intltool-extract for the substitution of
+       @INTLTOOL_EXTRACT@ in the intltool perl scripts, which get ouptut
+       to the current working directory
+       This fixes #154717 completely
+      
+       Fixes #154717
+
+  477 jamesh   2004-10-07
+      2004-10-07  James Henstridge  <james@jamesh.id.au>
+      
+          Fixes bug #154717:
+      
+          * intltool.m4: quote the variables so that the shell doesn't try
+          to interpret the $() in $INTLTOOL_EXTRACT.
+          Use the AC_CONFIG_COMMNANDS() macro instead of the deprecated
+          AC_OUTPUT_COMMANDS() macro.
+
+  476 danilo   2004-10-07
+      2004-10-07  Danilo Å egan  <dsegan@gmx.net>
+      
+       * tests/cases/Makefile.am (EXTRA_DIST):
+       * tests/results/Makefile.am (EXTRA_DIST):
+       Update with new and changed extract9.* files.
+
+  475 danilo   2004-10-07
+      2004-10-07  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-merge.in.in (traverse): Add missing "{".
+      
+       * tests/selftest.pl.in: Add more spaces to align test 18 better.
+
+  474 danilo   2004-10-07
+      2004-10-07  Danilo Å egan  <dsegan@gmx.net>
+      
+       Fixes #151017.
+      
+       * NEWS: Document bugfix.
+      
+       * intltool-merge.in.in (getXMLstring, traverse): Remove spacing
+       only for non xml:space=preserve tags in $content, $lookup.
+      
+       * tests/selftest.pl.in: Add new testcase.
+       * tests/results/extract9.xml: Added.
+       * tests/results/extract9.xml.in.h: Renamed from extract9.xml.h and
+       updated.
+       * tests/cases/extract9.po: Added.
+       * tests/cases/extract9.xml.in: Renamed from extract9.xml.
+       Move xml declaration to the top (to make it valid).
+       Change one message.
+
+  473 danilo   2004-09-29
+      Use Q_() as xgettext keyword as well (bug #154063).
+
+  472 dobey    2004-09-29
+      2004-09-29  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Document bug fix for #152020
+      
+       * Makefile.am: Update script creation rule to sed in the
+       various hardcoded gettext script paths
+      
+       * configure.in: Update version to 0.31.3
+       Add AC_PATH_PROG checks for various gettext scripts
+      
+       * intltool-merge.in.in: Update to use $ICONV, $INTLTOOL_ICONV, or the
+       hardcoded path that we replace @INTLTOOL_ICONV@ with
+      
+       * intltool-update.in.in (GenerateHeaders): Use @INTLTOOL_EXTRACT@ path
+       (GeneratePOTemplate): Use @INTLTOOL_XGETTEXT@ or $XGETTEXT for path
+       (POFile_Update): Use $MSGMERGE or @INTLTOOL_MSGMERGE@ for the path
+       (Console_Write_TranslationStatus): Use $MSGFMT or @INTLTOOL_MSGFMT@
+       (Console_Write_CoverageReport): Use $MSGFMT or @INTLTOOL_MSGFMT@ path
+      
+       * intltool.m4 (AC_PROG_INTLTOOL):
+       Add AC_PATH_PROG checks for various gettext scripts we use
+       Replace the variables we get with AC_PATH_PROG in AC_OUTPUT_COMMANDS
+      
+       Fixes #152020
+
+  471 danilo   2004-09-24
+      2004-09-24  Danilo Å egan  <dsegan@gmx.net>
+      
+       * NEWS: Document anything significant in this patch.
+      
+       * intltool-update.in.in (GeneratePOTemplate): Bork out if we
+       cannot write POTFILES.in.temp.
+      
+       * intltool-update.in.in (SubstituteVariable): Fix typo in re: s/$1)/$1/
+       (variables with quotes got ")" attached previously); use shell
+       escaping (`echo -n "$str"`)--fixes #152448.
+
+  470 dobey    2004-09-24
+      2004-09-24  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool.m4: Fix typo in front of comment
+       * NEWS: Document fix
+      
+       Fixes #153630
+
+  469 dobey    2004-08-22
+      2004-08-22  Rodney Dawes  <dobey@novell.com>
+      
+       * configure.in: Update version to 0.31.2
+
+  468 dobey    2004-08-22
+      2004-08-22  Rodney Dawes  <dobey@novell.com>
+      
+       * NEWS: Document fix for #144725
+      
+      2004-08-22  Daniel Elstner  <daniel.elstner@gmx.net>
+      
+       * intltool-update.in.in (FindPackageName): Correctly strip spaces
+       and brackets from the local $name and $version variables too.
+       (FindMakevarsDomain): Ignore make variable substitutions in the
+       assignment to DOMAIN, such as DOMAIN = $(PACKAGE).
+      
+       Fixes #144725
+
+  467 danilo   2004-08-22
+      2004-08-22  Danilo Å egan  <dsegan@gmx.net>
+      
+       * NEWS: Document additions.
+      
+       * intltool-extract.in.in (type_xml): Adjust re to allow for
+       translating both content and attributes (i.e.
+       <_t _name="ah">content</_t>).
+      
+       * intltool-extract.in.in (type_xml): Add support for comments
+       before translatable attributes.
+       * tests/cases/extract-comments.xml: Add testcases for comments
+       around attributes.
+       * tests/results/extract-comments.xml.h: Updated results.
+      
+       Fixes bug #143581.
+
+  466 dobey    2004-07-27
+      2004-07-27  Rodney Dawes  <dobey@novell.com>
+      
+       * Makefile.am (SUBDIRS): "." is not a subdir
+      
+       * NEWS: Update for 0.31.1
+      
+       * configure.in: Change version to 0.31.1
+
+  465 kenneth  2004-06-25
+      2004-06-25  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * configure.in: Change version to 0.31
+
+  464 danilo   2004-06-16
+      2004-06-17  Danilo Å egan  <dsegan@gmx.net>
+      
+       * tests/cases/Makefile.am (EXTRA_DIST): Add extract-comments.xml.
+      
+       * tests/results/Makefile.am (EXTRA_DIST): Add
+       extract-comments.xml.h, multi.merge6.xml.
+
+  463 danilo   2004-06-16
+      2004-06-17  Danilo Å egan  <dsegan@gmx.net>
+      
+       * tests/results/multi.merge6.xml: New file for test 18.
+      
+       * tests/selftest.pl.in (check_extract_result)
+       (check_merge_result, check_command_result): Combine general
+       functionality from check_extract_result and check_merge_result
+       into check_command_result.
+       (check_multimerge_result): New function.
+       Adjust test 18. for checking multiple-output XML merging.
+
+  462 danilo   2004-06-16
+      2004-06-17  Danilo Å egan  <dsegan@gmx.net>
+      
+       * NEWS: Mention multiple-output changes.
+       Mention Rodney's changes since the last release.
+      
+       * intltool-merge.in.in (traverse): Output only single tag in
+       --multiple-output, setting "xml:lang" if there's a translation.
+
+  461 danilo   2004-06-15
+      2004-06-15  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-merge.in.in (getAttributeString): Sort attributes when
+       outputting.
+       * tests/results/merge6.xml: Sort attributes in a tag.
+
+  460 danilo   2004-06-14
+      2004-06-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       * README: Extend section on using without autoconf to mention
+       Makevars.
+       * NEWS: Document using without autoconf-style files.
+      
+       * intltool-update.in.in (FindMakevarsDomain): Read $DOMAIN from
+       po/Makevars.
+       (FindPOTKeywords): Try Makevars/XGETTEXT_OPTIONS first, then
+       Makefile.in.in/XGETTEXT_KEYWORDS.
+       (FindPackageName): Try FindMakevarsDomain first.
+       Don't bork out if there's no configure.in or configure.ac.
+       (CONF_Handle_Open): Try Makevars first, don't bork out if
+       there're no autoconf-style files.
+
+  459 danilo   2004-06-14
+      2004-06-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       * tests/results/merge5p.sheet: Make it correct UTF-8.
+       * tests/selftest.pl.in (check_merge_result): Use "-u" in test 8.
+      
+       Fixes bug #138512.
+
+  458 danilo   2004-06-14
+      2004-06-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       * NEWS: Document recent changes of XML merging/extracting.
+
+  457 danilo   2004-06-14
+      2004-06-14  Danilo Å egan  <dsegan@gmx.net>
+      
+       * tests/results/extract7.xml.h:
+       * tests/cases/merge6.po:
+       * tests/results/merge6.xml:
+       Adjust test cases for new behaviour of intltool-merge and intltool-extract.
+      
+       * intltool-extract.in.in (type_xml): Remove entity decoding for
+       tag content.
+      
+       Complete fix for bug #130802.
+
+  456 danilo   2004-06-13
+      2004-06-13  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-merge.in.in (getAttributeString): Separate out a
+       function for getting string with attributes.
+       (getXMLstring): Recursive function to extract translatable messages.
+       (traverse): Function to traverse the XML::Parser tree.
+       (parseTree): Complete rewrite to use traverse(), $depth parameter
+       removed.
+       (xml_merge_output): Adjust calls to parseTree().
+      
+       Fixes bug #130802.
+
+  455 dobey    2004-06-13
+      2004-06-12  Rodney Dawes  <dobey@novell.com>
+      
+       * tests/selftest.pl.in: Fix the alignment of the output text for
+       test number 18
+
+  454 dobey    2004-06-13
+      2004-06-12  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-merge.in.in:
+       * intltool-prepare.in:
+       * intltool-update.in.in:
+       Add perl mode comment for emacs to be consistent with the
+       intltool-extract.in.in script so we can edit properly
+
+  453 dobey    2004-06-13
+      2004-06-12  Rodney Dawes  <dobey@novell.com>
+      
+       * README: Document the changes to intltool.m4 for declaring that
+       an application does not need the XML processing features of intltool
+      
+       * intltool.m4: Add the second option of [no-xml] to AC_PROG_INTLTOOL
+       so that applications can request to not use the XML processing features
+       of intltool that require the XML::Parser perl module
+      
+       Fixes #130850
+
+  452 dobey    2004-06-12
+      2004-06-12  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (SubstituteVariable, FindPackageName):
+       Strip the leading and trailing quotes from variable values
+
+  451 dobey    2004-06-07
+      2004-06-07  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindPackageName): Substitute the PACKAGE
+       variable in the same way we do AC_PACKAGE_NAME
+       Fixes a bug introduced by changing the regex clause for doing the
+       variable substitution
+
+  450 dobey    2004-05-30
+      2004-05-30  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool.m4 (AC_PROG_INTLTOOL): Apply patch to fix arugment ordering
+       from Matthew Fischer <futhark@vzavenue.net>
+      
+       Fixes #112721
+
+  449 dobey    2004-05-29
+      2004-05-29  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in: Add "cs" to the list of source extensions
+       that are natively handled by gettext
+       (FindLeftoutFiles): Add check for .GetString () call so that -m
+       works properly for detecting C# files
+
+  448 dobey    2004-05-27
+      2004-05-27  Rodney Dawes  <dobey@novell.com>
+      
+       * configure.in: Add check for XML::Parser at configure time (#129009)
+      
+       * intltool.m4: Use $INTLTOOL_PERL instead of "perl" to check for the
+       existence of XML::Parser (#133366)
+      
+       Fixes #129009 and #133366
+
+  447 dobey    2004-05-27
+      2004-05-27  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (SubstituteVariable): Grab the entire line
+       after the = in the variable declaration, not just up to the first bit
+       of whitespace (#143245)
+       (FindPackageName): Substitute the VERSION variable in the same way that
+       we use AC_PACKAGE_VERSION (#143248)
+      
+       Fixes #143245 and #143248
+
+  446 dobey    2004-05-26
+      2004-05-26  Rodney Dawes  <dobey@novell.com>
+      
+       * intltool-update.in.in (FindPackageName): Fix the regex clauses
+       for getting the package name from configure.(in|ac)
+      
+       Fixes #143242
+
+  445 danilo   2004-05-06
+      Add support for translators comments in XML files.
+
+  444 danilo   2004-04-05
+      Fix function call: s/GetLanguageFromPOFile/POFile_GetLanguage/
+
+  443 danilo   2004-03-10
+      Corrected test case.
+
+  442 danilo   2004-03-02
+      Reverted whitespace compression in CDATA, bug ##131585.
+
+  441 callum   2004-02-04
+      Removed comment feature in schema files to remove conflict with gconf lists.
+
+  440 kenneth  2004-02-03
+      2004-02-03  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * NEWS, configure.in: update for new release.
+
+  439 kloczek  2004-01-31
+      added missing [] quotation macro name defined in AC_DEFUN() (neccessary for
+      aclocal from automake 1.8.2 and backward compatible with older auto tools).
+
+  438 mortenw  2004-01-30
+      2004-01-30  Morten Welinder  <terra@gnome.org>
+      
+       * intltool-merge.in.in (intltool_tree_start): Handle embedded
+       newlines thereby avoiding the silent corruption of files.
+       (See http://bugzilla.gnome.org/show_bug.cgi?id=132909)
+
+  437 bcameron 2004-01-22
+      2004-01-22  Brian Cameron <brian.cameron@sun.com>
+      
+          * intltool-merge.in.in, tests/cases/merge6.xml.in,
+            tests/results/merge6.xml, tests/results/merge7.xml:
+            Now intltool-merge does not compress whitespace
+            in attributes and CDATA.  Fixes bug 131585.
+
+  436 kenneth  2004-01-22
+      2004-01-22  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * README: AUTHORS: Updated.
+
+  435 bcameron 2004-01-21
+      2004-01-21  Brian Cameron <brian.cameron@sun.com>
+      
+          * intltool-merge.in.in, tests/cases/merge6.xml.in,
+            tests/results/merge6.xml:  Now intltool-merge
+            supports dashes in attribute names, and supports
+            attributes delimited by single quotes.  Updated
+            make test so it checks for these cases.
+
+  434 danilo   2004-01-21
+      2004-01-21  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-update.in.in: Fix bug I introduced in #131885 (don't
+       bail out if there's no Makefile.in.in).
+
+  433 markmc   2004-01-19
+      2004-01-19  Mark McLoughlin  <mark@skynet.ie>
+      
+              * Release version 0.29.
+
+  432 markmc   2004-01-19
+      2004-01-19  Mark McLoughlin  <mark@skynet.ie>
+      
+              * README: add $XGETTEXT_KEYWORDS and $XGETTEXT_ARGS documentation
+              from Danio.
+
+  431 danilo   2004-01-19
+      2004-01-19  Danilo Å egan  <dsegan@gmx.net>
+      
+       * intltool-update.in.in (FindPOTKeywords): Searches Makefile.in.in
+       for XGETTEXT_KEYWORDS.
+       (GeneratePOTemplate): Use FindPOTKeywords to get XGETTEXT_KEYWORDS.
+       Fixes bug #131885.
+
+  430 kenneth  2004-01-11
+      oops, forgot to commit. Sorry Denis.
+
+  429 kenneth  2004-01-08
+      2004-01-08  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Added support for .kbd.in files.
+
+  428 bcameron 2004-01-07
+      2004-01-07  Brian Cameron <brian.cameron@sun.com>
+      
+          * intltool-merge.in.in: Fixed DOCTYPE regular expression.
+
+  427 kenneth  2004-01-07
+      2004-01-07  Denis Barbier  <barbier@linuxfr.org>
+      
+             * intltool-merge.in.in: The XML::Parser Perl module is only
+               needed to merge XML files, so do not require it when building
+               other formats.
+
+  426 kenneth  2004-01-07
+      2004-01-07  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Fix (#130201, Danilo Segan)
+              Reported by Noah Levitt.
+
+  425 kenneth  2004-01-06
+      2004-01-06  Denis Barbier  <barbier@linuxfr.org>
+      
+              * intltool-extract.in.in, intltool-merge.in.in,
+                tests/results/merge10.templates:  Apply changes to rfc822deb
+                formatted files to match current Debian usage.
+
+  424 kenneth  2004-01-06
+      2004-01-06  Denis Barbier  <barbier@linuxfr.org>
+      
+              * intltool-extract.in.in, intltool-merge.in.in,
+                tests/results/merge10.templates:  Apply changes to rfc822deb
+                formatted files to match current Debian usage.
+
+  423 kenneth  2004-01-06
+      2004-01-06  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * HACKING: Added a tiny bit of information.
+
+  422 kenneth  2004-01-06
+      2004-01-06  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-prepare.in: Fix bug #129793
+
+  421 mortenw  2004-01-06
+      2004-01-06  Morten Welinder  <terra@gnome.org>
+      
+       * intltool.m4: Fix broken shell syntax.
+
+  420 tko      2004-01-06
+      2004-01-06  Tommi Komulainen  <tommi.komulainen@iki.fi>
+      
+       * intltoolize.in: Don't create intltool-modules directory, it's no
+       longer needed. (#130694)
+
+  419 jrb      2004-01-06
+      2004-01-05  Jonathan Blandford  <jrb@redhat.com>
+      
+       * intltool.m4: fix broken shell syntax.
+
+  418 kenneth  2004-01-05
+      2004-01-05  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * NEWS: Changed.
+       * configure.in: Changed version to 0.29 so people can require that.
+
+  417 nlevitt  2004-01-05
+      2004-01-05  Noah Levitt  <nlevitt@columbia.edu>
+      
+       * intltool-update.in.in: Print xgettext command being run in verbose
+       mode. (#130200)
+
+  416 kenneth  2004-01-05
+      Fix a few bugs introduced by me a couple of weeks ago
+
+  415 bcameron 2004-01-05
+      2004-01-05  Brian Cameron <brian.cameron@sun.com>
+      
+          * configure.in, intltoolize.in, Makefile.am, NEWS, README:
+            Removed references to OrigTree and the modules directory
+            since the OrigTree module is longer used.
+          * intltool-merge.in.in, tests/cases/merge6.xml.in,
+            tests/results/merge6.xml:  Now intltool-merge retains the
+            DOCTYPE from the original document in the output.
+            Also, it translates entities in attributes properly (see
+            the intltool_tree_start function.  Lastly it no longer
+            uses the OrigTree Style.  Now just uses Tree and
+            overrides the start and char handlers.  Much cleaner.
+
+  414 mortenw  2004-01-05
+      http://bugzilla.gnome.org/show_bug.cgi?id=130591
+      
+      2004-01-05  Morten Welinder  <terra@gnome.org>
+      
+       * intltoolize.in (cur): Don't use "if ! ...".
+      
+       * intltool.m4: Don't use "if ! ...".
+
+  413 thomasvs 2004-01-05
+      make ac_aux_dir available with am14
+
+  412 thomasvs 2003-12-31
+      fix AC_CONFIG_AUX_DIR builds
+
+  411 thomasvs 2003-12-31
+      make sure intltoolize errors out on errors
+
+  410 thomasvs 2003-12-31
+      revert patches that broke distchecking to work on proper solution
+
+  409 kenneth  2003-12-30
+      2003-12-30  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * modules/Makefile.am: Fixed #130140
+
+  408 kristian 2003-12-23
+      2003-12-23  Kristian Rietveld  <kris@gtk.org>
+      
+       [Commit as per Kenneth's request]
+      
+       * intltool.m4: include ac_aux_dir into INIT-CMDS of
+       AC_OUTPUT_COMMANDS. (#129773, patch from Chee Bin HOH).
+
+  407 bcameron 2003-12-22
+      2003-12-22  Brian Cameron <brian.cameron@sun.com>
+      
+          * intltool-merge.in.in.: Fixed bug in translating entities.
+
+  406 kenneth  2003-12-16
+      *** empty log message ***
+
+  405 kenneth  2003-12-16
+      2003-12-16  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-update.in.in: Fixed a little bug; minor code cleanup.
+
+  404 kenneth  2003-12-16
+      2003-12-16  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-update.in.in: Fixed some FIXME's in the code.
+       Did my best at not breaking anything - ie. performed some tests.
+      
+       Made it recognize .py files.
+      
+       * intltool-update.in.in: Fixed some FIXME's in the code.
+       Did my best at not breaking anything - ie. performed some tests.
+      
+       Made it recognize .py files.
+
+  403 kenneth  2003-12-16
+      2003-12-16  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool.m4: Changed to work with auxdir.
+       Patch from Kees Cook (#116362).
+
+  402 bcameron 2003-12-11
+      2003-12-11  Brian Cameron <brian.cameron@sun.com>
+      
+              * intltool-merge.in.in
+              * tests/results/merge4.xml
+              * tests/results/merge5p.sheet
+              * tests/results/merge5u.shee
+              * tests/results/merge6.xml
+              * tests/results/merge7.xml
+              Avoid including translations for languages where no
+              translation exists, except for child nodes of a
+              tag with a translated element (e.g. inside a tag
+              of the following form <tag _element="value">).
+
+  401 kenneth  2003-12-08
+      2003-12-08  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * modules/Makefile.am: Fixing for upcoming release.
+
+  400 kenneth  2003-12-08
+      upd
+
+  399 malcolm  2003-12-06
+       * intltoolize.in: Install OrigTree.pm in the distribution tree.
+      
+       * intltool-merge.in.in: Find the local version of OrigTree when
+       building a package.
+      
+       * README: Updated. Another file needs to be added to EXTRA_DIST
+       in a client package's Makefile.am file now.
+      
+       * tests/selftest.pl.in: Fix(?) the running of test 18 (multiple
+       output test).
+      
+       * intltool.m4: Check for the XML::Parse module at build time.
+
+  398 malcolm  2003-12-06
+      Slightly more accurate ChangeLog comment
+
+  397 malcolm  2003-12-06
+       * intltoolize.in: Handle standard GNU gettext 0.12
+       installations.
+      
+       * intltool-po-Makefile.in.in-patch-8: Makefile.in.in patch for
+       gettext 0.12.
+      
+       * Makefile.am: Distribute intltool-po-Makefile.in.in-patch-8.
+      
+       * intltool-update.in.in: When building with srcdir != builddir,
+       fetch POTFILES.in and source files from srcdir (only works with
+       *-patch-8 at the moment, but is backwards compatible with other
+       patches).
+      
+       * intltool-extract.in.in: Allow a --srcdir argument to be passed
+       in.
+
+  396 kenneth  2003-12-01
+      2003-12-01  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool/Makefile.am
+              * intltool/configure.in
+              * intltool/intltool-merge.in.in
+              * intltool/intltool.m4
+
+  395 kenneth  2003-12-01
+      2003-12-01  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-merge.in.in:
+       * tests/results/merge6.xml:
+       * tests/results/merge7.xml:
+      
+       Remove some changes committed by accident.
+       Added OrigStyle as the default Style.
+       Updated tests to match the changes.
+
+  394 kenneth  2003-12-01
+      Added OrigStyle as the default Style
+
+  393 kenneth  2003-11-30
+      2003-12-01  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-merge.in.in: Remove some changes committed by accident.
+
+  392 baddog   2003-11-30
+      DESTDIR fix
+
+  391 kenneth  2003-11-26
+      2003-11-26  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool.m4:
+      
+       Added Brian's OrigTree module.
+
+  390 kenneth  2003-11-26
+      2003-11-26  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * Makefile.am:
+       * configure.in:
+       * intltool-merge.in.in:
+       * modules/Makefile.am:
+       * modules/XML/Parser/Style/OrigTree.pm:
+      
+       Added Brian's OrigTree module.
+
+  389 kenneth  2003-11-19
+      Actual commit all my changes
+
+  388 kenneth  2003-11-19
+      2003-11-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-merge.in.in: Small bugfix.
+
+  387 kenneth  2003-11-19
+      2003-11-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * NEWS: Updated
+       * configure.in: Changed release to 0.28
+
+  386 bcameron 2003-11-18
+      2003-11-18  Brian Cameron <Brian.Cameron@sun.com>
+      
+          * intltool-merge.in.in
+          * tests/results/merge4.xml
+          * tests/results/merge5p.xml
+          * tests/results/merge5u.xml
+          * tests/results/merge6.xml
+          * tests/results/merge7.xml
+      
+          Updated intltool-merge so that it doesn't add a trailing '\n'
+          character to CDATA values.  Also corrected the logic of
+          encoding/decoding the string before/after translation.
+
+  385 billh    2003-11-11
+      Finishing touches on fix for 46650.  Thanks Kenneth and Brian!
+
+  384 bcameron 2003-11-10
+      2003-11-05  Brian Cameron <Brian.Cameron@sun.com>
+      
+          * intltool-merge.in.in
+          Fixed bug which caused --multiple-output to break.
+
+  383 billh    2003-11-10
+      Incremented micro version, now 0.27.3.
+
+  382 billh    2003-11-10
+      Fix for 127237, adds INTLTOOL_KBD_RULE for gok.
+
+  381 bcameron 2003-11-05
+      2003-11-05  Brian Cameron <Brian.Cameron@sun.com>
+      
+          * intltool-merge.in.in
+          * tests/results/merge4.xml
+          * tests/results/merge5p.xml
+          * tests/results/merge5u.xml
+          * tests/results/merge6.xml
+          * tests/results/merge7.xml
+      
+          Fix for bug #116526.  Now intltool-merge uses a real XML parser,
+          which means that it now depends on XML::Parser.  Added logic so
+          that element values are now translated as appropriate.  Updated
+          test output that is affected by this change.  The following
+          types of changes in output are caused by using an XML parser:
+          whitespace differences and comments are no longer retained in
+          the output.
+      
+          Note that the logic has been changed so that the default
+          translation is now included if no translation exists.  This makes
+          more sense now that you can have situations where untranslated
+          strings might exist inside a block that has a translatable
+          element (and vice versa).
+
+  380 kenneth  2003-09-13
+      2003-09-13  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-merge.in.in: Added --multiple-output
+       * test/selftest.pl.in: Added a still non-working test.
+      
+       Sun/GOK guys, see if this is what you want - this should be a
+       first cut anyway.
+
+  379 baddog   2003-08-20
+      2003-08-20  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in: Avoid bashism in xgettext version check.
+       (bug #120267)
+
+  378 carlos   2003-08-14
+      === intltool 0.27.2 ===
+      
+      2003-08-12  Abel Cheung  <maddog@linux.org.hk>
+
+  377 carlos   2003-08-12
+      === intltool 0.27.1 ===
+      
+      2003-08-11  Carlos Perelló Marín <carlos@gnome.org>
+      
+       * intltoo-update.in.in: Fixed a small bug that brokes intltool-update
+       when you don't specify an output file.
+       * NEWS: Updated
+       * configure.in: Version 0.27.1
+
+  376 baddog   2003-08-11
+      2003-08-11  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool.m4: Fix broken support of .xam makefile rule.
+
+  375 carlos   2003-08-11
+      Small fix
+
+  374 carlos   2003-08-11
+      === intltool 0.27 ===
+      
+      2003-05-17  Carlos Perelló Marín <carlos@gnome.org>
+      
+       * NEWS: Updated
+       * configure.in: Version 0.27
+      
+      2003-08-11  Abel Cheung  <maddog@linux.org.hk>
+      
+       * Makefile.am: Needn't distribute intltool-unicodify anymore since
+       its functionality is superseded by msgconv.
+       * intltool.m4: Add INTLTOOL_XAM_RULE for generating .xam files.
+      
+      2003-08-11  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in:
+       Only remove headers generated by intltool. (bug #90890)
+       Fall back to old behavior if gettext 0.12 is not found.
+      
+      2003-08-11  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * intltool-update.in.in: Make use of gettext 0.12 to extract non-ASCII
+       strings. (bug #99005)
+      
+      2003-08-11  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in:
+       Code simplification and cleanup. Merge --dist option with &main.
+       Announce POTFILES.ignore is obsolete (but do nothing, for
+       compatability). Fix package name detection (where GETTEXT_PACKAGE
+       contains variable with underscore). Bonobo .server files are XML
+       type files and not INI type files.
+
+  373 baddog   2003-08-09
+      2003-08-07  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in (find_leftout_file): Fix detection of
+         translatable generic XML file.
+
+  372 baddog   2003-08-03
+      Forgot some info in changelog (about #61965)
+
+  371 baddog   2003-08-03
+      Update intltool-* help messages
+
+  370 baddog   2003-08-03
+      2003-08-03  Abel Cheung  <maddog@linux.org.hk>
+      
+       * doc/*.8:
+         Updated manpages to reflect current options.
+       * ChangeLog: convert to UTF-8.
+
+  369 kenneth  2003-06-02
+      2003-06-02  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * doc/I18N-HOWTO: Updated with suggestion from gettext maintainer
+              Bruno Haible.
+
+  368 gustavo  2003-05-25
+      2003-05-25  Gustavo Giraldez  <gustavo.giraldez@gmx.net>
+      
+       * intltool-update.in.in: Added support for gtksourceview's .lang
+       files.
+
+  367 callum   2003-05-23
+      Minor change to scheme string parsing to allow white space after the _
+
+  366 kenneth  2003-05-18
+      2003-05-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Removed some \s's that were
+              coursing problems. I still don't know why though - so
+              if you understand perl, please take a look.
+
+  365 kenneth  2003-05-17
+      2003-05-17  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * NEWS: Updated
+              * configure.in: Version 0.26
+              * intltool-merge.in.in:
+              Fix some iconv/charset issues (bug #113121, Morten Welinder)
+
+  364 kenneth  2003-03-23
+      backout some accidental committed lines
+
+  363 dobey    2003-03-15
+      2003-03-15  Rodney Dawes  <dobey@free.fr>
+      
+       * intltool-merge.in.in: Handle no translations in get_newest_po_age
+
+  362 kenneth  2003-03-13
+      2003-03-12  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Fix small buglet introduced my
+              Jamesh's patch that was added some time ago.
+
+  361 kenneth  2003-03-12
+      2003-03-11  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/selftest.pl.in: Cleaned up a bit.
+      
+      2003-03-11  Denis Barbier  <barbier@linuxfr.org>
+      
+              * intltool-extract.in.in:
+              * intltool-merge.in.in:
+              * intltool-update.in.in: Send error messages to stderr instead of
+                stdout.  Fix some buglets related to --quiet/--verbose flags.
+      
+              Fixes bug #105013
+
+  360 kenneth  2003-03-11
+      2003-03-11  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool.m4: fixed bug #98988
+
+  359 jamesh   2003-03-04
+      2003-03-04  James Henstridge  <james@daa.com.au>
+      
+          * intltool-po-Makefile.in.in-patch-7: the patch.
+      
+          * intltoolize.in (auxdirline): handle patch-7
+      
+          * intltool-update.in.in (update_po_file): handle using a different
+          output file.
+          (print_status): if -o is specified, check its status.
+
+  358 tajima   2003-02-28
+      use the same date format.
+
+  357 malcolm  2003-02-26
+       * intltool-po-Makefile.in.in-patch-5: Correct the invocation of
+       INTLTOOL_MERGE. Fixes bug #106898.
+
+  356 gcarneiro        2003-02-25
+      foo
+
+  355 tajima   2003-02-14
+       * intltool-unicodify.in: Fix bug #105181. use iconv -f, instead of
+       iconv --f.
+
+  354 kenneth  2003-02-14
+      
+      2003-02-13  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Fixed some bugs introduced with
+              variable substitution. Cleaned up the code.
+
+  353 kenneth  2003-02-12
+      2003-02-12  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Added variable substitution.
+
+  352 kenneth  2003-01-18
+      2003-01-18  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * README: Added small section for packages not
+              using the aufo* tools.
+
+  351 kenneth  2003-01-11
+      2003-01-11  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool-merge.in.in: Added some warnings.
+
+  350 kristian 2003-01-09
+      2003-01-09  Jordi Mallach  <jordi@sindominio.net>
+      
+       * intltool-update: patch from Gregory Stark, call msgmerge with
+       options before non-options to fix potential non-GNU getopt issues.
+
+  349 kenneth  2003-01-06
+      
+      2002-01-06  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * configure.in: Update VERSION
+              * NEWS: Update news.
+
+  348 fcrozat  2003-01-06
+      * Makefile.am:
+      * intltool-po-Makefile.in.in-patch-6:
+      * intltoolize.in:
+      support latest version of Makefile.in.in from glib-gettextize
+      from glib >= 2.1.5
+
+  347 chema    2002-12-28
+       add autm4te.cache
+
+  346 yaneti   2002-11-28
+      2002-11-28  Yanko Kaneti  <yaneti@declera.com>
+      
+       * intltool-update.in.in: strip the hints from POTFILES.in in -M mode.
+
+  345 yaneti   2002-11-27
+      2002-11-27  Yanko Kaneti  <yaneti@declera.com>
+      
+       * intltool-update.in.in: when the line in POTFILES.in is not an xml or
+       ini file, add it as is. Fixes yesterdays fix, ugh.
+
+  344 yaneti   2002-11-26
+      make the changelog more clear
+
+  343 yaneti   2002-11-26
+      2002-11-26  Yanko Kaneti  <yaneti@declera.com>
+      
+       * intltool-update.in.in: don't generate .h.h files when the file is
+       from a known type and also has the [type: gettext/..] magic.
+
+  342 gman     2002-11-25
+      2002-11-25  Glynn Foster  <glynn.foster@sun.com>
+      
+       * intltool-update.in.in: Add support for 'theme' files.
+
+  341 yaneti   2002-11-23
+      2002-11-23  Yanko Kaneti  <yaneti@declera.com>
+      
+       * intltool-merge.in.in: revert the fix for #98988 as it apparently
+       reencodes messages from UTF-8 to the locale chareset which later
+       breaks some uses of these strings (like in gconf schemas which must
+       be UTF-8).
+
+  340 yaneti   2002-11-23
+      2002-11-23  Yanko Kaneti  <yaneti@declera.com>
+      
+       * xml-i18n-po-Makefile.in.in-patch-5: additional changes to the patch
+       to avoid double updating of the po files.
+
+  339 yaneti   2002-11-23
+      reverting the last thing, hopefully the last touch here.  make distcheck works now
+
+  338 yaneti   2002-11-23
+      2002-11-23  Yanko Kaneti  <yaneti@declera.com>
+      * Makefile.am: Actually comment doc-i18n-tool once again.
+      This was commented on purpose - the whole tool is not supposed
+      to be in the build.  Not sure why it was not  documented properly.
+
+  337 yaneti   2002-11-22
+      remove some accidental changes :(   how did that happen...
+
+  336 kmaraas  2002-11-22
+      2002-11-21  Yanko Kaneti  <yaneti@declera.com>
+      
+       * xml-i18n-po-Makefile.in.in-patch-5 (added):
+       * Makefile.am:
+
+  335 yaneti   2002-11-22
+      2002-11-21  Yanko Kaneti  <yaneti@declera.com>
+      
+      * xml-i18n-po-Makefile.in.in-patch-5 (added):
+      * Makefile.am:
+      * xml-i18n-toolize.in:
+      use a different patch for gettextize 4 and
+      older programs still using xml-i18n-tools macros.
+
+  334 kenneth  2002-11-21
+      2002-11-21  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-merge.in.in:
+      
+              Fixed #98988 with help from Sergey V. Udaltsov.
+
+  333 kenneth  2002-11-21
+      2002-11-21  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-merge.in.in:
+              * intltool-unicodify.in:
+      
+              Fixed #96169 with help from Laurent Vivier and Morten Welinder.
+
+  332 jrb      2002-11-20
+      Wed Nov 20 17:53:14 2002  Jonathan Blandford  <jrb@redhat.com>
+      
+       * intltool.m4 (INTLTOOL_THEME_RULE): whoops.  Make it work
+       desktop style.
+
+  331 jrb      2002-11-20
+      Wed Nov 20 15:05:36 2002  Jonathan Blandford  <jrb@redhat.com>
+      
+              * intltool.m4 (INTLTOOL_THEME_RULE): Add a new .theme.in->.theme
+              rule
+
+  330 kenneth  2002-11-02
+      2002-11-02  Kenneth Christiansen <kenneth@skummelt.no>
+      
+              * intltool/tests/cases/Makefile.am:
+              Removed a file that was included by mistake.
+
+  329 kenneth  2002-11-02
+      Small fix
+
+  328 kenneth  2002-11-01
+      2002-11-01  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/*/Makefile.am: Fixed make distcheck.
+              * NEWS: Updated news.
+              * configure.in: Changed release version.
+
+  327 kenneth  2002-10-22
+      2002-10-22  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-toolize.in: I think it works with
+              gettextize 4.x now - please test.
+
+  326 kenneth  2002-10-22
+      2002-10-22  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool-po-Makefile.in.in-patch-5:
+              * intltool/Makefile.am:
+              * intltoolize.in:
+      
+              Made intltool work with gettextize 4.x
+      
+              Needs backporting to the xml-i18n-tools
+              part of intltool. Should be trivial, but I don't
+              have time to do it right now.
+
+  325 mmclouglin       2002-10-19
+      2002-10-20  Mark McLoughlin  <mark@skynet.ie>
+      
+              * intltool-extract.in.in:
+              (type_xml): recognise the "xml:space" attribute
+              and preserve whitespace if set to "preserve".
+              (msg_write): pass -1 as the limit to split so
+              trailing whitespace is preserved. Fixes #95886.
+      
+              * tests/cases/extract9.xml:
+              * tests/results/extract9.xml.h:
+              * tests/selftest.pl.in: add a test case for the
+              above.
+
+  324 yaneti   2002-10-16
+      2002-10-16  Yanko Kaneti  <yaneti@declera.com>
+      
+       * tests/cases/test.schemas.in:
+       * tests/results/test.schemas: fix some cut/paste/del silliness.
+
+  323 yaneti   2002-10-03
+      oops, a last minute change required by the @ -> [ ]
+
+  322 yaneti   2002-10-03
+      2002-10-02  Yanko Kaneti  <yaneti@declera.com>
+      
+       * intltool-extract.in.in
+       * intltool-merge.in.in: gconf schemas handling changes as described
+       in bug #94611.
+       * tests/selftest.pl.in
+       * tests/cases/Makefile.am
+       * tests/results/Makefile.am
+       * tests/cases/schemasmerge1.po (added)
+       * tests/cases/schemasmerge2.po (added)
+       * tests/cases/test.schemas.in (added)
+       * tests/results/test.schemas (added)
+       * tests/results/test.schemas.in.h (added): 2 tests for the above.
+
+  321 yaneti   2002-10-03
+      2002-10-02  Denis Barbier  <barbier@linuxfr.org>
+      
+       * intltool-extract.in.in:
+       * intltool-merge.in.in: minor fixes for the rfc822deb format, #92043
+      
+       * tests/results/extract10.templates_.h:
+       * tests/results/merge10.templates (added): fixed tests for the above.
+
+  320 yaneti   2002-10-02
+      2002-10-02  Yanko Kaneti  <yaneti@declera.com>
+      
+              * intltool-merge.in.in: add a short comment on the "<", ">" handling.
+      
+      on kenneth's request
+
+  319 yaneti   2002-10-02
+      2002-10-02  Yanko Kaneti  <yaneti@declera.com>
+      
+         * intltool-merge.in.in: Encode/decode "<"/"&lt;" in translations.
+         Fixes bug 84738.
+
+  318 kmaraas  2002-09-19
+      2002-09-18  Kjartan Maraas  <kmaraas@gnome.org>
+      
+       * intltool-unicodify: Bad Jacob, add missing semicolon so this works.
+
+  317 jberkman 2002-09-10
+      2002-09-10  jacob berkman  <jacob@ximian.com>
+      
+       * intltool-unicodify.in:
+       * intltool-merge.in.in: don't print a warning if charset.alias isn't
+       found
+
+  316 jberkman 2002-09-09
+      2002-09-09  jacob berkman  <jacob@ximian.com>
+      
+       * configure.in: check for $prefix before defaulting to the default
+       prefix.  there's a better way to do this...
+
+  315 jberkman 2002-09-06
+      2002-09-06  jacob berkman  <jacob@ximian.com>
+      
+       * intltool-unicodify.in: don't hard code charset.alias path
+
+  314 kenneth  2002-09-02
+      Revert patch
+
+  313 kenneth  2002-08-31
+      *** empty log message ***
+
+  312 kenneth  2002-08-31
+      2002-08-29  Laurent Vivier  <laurent.vivier@bull.net>
+      
+              intltool-merge uses iconv to convert charset but
+              charset name is name used by linux. For instance,
+              linux uses charset name "ISO8859-1", and for AIX
+              charset name is "ISO-8859-1". intltool-merge needs
+              to convert the charset name to local charset name.
+      
+              glib provides a mecanisme in libcharset to convert
+              correctly name according to local OS. A file
+              (charset.alias) is installed on system by glib.
+      
+              This commit uses this file to help intltool to convert
+              charset name. If the file isn't found on system,
+              intltool-merge works like before (use given charset name).
+      
+              * intltool-merge.in.in: Add support for charset alias
+              as defined in glib/libcharset
+              * intltool-unicodify.in: Ditto
+              * configure.in: Define pat hto find charset.alias (expand
+              libdir in EXPANDED_LIBDIR)
+
+  311 kenneth  2002-08-31
+      2002-08-31  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * intltool-extract.in.in:
+              * intltool-merge.in.in:
+      
+              Add support for 'default' tags. Fixes #89747
+      
+      2002-08-21  Jody Goldberg <jody@gnome.org>
+      
+              * xml-i18n-tools.m4 (AC_DEFUN) : Do not use srcdir in the
+                AC_OUTPUT_COMMANDS.  That is a local variable that holds random paths
+                by the time we try to use it.
+              * intltool.m4 : ditto.
+      
+              Fixes 90352.
+
+  310 kenneth  2002-08-29
+      Few changes
+
+  309 gleblanc 2002-08-29
+      2002-08-28  Gregory Leblanc  <gleblanc@linuxweasel.com>
+      
+              * intltool.spec.in: Few cleanups, detailed inline
+
+  308 kenneth  2002-08-28
+      2002-08-29  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * Applied patch from Denis Barbier to support the RTF822 format
+              used by Debian.
+
+  307 hp       2002-08-18
+      2002-08-18  Havoc Pennington  <hp@pobox.com>
+      
+       * autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with
+       both automake 1.6 and 1.4 installed get the right automake. Means
+       compilation from CVS will now require the latest automake 1.4
+       release, or manually creating symlinks called "automake-1.4" and
+       "aclocal-1.4"
+
+  306 kenneth  2002-06-10
+      2002-06-11  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool.m4: Added a rule for prop files.
+
+  305 kenneth  2002-06-03
+      Added release marker
+
+  304 kenneth  2002-06-03
+      2002-06-04  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * tests/results/extract8.glade.h: Fixed test.
+
+  303 kenneth  2002-06-03
+      Preparing for new release
+
+  302 kenneth  2002-06-01
+      2002-06-01  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-extract.in.in: Fixed buglet.
+
+  301 kenneth  2002-05-31
+      2002-05-31  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-extract.in.in: Added support for translation of
+              descriptions used by ATK in glade files.
+
+  300 baddog   2002-05-26
+      Forgot to commit this file, see Changelog at 20th May for detail
+
+  299 kenneth  2002-05-23
+      2002-05-23  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-extract.in.in: Made schemas extraction code more
+              bullet proof.
+
+  298 baddog   2002-05-20
+      2002-05-21  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in: Force intltool-update to exit if
+       POTFILES.in is not found. Add detection of glade2 files in
+       -m mode.
+
+  297 kenneth  2002-05-19
+      2002-05-20  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * configure.in: Forgot to bump version.
+
+  296 kenneth  2002-05-19
+      2002-05-20  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * NEWS: Updated.
+
+  295 mmclouglin       2002-05-19
+      2002-05-20  Mark McLoughlin  <mark@skynet.ie>
+      
+              * intltool.m4: use $srcdir when looking for
+              intltool-update.in
+
+  294 kenneth  2002-05-19
+      2002-05-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Made -m respect .schemas
+              files.
+
+  293 kenneth  2002-05-19
+      2002-05-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * NEWS: Updated.
+
+  292 kenneth  2002-05-19
+      2002-05-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * configure.in: Bump version, so people can require
+              intltool 0.20 if they use schemas support.
+
+  291 kenneth  2002-05-19
+      2002-05-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-update.in.in:
+       * intltool-extrace.in.in:
+       * intltool-merge.in.in: We don't need to mark strings. We always
+       translates.schemas files.
+
+  290 kenneth  2002-05-19
+      2002-05-19  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool.m4:
+              * intltool-update.in.in:
+              * intltool-merge.in.in: Added support for .schemas files.
+
+  289 kenneth  2002-05-16
+      2002-05-17  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * NEWS: Updated to prepare for release.
+
+  288 baddog   2002-05-08
+      Prevent infinite looping when determining package name
+
+  287 jberkman 2002-05-07
+      2002-05-06  jacob berkman  <jacob@ximian.com>
+      
+       * revert previous commit
+
+  286 jberkman 2002-05-06
+      2002-05-06  jacob berkman  <jacob@ximian.com>
+      
+       * intltool.m4 (INTLTOOL_UPDATE):
+       * xml-i18n-tools.m4 (XML_I18N_UPDATE): s/srcdir/top_srcdir/
+
+  285 kenneth  2002-05-03
+      2002-05-03  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltoolize.in: Now works with configure.ac aswell as
+       configure.in. Please send me patches if I broke anything.
+
+  284 kenneth  2002-05-03
+      2002-05-02  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in: Fix regex bug I introduced, so that
+       some non-word characters are allowed in package name.
+
+  283 kenneth  2002-05-02
+      Bump version
+
+  282 kenneth  2002-05-02
+      bump version
+
+  281 kenneth  2002-05-02
+      2002-05-01  Abel Cheung  <maddog@linux.org.hk>
+      
+       * intltool-update.in.in:
+       - Attempt to read configure.ac if configure.in is not found.
+       - Perform variable substitutions when determining package name.
+       (fixes #66155 and #78926)
+
+  280 kenneth  2002-04-20
+      2002-04-20  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * doc/I18N-HOWTO: Updated.
+
+  279 kenneth  2002-04-18
+      2002-04-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * doc/Makefile.am: Made it pass distcheck again
+
+  278 kenneth  2002-04-18
+      2002-04-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * doc/Makefile.am: Added I18N-HOWTO.
+              * doc/I18N-HOWTO: Added HOWTO on adding i18n support to an
+              application. Thanks to Thomas Vander Stichele for improving and
+              testing it!
+
+  277 kenneth  2002-04-18
+      2002-04-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * tests/selftest.pl.in: Made more portable (fixes #78594)
+
+  276 kenneth  2002-04-18
+      2002-04-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-extract.in.in: Fixed a typo.
+
+  275 kenneth  2002-04-18
+      2002-04-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-extract.in.in: Fixed accidently key press,
+               that made it not compile :(
+
+  274 kenneth  2002-04-18
+      2002-04-18  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-extract.in.in: Fixed Glade XML decoding. (Fixes #78855)
+
+  273 kenneth  2002-04-15
+      2002-04-15  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-update.in.in: Added error message.
+
+  272 kenneth  2002-03-26
+      Release marker
+
+  271 kenneth  2002-03-26
+      2002-03-26  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * NEWS: Updated
+
+  270 darin    2002-03-17
+       * intltool-merge.in.in: Don't confuse a nonexistent file with an
+       age of 0. Patch from nix@esperi.demon.co.uk.
+
+  269 kenneth  2002-03-09
+      2002-03-09  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * NEWS: Updated
+       * configure.in: Bumped version.
+
+  268 neo      2002-03-07
+      2002-03-07  Sven Neumann  <sven@gimp.org>
+      
+       * tests/cases/extract7.xml
+       * tests/cases/merge7.xml.in
+       * tests/results/extract7.xml.h
+       * tests/results/merge7.xml: updated tests to use embedded markup in
+       translatable messages.
+
+  267 kenneth  2002-03-06
+      2002-03-06  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool.m4: Made the version check more portable.
+       Reported by Morten and quickly fixed by Cactus and Jacob, Thanks!
+
+  266 kenneth  2002-03-02
+      Released
+
+  265 kenneth  2002-03-02
+      Prepare for new release
+
+  264 darin    2002-02-28
+       * intltool-update.in.in: Check for illegal combinations of arguments.
+       Check for good language code only when language code is needed.
+
+  263 darin    2002-02-28
+       * intltool-update.in.in: Fix bug so that language code does not
+       have to be on the command line before any options.
+
+  262 kenneth  2002-02-27
+      2002-02-27  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * configure.in: Fixed small bug that I missed.
+              * intltool-update.in.in: Make it work in all dirs called
+              po/ or po-something/. Should make it more useful with the GIMP
+
+  261 kenneth  2002-02-27
+      2002-02-27  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * configure.in: Applied patch from Stefan Kost that fixes an issue
+              with the perl check that he and Carlos was seeing.
+
+  260 kenneth  2002-02-27
+      2002-02-27  Kenneth Christiansen <kenneth@gnu.org>
+      
+       * intltool.m4: Made version check work. Thanks to Cactus for
+       helping me out with the escaping, and frb for beautifying the
+       awk code.
+
+  259 kenneth  2002-02-27
+      2002-02-27  Kenneth Christiansen <kenneth@gnu.org>
+      
+       * doc/intltool-extract.8: Link to intltool-update.8
+              * doc/intltool-merge.8: Link to intltool-update.8
+              * doc/intltool-prepare.8: Link to intltool-update.8
+              * doc/intltool-update.8: New manual page from Stefan Kost
+                <kost@imn.htwk-leipzig.de>.
+       * doc/Makefile.am: Updated.
+
+  258 neo      2002-02-27
+      2002-02-27  Sven Neumann  <sven@gimp.org>
+      
+       * intltool-extract.in.in: don't decode < and > entities and allow
+       XML tags in the translatable messages (e.g. for text markup).
+      
+       * intltool-merge.in.in: don't encode or decode < and > entities.
+
+  257 darin    2002-02-26
+       * intltool.m4: Add missing AC_SUBST for .ui rule that Kenneth pointed
+       out to me.
+
+  256 darin    2002-02-26
+       * intltool-merge.in.in: Write out a message to make it clear what's
+       happening when we find an old cache file and don't use it. I was
+       seeing some strange stuff, and this message might help me understand
+       more clearly what's going on.
+
+  255 darin    2002-02-25
+       * NEWS: Notes.
+       * configure.in: Bump version.
+
+  254 darin    2002-02-25
+       * intltool-update.in.in: Handle C comments when reading files for
+       "--maintain".
+
+  253 darin    2002-02-25
+       * intltool-merge.in.in: Don't merge fuzzy translations in.
+       * tests/results/merge1.xml: Correct test results to reflect fuzzy
+       translations.
+
+  252 darin    2002-02-25
+      Release marker.
+
+  251 darin    2002-02-25
+       * NEWS: Notes for 0.16 release.
+       * configure.in: Bump version.
+      
+       * tests/cases/Makefile.am:
+       * tests/results/Makefile.am:
+       Add new test cases so they end up in the tarball.
+
+  250 darin    2002-02-25
+       * TODO: Mention gettext 0.11 issue.
+       * configure.in: Strengthen perl version check.
+      
+       * intltool-extract.in.in: Tweak glade2 regex.
+      
+       * intltool-merge.in.in: Allow alternate iconv program to be
+       specified in INTLTOOL_ICONV environment variable. Put translations
+       in the database even if the msgstr is the same as the msgid.
+      
+       * intltool-update.in.in: Tweak glade2 regex. Fix the update_po_file
+       change Kenneth left 1/2 done in here. Replace code to move .po file
+       on top of .pot file with more perlish version.
+
+  249 neo      2002-02-23
+      gimp uses intltool now
+
+  248 jamesh   2002-02-23
+      one last fix I missed from Darin's change recommendations.
+
+  247 jamesh   2002-02-23
+      2002-02-23  James Henstridge  <james@daa.com.au>
+      
+       * tests/selftest.pl.in (check_merge_result($)): add test case for
+       new style glade files.
+      
+       * intltool-update.in.in (determine_type): make change requested by
+       Darin.
+      
+      2002-02-22  James Henstridge  <james@daa.com.au>
+      
+       * intltool-update.in.in (determine_type): treat .glade2 files as
+       glade files.
+      
+       * intltool-extract.in.in (type_glade): handle translatable strings
+       in new style glade files as well.
+
+  246 veillard 2002-02-16
+      * doc-i18n-tool/doc-i18n-tool.c: added the capacity to ignore
+        presentation element (not cascading though), currently only
+        "accel" is part of the list, edit and add it to the presentation
+        element list. Asked by jdub.
+      Daniel
+
+  245 darin    2002-02-14
+       * doc/intltool-merge.8: Update by Stefan Kost
+       <kost@imn.htwk-leipzig.de>.
+
+  244 darin    2002-02-11
+       * intltool-update.in.in: Fixed !=~ that should have been a
+       !~. Damn, I'll probably have to do another release.
+
+  243 darin    2002-02-10
+       * NEWS: Updated for 0.15 release.
+
+  242 darin    2002-02-10
+       * intltool-merge.in.in: Got rid of dependencies on
+       perl libraries that we really didn't need.
+
+  241 darin    2002-02-10
+       Turn on the production version of Kenneth's cache.
+       This should make things a lot faster.
+      
+       * intltool-merge.in.in: Make it use the text-style
+       cache if you pass in a place to cache on the command line.
+       Also don't run iconv if UTF-8 is the character set.
+       Get rid of the NDBM-based caches.
+      
+       * intltool.m4: Pass in a place to cache for all the
+       cases where we are doing UTF-8 translations.
+
+  240 kenneth  2002-02-08
+      2002-02-08  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+              * intltool-unicodify.in: Fixed some small stupidities.`
+
+  239 kenneth  2002-02-08
+      2002-02-08  Kenneth Rohde Christiansen  <kenneth@gnu.org>
+      
+       * intltool-unicodify.in: Updated to be much more
+       useful. Hopefully people will use it and report
+       bugs.
+
+  238 kenneth  2002-02-07
+      2002-02-07  Kenneth Christiansen  <kenneth@gnu.org>
+      
+              * doc/intltool-merge.8: Updated to reflect my latest
+              changes. Should have been done long ago.
+
+  237 darin    2002-02-04
+       * intltool.m4: Add a rule for ".ui" files.
+
+  236 darin    2002-02-04
+       * intltool-merge.in.in: Fix uninitialized variable problem.
+
+  235 darin    2002-02-04
+       * intltool-merge.in.in: More experimental cache work from
+       Kennth and some other small fixes.
+       * intltool-update.in.in: Lots of small tweaks by Kenneth.
+
+  234 cactus   2002-01-31
+      2002-01-31  ERDI Gergo  <cactus@cactus.rulez.org>
+      
+       * intltoolize.in: populate $auxdir in a subshell, so
+       po/Makefile.in.in is found even when AC_AUX_DIR is set.
+
+  233 darin    2002-01-31
+       * configure.in: Turn off the part of this file that deals
+       with doc-i18n-tool, since it has some small problems and
+       doc-i18n-tool is currently turned off. Also bump version.
+
+  232 cactus   2002-01-31
+      2002-01-31  ERDI Gergo  <cactus@cactus.rulez.org>
+      
+       * intltoolize.in: use po/Makefile.in.in patch #4 if latest
+       Makefile.in.in (from glib-gettextize) is detected
+
+  231 darin    2002-01-29
+       * NEWS: Updated for 0.14 release.
+       * configure.in: Bump to 0.14.
+
+  230 cactus   2002-01-29
+      2002-01-29  ERDI Gergo  <cactus@cactus.rulez.org>
+      
+       * intltool.m4: use AC_DIVERT to access config.status only when the
+       AC_DIVERSION_ICMDS macro is defined, and revert to
+       AC_CONFIG_COMMANDS_PRE when not (closes: #69991)
+
+  229 darin    2002-01-29
+      Release marker.
+
+  228 darin    2002-01-28
+       * NEWS: Updated for 0.13 release.
+       * intltool.m4: Tweak comment.
+
+  227 rossg    2002-01-28
+      Updated popt URL
+
+  226 cactus   2002-01-25
+      2002-01-25  ERDI Gergo  <cactus@cactus.rulez.org>
+      
+       * xml-i18n-tools.m4:
+       * intltool.m4: Since AC_OUTPUT_COMMANDS_PRE is an Autoconf
+       2.50-only feature, use the AC_DIVERSION_ICMDS diversion instead,
+       to modify po/POTFILES in the config.status script
+
+  225 darin    2002-01-25
+       * intltool.m4: Tweak comments.
+
+  224 cactus   2002-01-25
+      2002-01-24  ERDI Gergo  <cactus@cactus.rulez.org>
+      
+       * intltool.m4: Remove intltool [] tags from POTFILES
+
+  223 darin    2002-01-22
+       * intltool-merge.in.in: Don't use NDBM_File unless the
+       environment variable tells us to.
+
+  222 darin    2002-01-21
+       * intltool-merge.in.in: Kenneth implemented a cache to
+       make merging much faster. But we don't have a complete
+       solution about where to put the cache. For now, you can
+       turn on the cache by setting the environment variable
+       INTLTOOL_USE_CACHE.
+      
+       * intltool-update.in.in: Formatting tweak.
+
+  221 darin    2002-01-17
+       * intltool-update.in.in:
+       Mostly changes by Kenneth Christiansen <kenneth@gnu.org>.
+       This is an attempt to fix a bug in intltool -M where it
+       doesn't find glade files containing translatable strings.
+       Some other miscellaneous cleanups too.
+
+  220 darin    2002-01-17
+       * TODO: New.
+       * intltool-update.in.in: Fix some typos.
+
+  219 fcrozat  2002-01-16
+      * intltool-prepare.in: Be sure to escape backslashes
+
+  218 jpablo   2002-01-07
+      2002-01-07  Juan Pablo Mendoza <jpablo@gnome.org>
+      
+              * USED: Add gnome-games.
+
+  217 darin    2002-01-07
+       * intltool-update.in.in: Look at both POTFILES.in and POTFILE.ignore.
+
+  216 jpablo   2002-01-07
+      2002-01-06  Juan Pablo Mendoza <jpablo@gnome.org>
+      
+              * intltool-update.in.in:
+              * intltool.m4:
+      
+              Added suport for caves files (gnome-games/gnome-stones/*.caves),
+              theses are just like desktop files.
+      
+              From Edgar Luna:
+      
+              * intltool-prepare.in (contains): chomp the readed
+                line since it may contain stuff like \n and so.
+
+  215 darin    2001-12-31
+       * NEWS: Oops, 0.12 already went out.
+       * configure.in: Bump to 0.13.
+
+  214 darin    2001-12-31
+       * NEWS: 0.12, this time for sure.
+
+  213 darin    2001-12-04
+       * intltool-merge.in.in: Fix regexp so we don't run into
+       trouble when desktop file entries have metacharacters in them.
+
+  212 carlos   2001-11-13
+      2001-11-13  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * USED: gedit's HEAD use now intltool.
+
+  211 darin    2001-11-09
+       * NEWS: Updated for 0.12 release.
+      
+       * tests/cases/Makefile.am:
+       * tests/results/Makefile.am:
+       Finish adding new test case.
+
+  210 darin    2001-11-06
+       * intltool-merge.in.in: Fix whitespace chomping bug for keys
+       and desktop files I introduced when I did the rewrite.
+      
+       * tests/cases/.cvsignore:
+       * tests/cases/merge8.keys.in:
+       * tests/cases/test.po:
+       * tests/results/merge8.keys:
+       * tests/selftest.pl.in:
+       Add a test case for .keys file merging.
+
+  209 darin    2001-11-06
+       * intltool-update.in.in: Get package name from GETTEXT_PACKAGE
+       if present.
+
+  208 darin    2001-11-06
+       * intltool-prepare.in: Fix bug where it used a regex when all
+              we want to do was compare two strings.
+
+  207 darin    2001-11-04
+       * NEWS:
+       * configure.in:
+       Prepare for 0.12 release.
+
+  206 darin    2001-11-01
+       * intltool-merge.in.in: Fix another regular expression problem,
+       where something looks like an array dereference.
+
+  205 darin    2001-10-29
+       * intltool-extract.in.in: Some simplifications.
+       * intltool-merge.in.in: Better fix for the the "C++ file" problem.
+       Some code simplification.
+
+  204 jberkman 2001-10-29
+      2001-10-29  jacob berkman  <jacob@ximian.com>
+      
+       * intltool-merge.in.in (keys_merge_translations): line from stric
+       to not choke on things like "C++ file"
+
+  203 jberkman 2001-10-29
+      2001-10-29  jacob berkman  <jacob@ximian.com>
+      
+       * intltool-po-Makefile.in.in-patch-3: add back top_builddir
+       definition because $INTLTOOL_UPDATE refers to it
+
+  202 darin    2001-10-29
+       * intltool-merge.in.in:
+       Major rewrite. Handle entities better, handle multiline entries
+       in .po files better. Handle multiple translations within the
+       same element in an oaf-style file better.
+      
+       * tests/cases/merge6.po: Fix test case since we now decode entities
+       properly for the .po file entries.
+      
+       * tests/cases/test.po: Remove _File test case since it requires
+       something we haven't even designed -- translating attributes for a
+       non-empty XML node. Change merge7 part of test to use a more realistic
+       msgstr line.
+      
+       * tests/results/merge1.xml: Add all the translations that the old
+       version was failing to include.
+      
+       * tests/results/merge7.xml: Took out some whitespace that is no longer
+       preserved by the merging process.
+
+  201 jberkman 2001-10-29
+      2001-10-29  jacob berkman  <jacob@ximian.com>
+      
+       * intltool-update.in.in: add support for a --gettext-package
+       argument
+      
+       * intltoolize.in: apply new patch to new Makefile.in.in's
+      
+       * intltool-po-Makefile.in.in-patch-3:
+       * Makefile.am (pkgdata_DATA): add glib-gettextize'd patch
+
+  200 darin    2001-10-26
+       * Makefile.am:
+       * doc-i18n-tool/Makefile.am:
+       Oops. Not so easy to turn something off.
+
+  199 darin    2001-10-26
+       * Makefile.am: Turn off compiling of doc-i18n-tool as an
+       interim measure so people using eazel-hacking can build.
+       Soon, we can make this a configure-time option and change
+       eazel-hacking to use that.
+
+  198 darin    2001-10-24
+       * intltool.spec.in: Set up mandir (thansk Toralf Lund)
+
+  197 jrb      2001-10-22
+      Mon Oct 22 19:39:39 2001  Jonathan Blandford  <jrb@redhat.com>
+      
+       * autogen.sh: fix message now that we compile.
+
+  196 jrb      2001-10-22
+      Mon Oct 22 17:31:26 2001  Jonathan Blandford  <jrb@redhat.com>
+      
+       * doc-i18n-tool/doc-i18n-tool.c: add doc-i18n-tool to cvs.
+       * doc-i18n-tool/.cvsignore:
+       * doc-i18n-tool/Makefile.am:
+       * configure.in:
+       * Makefile.am: add build support for it
+
+  195 darin    2001-10-16
+       * intltool-merge.in.in: Remove whitespace in a way that
+       matches what intltool-extract does.
+      
+       * intltool-extract.in.in:
+      
+       * tests/cases/.cvsignore:
+       * tests/cases/Makefile.am:
+       * tests/cases/merge7.xml.in:
+       * tests/cases/test.po:
+       * tests/results/Makefile.am:
+       * tests/results/merge7.xml:
+       * tests/selftest.pl.in:
+       Added a test for the above change.
+      
+       * tests/cases/extract2.keyprop:
+       * tests/results/extract2.keyprop.h:
+       Removed a redundant test.
+
+  194 darin    2001-10-09
+       * intltool-extract.in.in: Remove excess whitespace.
+       Still nowhere near real XML parsing, but better than
+       before for multi-line XML.
+      
+       * tests/cases/.cvsignore:
+       * tests/cases/Makefile.am:
+       * tests/cases/extract7.xml:
+       * tests/results/Makefile.am:
+       * tests/results/extract7.xml.h:
+       * tests/selftest.pl.in:
+       Add a test for the above change.
+
+  193 darin    2001-10-05
+       * intltool.spec.in: Second try.
+
+  192 darin    2001-10-05
+       * intltool.spec.in: A naive cut at adding "Provides"
+       so that RPMs can ask for xml-i18n-tools and get us and
+       be satisfied.
+
+  191 darin    2001-10-04
+       * configure.in: Bump version to 0.11.1 so that cvs will
+       be newer than the released version.
+
+  190 darin    2001-10-04
+      intltool, not xml-i18n-tools
+
+  189 darin    2001-10-04
+      Mark the 0.11 release in the log.
+
+  188 darin    2001-10-04
+      Remove unneeeded entries.
+
+  187 darin    2001-10-04
+       * NEWS: More news, release will be 0.11, not 0.10.
+       * configure.in: Bump version number.
+      
+       * tests/cases/Makefile.am: Add missing files so "make
+       distcheck" passes.
+       * tests/results/Makefile.am: Add missing files so "make
+       distcheck" passes.
+      
+       * tests/selftest.pl.in: Do the tests in the destination
+       directory, instead of in srcdir.
+
+  186 darin    2001-10-04
+       * intltool-extract.in.in:
+       * intltool-merge.in.in:
+       * intltool-update.in.in:
+       * intltool.m4:
+       * intltool.spec.in:
+       * intltoolize.in:
+       * xml-i18n-toolize.in:
+       * xml-i18n-tools.m4:
+       More license tweaking, and some updates of email addresses.
+
+  185 darin    2001-10-04
+       * intltool-prepare.in: Missed a bit.
+
+  184 darin    2001-10-04
+       * intltool-extract.in.in:
+       * intltool-merge.in.in:
+       * intltool-prepare.in:
+       * intltool-update.in.in:
+       Back to GPL.
+
+  183 peterw   2001-10-04
+      2001-10-03  Peter Williams  <peterw@ximian.com>
+      
+             * intltoolize.in: Define $intltool_m4 because it's supposed to
+             be defined.
+      
+             * xml-i18n-toolize.in: Analogous fix.
+
+  182 darin    2001-10-03
+       * COPYING.LIB: Maciej says that switching to LGPL was a mistake.
+       I'll remove this, and he'll fix the licenses in the source files.
+
+  181 kenneth  2001-10-02
+      2001-10-02  Kenneth Christiansen  <kenneth@gnu.org>
+      
+              * intltool-*: Changed license, and s/xml-i18n-tools/intltool/;
+              * COPYING.LIB: New file describing the LGPL licence
+
+  180 darin    2001-10-02
+       * intltool.m4: A bit of cleanup and reorganization.
+
+  179 darin    2001-10-02
+       * doc/intltool-extract.8:
+       * doc/intltool-merge.8:
+       * doc/intltool-prepare.8:
+       Fix mailing list address.
+
+  178 darin    2001-10-02
+       * NEWS: Put some things in to prepare for a 0.10 release.
+       * README: Fix some grammar, and make more things right for the new
+       intltool world.
+
+  177 darin    2001-10-02
+       * intltool.m4:
+       * xml-i18n-tools.m4:
+       Fix mistake where the whitespace screws up the macros.
+
+  176 darin    2001-10-01
+       First cut at all the name changes to call it intltool.
+       If you use the new m4 macros, everything defaults to doing it the
+       right way for gnome 2 (using UTF-8 everywhere).
+
+  175 darin    2001-10-01
+       * xml-i18n-tools.m4: A bit more cleanup in here.
+
+  174 darin    2001-10-01
+       * xml-i18n-tools.m4: Fix longstanding problem where the merge rule
+       doesn't work if you don't have any .po files by using $(wildcard)
+       inside the make rules.
+
+  173 carlos   2001-09-29
+      2001-09-29  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * USED: Added ganimal.
+
+  172 darin    2001-09-26
+       * xml-i18n-merge.in.in: Added a comment.
+
+  171 darin    2001-09-24
+       * xml-i18n-tools.m4: Used % instead of \%. It turns out that
+       the reason the backslash was needed before was a subtle consequence
+       of using two lines in our macro expansions. Now that we have single
+       lines, we don't need the \ any more. Took me a long time to figure
+       that one out. Also use plain old AC_SUBST -- the HACK_SUBST is not
+       needed any more now that we have 1-line expansions.
+
+  170 darin    2001-09-23
+       * xml-i18n-extract.in.in:
+       * xml-i18n-merge.in.in:
+       * xml-i18n-update.in.in:
+       Remove "-?" option as a way to get help for compatibility with
+       older versions of perl (or is it older versions of a perl lib?).
+       Patch contributed by drk@sgi.com.
+
+  169 darin    2001-09-23
+       * xml-i18n-update.in.in: Ignore comment lines when reading
+       POTFILES.in -- fixes bug 60999.
+      
+       * xml-i18n-tools.m4: Whitespace tweak.
+
+  168 darin    2001-09-19
+       * tests/cases/test.po: Removed a troublesome test case. We don't
+       really need to handle cases where we escape a non-reserved character.
+      
+       * xml-i18n-merge.in.in: Fix escape logic so it's clear that it won't
+       be confused by partial escape sequences. Also remove the absurd code
+       that turns "\n" into "n".
+
+  167 carlos   2001-09-19
+      2001-09-19  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * xml-i18n-tools.spec.in: fixes from jgotts@linuxsavvy.com
+       (kenneth sended me this patch)
+       * xml-i18n-update.in.in
+       * xml-i18n-extract.in.in: Added .scm support from old intltool code
+       from kenneth and scripts from gimp.
+
+  166 carlos   2001-09-19
+      2001-09-19  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * Added the changes from kenneth (intltool rel 0.9.5)
+
+  165 darin    2001-09-19
+       * xml-i18n-tools.m4: Fixed the long-standing "split line"
+       bug by just using semicolons instead of newlines. I have
+       no idea why we didn't think of this before.
+
+  164 darin    2001-09-15
+       * doc/xml-i18n-extract.8:
+       * doc/xml-i18n-merge.8:
+       * doc/xml-i18n-prepare.8:
+       * doc/xml-i18n-toolize.8:
+       * xml-i18n-extract.in.in:
+       * xml-i18n-merge.in.in:
+       Updated my email address.
+
+  163 darin    2001-09-15
+       * xml-i18n-prepare.in: A few simplifications.
+
+  162 carlos   2001-09-09
+      *** empty log message ***
+
+  161 carlos   2001-09-09
+      *** empty log message ***
+
+  160 carlos   2001-09-09
+      2001-09-09  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * doc/*: Added the manpages from intltool. They aren't
+       installed yet because I have only changed /s/intl/xml-i18n-/
+       and they need more work and also the script need more
+       options from intltool. I'm working on it, please be patient.
+
+  159 rslomkow 2001-09-02
+       * tests/cases/Makefile.am: changed extract1.desktop.in
+               to extract1.desktop as the .in file did not exist.
+
+  158 carlos   2001-09-01
+      2001-09-01  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * xml-i18n-update.in.in: Fixed the .server support.
+
+  157 darin    2001-08-26
+       * xml-i18n-tools.m4: Don't touch the xml-i18n-* scripts when they
+       haven't really changed. This reduces the amount of redundant
+       re-translating that happens if you rerun configure, something I
+       do a lot.
+
+  156 chyla    2001-08-24
+      * xml-i18n-update.in.in: Appended "--keyword=U_" to the list of
+      parameters passed to xgettext.
+      U_() is used in Evolution to get UTF-8 string from current (probably
+      non-utf) translation domain.
+      Of course this is useful only in GNOME 1.x apps.
+
+  155 chyla    2001-08-21
+      * README: s/XML_UTF8_XML_KIND/XML_I18N_XML_KIND/
+
+  154 mstachow 2001-08-20
+       * xml-i18n-tools.m4: REmove buggy check for xml-i18n-tools 0.9 or
+       greater. First of all, ./xml-i18n-merge is not generated until
+       after configure runs, so running it inside configure is not a good
+       idea. The check won't do much anyway since if you have the version
+       of the m4 file that requires 0.9, you must also have 0.9 itself.
+
+  153 cyrille  2001-08-19
+       * xml-i18n-tools.m4: Added a second, optional parameter. If this
+       is equal to G2 (as in "GNOME 2.0 or better"), then there is no
+       variable behaviour based on the value of $XML_I18N_XML_KIND or
+       _KEYS_KIND. All _MERGE_.*_RULEs have been marked as using -p for
+       G1, -u for G2 if nothing better was known. (OAF is -p only)
+       * NEWS:
+       * README: documented the above capability.
+
+  152 cyrille  2001-08-19
+       * xml-i18n-merge.in.in: (get_po_encoding): more resilient regex as
+       advised by Darin. (unescape_po_string): unescaped \\ too.
+       Refactored the regex. (entity_encode): removed the \ handling.
+      
+       * tests/cases/merge6.(xml.in|po):
+       * tests/results/merge6.xml: included more tests on escapes.
+
+  151 cyrille  2001-08-19
+      whoops
+
+  150 cyrille  2001-08-19
+       * xml-i18n-merge.in.in: (get_po_encoding): more resilient regex as
+       advised by Darin.
+       * tests/selftest.pl.in: re-aligned the [OK] notices and put them a
+       bit further on the right side.
+
+  149 cyrille  2001-08-18
+       * xml-i18n-merge.in.in: (get_po_encoding): put a warning and a
+       default if the charset spec is absent.
+       (entity_encode_sane): renamed to entity_encode_int_minimalist.
+       (entity_encode_int): renamed to entity_encode_int_even_high_bit.
+      
+       * xml-i18n-tools.m4: (XML_I18N_MERGE_SERVER_RULE): use --utf8.
+       (XML_I18N_MERGE_KEYS_RULE): use $(XML_I18N_KEYS_KIND).
+      
+       * NEWS:
+       * README: updated to mention XML_I18N_KEYS_KIND
+
+  148 cyrille  2001-08-18
+       * xml-i18n-merge.in.in: added two new flags, --pass-through(-p)
+       and --utf8(-u). The former asks for previous XML behaviour, the
+       latter complies better with the XML spec. If neither is asked,
+       xml-i18n-merge.in.in will complain vehemently but do -p.
+      
+       * xml-i18n-tools.m4: updated all MERGE_.*_RULE macros to use -p
+       where not sure, -u for _SHEET_RULE, and
+       developer-specificable behaviour for _XML_RULE. Added an optional
+       minimum version parameter (FIXME: how to detect "very old" (up to
+       0.9) xml-i18n-tools ?)
+      
+       * NEWS: updated (put a reference to the README)
+       * README: documented the XML_I18N_XML_KIND variable in the XML
+      section.
+       Didn't document .sheet files, given their specificity.
+      
+       * tests/cases/fr.po (REMOVED):
+       * tests/cases/fr_BE.po (NEW):
+       * tests/cases/fr_FR.po (NEW):
+       split into two identical versions, one encoded in UTF-8 and one in
+       ISO-8859-1.
+       * tests/cases/az.po (NEW): UTF-8 encoded Azerbaijani version of
+       the above. AZ is normally not represented using latin1, so this is
+       a valuable test case.
+      
+       * tests/cases/merge5.sheet.in(REMOVED):
+       * tests/cases/merge5u.sheet.in(NEW):
+       * tests/cases/merge5p.sheet.in(NEW):
+       * tests/results/merge5.sheet(REMOVED):
+       * tests/results/merge5u.sheet(NEW):
+       * tests/results/merge5p.sheet(NEW):
+       * tests/cases/merge6.sheet.in(NEW):
+       * tests/cases/merge6.sheet(NEW):
+       * tests/cases/merge6.po(NEW):
+       * selftest.pl.in: updated the test case 7, split into tests 7u and
+       7p, to check for both --pass-through and --utf8 behaviours. Test 8
+       added to check for PO string unescaping.
+      
+       * tests/cases/Makefile.am:
+       * tests/results/Makefile.am: forgot to update these.
+
+  147 cyrille  2001-08-17
+      don't look at errors
+
+  146 cyrille  2001-08-17
+       * tests/cases/.cvsignore:
+       * tests/cases/merge5.sheet.in (NEW):
+       * tests/cases/fr.po (NEW):
+       * tests/results/merge5.sheet (NEW):
+       * tests/selftest.pl.in: Added a new test case for dia sheet files
+       merging, and correctness with respect to UTF-8 encoding in XML
+       files. It would be excellent if someone from a non-latin1 language
+       could update this test !
+       Please note that this test currently fails.
+
+  145 cyrille  2001-08-17
+       * xml-i18n-update.in.in: Now understands .sheet files (dia) are
+       XML files.
+       * USED: added dia.
+
+  144 darin    2001-08-10
+      Log for AUTHORS change.
+
+  143 darin    2001-08-10
+      Updated author email addresses.
+
+  142 darin    2001-08-10
+       * tests/cases/.cvsignore:
+       * tests/cases/Makefile.am:
+       * tests/cases/extract3.xml.in:
+       * tests/cases/extract6.glade:
+       * tests/cases/merge1.xml.in:
+       * tests/cases/merge4.xml.in:
+       * tests/results/extract6.glade.h:
+       * tests/results/merge1.xml:
+       * tests/results/merge4.xml:
+       * tests/selftest.pl.in:
+       Added new test cases for bugs reported by Zbigniew Chyla.
+       - tags with "-" characters in XML files
+       - <message> tags in glade files
+      
+       * xml-i18n-extract.in.in: Changed XML file characters to
+       use the set [-A-Za-z0-9._:] instead of just [A-Za-z0-9].
+       Added "message" to the list of tags supported in glade
+       files.
+      
+       * xml-i18n-merge.in.in: Changed XML file characters to
+              use the set [-A-Za-z0-9._:] instead of just [A-Za-z0-9].
+
+  141 darin    2001-08-07
+      Small log updates.
+
+  140 mstachow 2001-08-07
+       * NEWS, configure.in: Updated for 0.8 release.
+
+  139 yaneti   2001-08-02
+      2001-08-02  Yanko Kaneti  <yaneti@declera.com>
+      
+         * xml-i18n-update.in.in: fix the long claimed support of soundlists
+
+  138 mstachow 2001-07-31
+       * xml-i18n-tools.m4, xml-i18n-update.in.in: Add support for
+       .server files (what used to be .oaf)
+
+  137 carlos   2001-07-16
+      2001-07-16  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * USED: Added gnome-control-center
+
+  136 carlos   2001-07-14
+      2001-07-14  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * USED: Added procman && gturing
+
+  135 darin    2001-07-13
+       * tests/selftest.pl.in: Fix an "or" that should be "||".
+
+  134 darin    2001-07-13
+       * autogen.sh: Don't run autoheader because we have no headers.
+
+  133 darin    2001-06-08
+       * xml-i18n-merge.in.in: Merge translations in sorted order rather
+       than in seemingly-random order.
+
+  132 ke       2001-06-03
+      2001-06-03  Karl Eichwalder  <ke@suse.de>
+      
+       * README: Adjustments.  Add info on .desktop files.
+
+  131 menesis  2001-06-01
+      
+      2001-06-01  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * USED: added 10 new modules. The file loses its purpose as everyone
+       wants to use us :)
+
+  130 ke       2001-05-31
+      add ggv
+
+  129 mstachow 2001-05-31
+       * xml-i18n-tools.m4: One more change needed to work with autoconf
+       2.50.
+
+  128 mstachow 2001-05-31
+       * xml-i18n-tools.m4: Ugly M4 magic to work with autoconf 2.50
+       while retaining autoconf 2.13 support.
+
+  127 ke       2001-05-30
+      Add bug-buddy
+
+  126 ke       2001-05-23
+      Fix typo
+
+  125 carlos   2001-05-22
+      2001-05-22  Carlos Perelló Marín <carlos@gnome-db.org>
+      
+       * USED: Added gnome-db.
+
+  124 ke       2001-05-22
+      typo
+
+  123 rslomkow 2001-05-21
+       * configure.in: upped the version to 0.8.4 at
+               Kenneth Christiansen's request
+
+  122 ke       2001-05-21
+      Add items from Kenneth's last annoucement
+
+  121 kenneth  2001-05-17
+      small changes
+
+  120 kenneth  2001-05-17
+      2001-05-16  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * RELEASES: New file
+
+  119 kenneth  2001-05-17
+      2001-05-16  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in.in: Fixed some file support
+              errors so it works with Ximian Setup Tools.
+
+  118 laszlo   2001-05-11
+      message extraction and merge back from files with .xml extension added
+
+  117 darin    2001-05-09
+       * xml-i18n-tools.spec.in: Fixed broken DocDir line that was
+       causing problems with Tinderbox.
+
+  116 darin    2001-05-09
+      Last check-in failed because script choked on log message.
+
+  115 darin    2001-05-09
+      2001-05-09  Darin Adler  <darin@eazel.com>
+      
+       * Makefile.am: SUBDIRS included "." for a good reason. That's
+       the only way to make sure the scripts are built before the
+       tests directory. The problem was actually a bug in automake
+       1.3 -- this program requires automake 1.4.
+      
+      2001-05-09  Darin Adler  <darin@eazel.com>
+      
+       Rolled all the changes from the stable branch to here. We're
+       going to stop using the stable branch and just develop on HEAD.
+      
+       2001-05-09  Darin Adler  <darin@eazel.com>
+      
+       Fix bug 8274 (autogen.sh creates recursive makefile on Solaris):
+      
+       * Makefile.am: For some reason, SUBDIRS included "." -- no wonder
+       the makefile went on forever!
+      
+       2001-05-08  Darin Adler  <darin@eazel.com>
+      
+       * tests/cases/.cvsignore: Ignore a generated file.
+      
+       2001-05-08  Darin Adler  <darin@eazel.com>
+      
+       * tests/cases/Makefile.am:
+       * tests/results/Makefile.am:
+       Added George's tests to the EXTRA_DIST so that "make distcheck"
+       passes.
+      
+       2001-05-02  Darin Adler  <darin@eazel.com>
+      
+       * xml-i18n-po-Makefile.in.in-patch-2: New version of the gettext
+       0.10.36 (and newer) patch contributed by Stanislav Brabec
+       <utx@penguin.cz>.
+      
+       2001-04-27  Darin Adler  <darin@eazel.com>
+      
+       A first try at making xml-i18n-tools compatible with the new
+       gettext 0.10.36. I created a new patch and make the toolize
+       script choose the appropriate patch based on the file contents.
+      
+       * xml-i18n-tools.Makefile.patch:
+       * xml-i18n-po-Makefile.in.in-patch-1:
+       Renamed the old patch.
+      
+       * xml-i18n-po-Makefile.in.in-patch-2:
+       Checked in a new patch that works with gettext 0.10.36.
+      
+       * xml-i18n-toolize.in:
+       Added code to use patch2 if "builddir" appears in the file
+       and patch1 if it doesn't.
+      
+       * Makefile.am:
+       Add the new files.
+      
+       2001-04-10  Christopher James Lahey  <clahey@ximian.com>
+      
+       reviewed by: Kenneth Christiansen <kenneth@gnu.org>
+      
+       * xml-i18n-update.in.in: Added .etspec to the list of xml file
+       types.
+      
+       2001-03-09  Maciej Stachowiak  <mjs@eazel.com>
+      
+       reviewed by: George Lebl  <jirka@5z.com>
+      
+       * xml-i18n-update.in.in: Handle .directory files properly; needed
+       to xml-i18n-toolize control-center.
+      
+       2001-03-01  Arik Devens  <arik@eazel.com>
+      
+       reviewed by: Robin * Slomkowski  <rslomkow@eazel.com>
+      
+       Fixed bug 6766, xml-i18n-tools spec file needs cleanups.
+      
+       * xml-i18n-tools.spec.in: Added greg leblanc's changes to the spec
+       file.
+      
+       2001-03-01  Darin Adler  <darin@eazel.com>
+      
+       reviewed by: Maciej Stachowiak <mjs@eazel.com>
+      
+       * xml-i18n-merge.in.in: Also encode "&".
+      
+       * tests/cases/test.po:
+       * tests/results/merge1.xml:
+       Test case for that.
+      
+       2001-03-01  Darin Adler  <darin@eazel.com>
+      
+       reviewed by: Maciej Stachowiak <mjs@eazel.com>
+      
+       Fixed bug 7230 (opening images in Nautilus fails), which was
+       caused by a translation with a \" sequence in it.
+      
+       * xml-i18n-merge.in.in: Handle '\' sequences in the strings
+       from the po file, specifically '\"' for a quote mark.
+      
+       * tests/cases/test.po:
+       * tests/results/merge1.xml:
+       Added a test case for the new features.
+      
+       2001-02-25  Maciej Stachowiak  <mjs@eazel.com>
+      
+       reviewed by: Ian McKellar  <ian@eazel.com>
+      
+       * xml-i18n-tools.m4: Reorder things a bit to help the Bonobo
+       build.
+      
+       2001-02-25  Maciej Stachowiak  <mjs@eazel.com>
+      
+       reviewed by: Seth Nickell  <seth@eazel.com>
+      
+       Fixed bugs 6980 (workaround for glade does not work) and 6976
+       (<A0> in README and NEWS).
+      
+       * NEWS, README: Replaced 0xA0 characters with spaces.
+       * xml-i18n-extract.in.in: improve glade workaround to notice
+       window and label IDs with more than one digit after them. Patch
+       from db@zigo.dhs.org
+      
+       2001-02-25  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * configure.in: Bumped version to 0.8.2, this one is required for
+       control-center and gnome-core to work correctly with the Tools.
+       * xml-i18n-prepare.in: do not grep non-existing po files. Write correct
+       merge rule according to extension.
+       * xml-i18n-tools.m4: added macros for .directory and .soundlist files.
+       FIXME: should be better way to do it, these macros are equal.
+      
+       2001-02-19  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * xml-i18n-prepare.in: escape "'s in msgid also. fixes #6757. added
+       missing }, and removed check for existance of LL.po file -- to rescue
+       all translations from .desktop files -- newly created files should be
+       added to cvs.
+      
+       2001-02-15  Darin Adler  <darin@eazel.com>
+      
+       * xml-i18n-update.in.in: Add support for ".ui" files.
+      
+       2001-02-15  Darin Adler  <darin@eazel.com>
+      
+       * README: Remove silly "ignore non-fatal errors" message.
+      
+       2001-02-14  Maciej Stachowiak  <mjs@eazel.com>
+      
+       * configure.in: Bumped version to 0.8.1
+      
+       2001-02-13  Morten Welinder  <terra@diku.dk>
+      
+       * xml-i18n-update.in.in (find_package_name): Only return package
+               name when found.
+       (determine_type): Properly return a value and declare locals
+               locally.
+       (maintain): Escape a double quote to keep Emacs font-lock happy.
+       (whole file): remove trailing white space.
+      
+       2001-02-13  Maciej Stachowiak  <mjs@eazel.com>
+      
+       * xml-i18n-update.in.in: Fix some utterly broken code that was
+       trying to find the top level.
+      
+       2001-02-13  Maciej Stachowiak  <mjs@eazel.com>
+      
+       * xml-i18n-update.in.in: Turn on use strict, fix problems found as
+       a result.
+      
+       2001-02-13  Maciej Stachowiak  <mjs@eazel.com>
+      
+       * configure.in: Bumped version to 0.8
+
+  114 clahey   2001-04-10
+      2001-04-10  Christopher James Lahey  <clahey@ximian.com>
+      
+       * xml-i18n-update.in.in (determine_type): Added etspec to the
+       other place where the list of xml file types is.
+
+  113 clahey   2001-04-10
+      2001-04-10  Christopher James Lahey  <clahey@ximian.com>
+      
+       * xml-i18n-update.in.in: Added .etspec to the list of xml file
+       types.
+
+  112 dietmar  2001-04-09
+      2001-04-06  Dietmar Maurer  <dietmar@ximian.com>
+      
+       * xml-i18n-update.in.in: bug fix - the previous code to extract
+       top_srcdir from the Makefile was wrong.
+
+  111 jgotts   2001-04-05
+      Spec file improvements.
+
+  110 jirka    2001-03-25
+      Sun Mar 25 03:18:35 2001  George Lebl <jirka@5z.com>
+      
+       * xml-i18n-extract.in.in (type_xml): The message is anything but <,
+         not anything but _.  This fixes a bug where it would not extract
+         messages which had underscores in them.
+      
+       * xml-i18n-merge.in.in (xml_merge_translations)
+         (oaf_merge_translations):  Rename the old xml mode to "oaf" mode
+         as Maciej requested.  For XML files merge the pong style
+         <_foo>bar</_foo> type messages.  These are already extracted along
+         with the "pong" style messages.  The option to do this is -x as
+         it's supposed to be the general XML style translation.
+      
+       * xml-i18n-tools.m4:  Add a pong rule macro
+      
+       * xml-i18n-update.in.in (determine_type):  Add .pong(.in)+ type files
+         for the xml file types
+      
+       * tests/selftest.pl.in, tests/cases/merge4.xml.in,
+         tests/results/merge4.xml, tests/cases/test.po:  Add a simple message
+         and test for the merging of pong style xml messages.  This is really
+         the same as extract3.xml.in
+      
+       * USED: add pong and grapevine, which are going to get things
+         comitted very soon.
+
+  109 menesis  2001-03-14
+       * USED: added this file containing modules which use xml-i18n-tools.
+
+  108 mstachow 2001-02-26
+       reviewed by: Robey Pointer  <robey@eazel.com>
+      
+       * xml-i18n-tools.m4: Set sed substituted files to be writable by
+       the user to fix bug 7025 (xml-i18n-extract, merge, update created
+       with improper permissions).
+
+  107 menesis  2001-02-24
+      2001-02-25  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * xml-i18n-tools.m4: added macros for .directory and .soundlist files.
+       FIXME: should be better way to do it, these macros are equal.
+
+  106 menesis  2001-02-19
+      create new po files for languages whose translation exist only in .desktop files
+      ChangeLog for all 3 fixes.
+
+  105 darin    2001-02-15
+       * configure.in: Rolling back to 0.7. The 0.8.1 verson is
+       on the branch, not here on HEAD.
+
+  104 darin    2001-02-15
+       * README: Remove silly "Ignore non fatal errors" message.
+       * configure.in: Bump version to 0.8.1 so this version is
+       seen as newer than the recent release. I didn't bump all
+       the version numbers strewn throughout other source files.
+
+  103 menesis  2001-02-09
+      2001-02-09  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * xml-i18n-prepare.in: new added fix_makefiles, which does changes in
+       Makefile.am to distribute only .desktop.in files and generate
+       .desktop ones. So it does everything for
+       desktop/keys/directory/soundlist files now.
+       * xml-i18n-merge.in.in: sort by language code when writing.
+
+  102 mstachow 2001-02-06
+       * .cvsignore: Updated.
+       * xml-i18n-prepare.in: Removed.
+
+  101 mstachow 2001-02-06
+       * xml-i18n-prepare.in: REsurrected this accidentally deleted file.
+
+  100 mstachow 2001-02-06
+       * .cvsignore, tests/.cvsignore: Silence cvs.
+
+   99 mstachow 2001-02-06
+       reviewed by: George Lebl <jirka@eazel.com>
+                    Robin * Slomkowski <rslomkow@eazel.com>
+      
+       Fixed bug 6199 (perl location is configured at xml-i18n-tools
+       configure time -- not the configure time for a package that uses
+       the tools) and 6250 (perl path hard-coded in selftest.pl). Also
+       made 'make distcheck' work.
+      
+       * tests/Makefile.am: Screw around a bit so the self test script
+       ends up executable after configure substitution.
+       * tests/cases/.cvsignore: Ignore a new file
+       * tests/cases/Makefile.am, tests/results/Makefile.am: Add missing
+       files to EXTRA_DIST.
+       * tests/selftest.pl.in: renamed from tests/selftest.pl, set perl
+       path at configure time.
+       * xml-i18n-unicodify.in: renamed from xml-i18n-unicodify, set perl
+       path at configure time.
+       * xml-i18n-extract.in.in, xml-i18n-merge.in.in,
+       xml-i18n-prepare.in.in, xml-i18n-update.in.in: Renamed to .in.in
+       from .in; substitute all variables except perl path at
+       xml-i18n-tools configure time, so .in versions can be copied into
+       modules when xml-i18n-toolizing.
+       * xml-i18n-toolize.in: copy .in versions of tools into module.
+       * xml-i18n-tools.Makefile.patch: don't change DISTFILES, this
+       broke with the new changes.
+       * xml-i18n-tools.m4: substitute xml-i18n-tools ; expect xml-i18n-*
+       to be in builddir.
+       * README: Updated instructions on how to use.
+       * Makefile.am: Adjust what gets installed where.
+       * configure.in: Adjust set of files being output.
+
+   98 kenneth  2001-02-01
+      001-02-01  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/selftest.pl:
+              * tests/results/extract3.xml.in.h:
+              Fixed some errors.
+
+   97 laszlo   2001-02-01
+      new testcase added in tests
+
+   96 laszlo   2001-02-01
+      new testcase added
+
+   95 laszlo   2001-02-01
+      extract3.xml.in.h added
+
+   94 laszlo   2001-02-01
+      first commit
+
+   93 laszlo   2001-02-01
+      added extract3.xml.in
+
+   92 menesis  2001-02-01
+      2001-02-01  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * xml-i18n-prepare.in: additional keywords can be specified on comand
+       line.
+       * tests/Makefile.in, tests/cases/Makefile.in,
+       tests/results/Makefile.in: removed.
+
+   91 darin    2001-02-01
+       * xml-i18n-merge.in: Fix regular expressions again. Should
+       fix the stuff I broke with the last change.
+       * tests/results/merge1.xml: Got rid of extra space in test
+       case that corresponded to an extra space made by the script.
+
+   90 darin    2001-01-31
+       * tests/selftest.pl: Use the "srcdir" environment variable
+       that is set up by automake. This makes "make distcheck" work.
+
+   89 darin    2001-01-31
+       * Makefile.am: Build top level first.
+       * tests/.cvsignore: Ignore more generated stuff.
+       * tests/cases/.cvsignore: Ignore more generated stuff.
+       * tests/results/.cvsignore: Ignore more generated stuff.
+       * tests/selftest.pl: Indicate failure with exit 1.
+       * xml-i18n-extract.in: Fix help.
+       * xml-i18n-merge.in: Add --quiet option. Fix help.
+
+   88 kenneth  2001-01-31
+      2001-01-31  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/Makefile.am:
+       * tests/Makefile.in:
+       * tests/cases/Makefile.am:
+       * tests/cases/Makefile.in:
+       * tests/results/Makefile.am:
+       * tests/results/Makefile.in:
+       * Makefile.am:
+       * configure.in:
+       First try at adding the new tests to "make distcheck"
+
+   87 kenneth  2001-01-31
+      commit problems
+
+   86 kenneth  2001-01-31
+      2001-01-31  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/cases/test.po: Changed, and made clear
+       that people should not touch that file. Fuzzies,
+       etc has to be there for the test.
+
+   85 darin    2001-01-31
+       * xml-i18n-merge.in: Fix regular expressions to be
+       a little better and change XML parsing logic so it
+       doesn't get confused by "*" and other metacharacters
+       in the input file.
+      
+       * Makefile.am: Whitespace tweak.
+       * .cvsignore: Ignore generated xml-i18n-prepare.
+       * tests/cases/.cvsignore: Ignore test results.
+       * tests/cases/test.po: Added file needed for tests.
+       * tests/selftest.pl: Invoke the scripts in a way
+       that does not require installing first.
+
+   84 kenneth  2001-01-31
+      update
+
+   83 kenneth  2001-01-31
+      quick commit for darin
+
+   82 kenneth  2001-01-31
+      quick commit
+
+   81 kenneth  2001-01-31
+      ChangeLog coming a little later
+
+   80 kenneth  2001-01-31
+      update
+
+   79 darin    2001-01-31
+       * xml-i18n-prepare: Remove this file, since it's
+       now generated.
+
+   78 kenneth  2001-01-31
+      forgot
+
+   77 kenneth  2001-01-31
+      2001-01-31  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/selftest.pl: Cleaned up a bit.
+
+   76 kenneth  2001-01-31
+      2001-01-31  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * tests/: Started small test program.
+
+   75 kenneth  2001-01-31
+      2001-01-31  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-extract.in:
+              * xml-i18n-update.in:
+              Made the whole new system work more smart
+              for instance you can not use --type=gettext/ini
+              option to the extract script.
+
+   74 kenneth  2001-01-30
+      2001-01-30  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-extract.in:
+              * xml-i18n-update.in:
+              Fixed some stupid errors
+
+   73 kenneth  2001-01-30
+      2001-01-30  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in:
+              * xml-i18n-extract.in:
+              Added support for a new POTFILES.in syntax
+      
+              Does the file you want processed not have a
+              supported filename, then you can specify the
+              file type in the POTFILES.in file, with a
+              syntax like this:
+      
+              [type: gettext/ini] test.keyprop.in
+      
+              gettext/ini means that it should use the
+              ini-type, which among others include desktop files
+              Other types are gettext/xml, gettext/keys, etc.
+
+   72 kenneth  2001-01-30
+      2001-01-30  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Made more protable, by
+              replacing extern calls to pwd, grep and find.
+              Also cleaned up the script a little.
+
+   71 kenneth  2001-01-29
+      2001-01-29  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-prepare.in: Made it be generated.
+              * Makefile.am: Reflect changes.
+              * configure.in: Reflect changes.
+
+   70 darin    2001-01-26
+       * README: Mention the need to have at least one .po file in the
+       po directory.
+
+   69 darin    2001-01-26
+       * README: Use a GNOME namespace example instead of the Nautilus
+       namespace one to emphasize that Michael wants people to put as
+       much as possible inside the GNOME namespace.
+
+   68 menesis  2001-01-25
+      2001-01-25  Gediminas Paulauskas <menesis@delfi.lt>
+      
+      * xml-i18n-prepare: compare msgids when appending to po file, not
+      msgstrs. Fix line counting.
+      * xml-i18n-update.in: leave please wait..... without newline.
+
+   67 menesis  2001-01-24
+      2001-01-24  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * xml-i18n-*.in: use ${PROGRAM} instead of directly specifying
+       name. Also recognize *.directory files.
+       * xml-i18n-prepare: now generates <desktop>.in files, adds them
+       to POTFILES.in, and <desktop> -- to .cvsignore. Add only if that
+       line does not exist in file. Here <desktop> is .desktop, .directory,
+       .soundlist and .keys.
+
+   66 menesis  2001-01-24
+      2001-01-24  Gediminas Paulauskas <menesis@delfi.lt>
+      
+       * xml-i18n-prepare: initial version of utility which
+       helps convert apps to xml-i18n-tools and save
+       desktop entries into po files.
+
+   65 rslomkow 2001-01-24
+      2001-01-23  Robin * Slomkowski  <rslomkow@rslomkow.org>
+      
+       * xml-i18n-tools.spec.in: moved the doc dir
+       to the executable stanza so people can read
+       the docs.
+
+   64 kenneth  2001-01-21
+      doh, forgot
+
+   63 kenneth  2001-01-21
+      New release
+
+   62 kenneth  2001-01-21
+      Forgot to commit
+
+   61 kenneth  2001-01-21
+      2001-01-20  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-tools.m4: Corrected one missing
+              keys.
+
+   60 kenneth  2001-01-21
+      2001-01-20  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-tools.m4: s/keys/desktop/; some
+              places and replaced some spaces with tabs.
+
+   59 kenneth  2001-01-21
+      fix bug
+
+   58 kenneth  2001-01-21
+      fixed bug
+
+   57 kenneth  2001-01-20
+      2001-01-20  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-merge.in:
+              * xml-i18n-tools.m4:
+              Added merging for *.desktop files.
+
+   56 kenneth  2001-01-20
+      2001-01-20  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-unicodify: Added small utility
+              to convert *.po files to UTF-8.
+
+   55 kenneth  2001-01-20
+      2001-01-20  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-merge.in: Yay, updated the oaf
+              merge mechanism so it supported multiply
+              lines. This also fixed a problem Kmaraas
+              had.
+
+   54 kenneth  2001-01-20
+      2001-01-20  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-merge.in: Implimented the lookup
+              mechanism differently, and speeded up the
+              merge process approx. 200 times. Now it's
+              fast!
+
+   53 kenneth  2001-01-19
+      2001-01-18  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-merge.in: Added fix for ++ in
+              strings.
+
+   52 kenneth  2001-01-19
+      2001-01-18  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-merge:
+              * xml-i18n-tools.m4:
+              * xml-i18n-update:
+              * xml-i18n-extract:
+              Support .keys.in files for translation of
+              MIME data used by gnome-vfs. This is a pretty
+              major change, so please inform me of any bugs.
+
+   51 kenneth  2001-01-18
+      2001-01-17  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-merge: Made script handle fuzzy's
+      
+      2001-01-17  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * configure.in: Made release
+
+   50 darin    2001-01-17
+       * xml-i18n-tools.m4: Rebuild oaf files when the
+       xml-i18n-merge script changes.
+
+   49 kenneth  2001-01-17
+      2001-01-17  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-extract.in: More verbose work.
+
+   48 kenneth  2001-01-17
+      2001-01-17  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-extract.in: Also update help here
+
+   47 kenneth  2001-01-17
+      2001-01-17  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Updated help
+
+   46 kenneth  2001-01-17
+      2001-01-16  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in:
+              * xml-i18n-extract.in:
+              Added -q option to make the script more quiet.
+
+   45 darin    2001-01-17
+      Add missing chomp.
+
+   44 darin    2001-01-17
+       * xml-i18n-extract.in:
+       * xml-i18n-update.in:
+       Support .oaf.in.in as a hack for Bonobo. Maybe we
+       can come up with a better solution when Maciej
+       returns from his vacation.
+
+   43 kenneth  2001-01-17
+      forgot
+
+   42 kenneth  2001-01-17
+      2001-01-16  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: GNU license at top.
+              Changed the optionsystem to resemple the
+              other scripts in the xml-i18n-tools package.
+
+   41 darin    2001-01-16
+       * xml-i18n-update.in: Added back in the line of
+       code to generate the pot that was accidentally
+       removed.
+
+   40 darin    2001-01-16
+       * xml-i18n-merge.in: Fix so it won't parse the
+       comments as translations.
+
+   39 kenneth  2001-01-16
+      better comments
+
+   38 kenneth  2001-01-16
+      2001-01-16  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Removed obsolete code, made
+       status stuff a little better.
+
+   37 kenneth  2001-01-16
+      2001-01-16  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Added new --statuslist option
+              Changed parts of the scripts to make it cleaner. It
+              still need a major cleanup.
+
+   36 darin    2001-01-15
+       * xml-i18n-tools.spec.in: Oops. One too many.
+
+   35 kenneth  2001-01-15
+      2001-01-15  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Some name change.
+
+   34 darin    2001-01-15
+       * xml-i18n-tools.spec.in: Add the installed scripts
+       so the RPM version also installs them. Maciej missed
+       this when doing his fix for 5454.
+
+   33 kenneth  2001-01-15
+      typo
+
+   32 kenneth  2001-01-15
+      2001-01-15  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Rewrote maintain section.
+              It now also handles files based on xml.
+
+   31 darin    2001-01-15
+       * xml-i18n-extract.in: Add "&amp" to the entities
+       that we special-case.
+
+   30 kenneth  2001-01-10
+      Removed depricate file
+
+   29 kenneth  2001-01-10
+      2001-01-09  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: New indent, more like GNU
+              coding style. Upped code a little.
+
+   28 kenneth  2001-01-10
+      2001-01-09  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-extract.in: New indent, more like GNU
+              coding style. Upped code a little.
+
+   27 kenneth  2001-01-10
+      Better indent
+
+   26 darin    2001-01-10
+       * xml-i18n-extract.in: A few more tweaks, including
+       getting rid of the special case for 1-line messages.
+       * xml-i18n-update.in: Get rid of debugging print.
+
+   25 kenneth  2001-01-09
+      2001-01-09  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Typo
+
+   24 darin    2001-01-09
+       * README: Fix formatting. Mention .cvsignore.
+       * xml-i18n-extract.in: Improved the no-c-format change.
+
+   23 kenneth  2001-01-09
+      2001-01-09  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Modified "get package_name" code so
+              that it handles AM_INIT_AUTOMAKE($SOMETHING, $SOMETHING).
+              With this change the script how works fine for evolution
+              aswell.
+
+   22 kenneth  2001-01-09
+      2001-01-09  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-extract.in: Modified a no-c-format patch from
+              Jody Goldberg and applied it.
+
+   21 kenneth  2001-01-09
+      2001-01-09  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * xml-i18n-update.in: Changed die to print, and added exit;
+              instead. Getting a "error occured on line 408" is not very
+              user friendly.
+
+   20 mstachow 2001-01-09
+       Fix bug 5454 (Translators have to run ./autogen.sh in each module
+       they work on).
+      
+       * Makefile.am: Install xml-i18n-update and xml-i18n-extract, so
+       translators can update their po file without doing an autogen.sh,
+       by doing `xml-i18n-update <lang>' with the xml-i18n-tools package
+       installed.
+      
+       * xml-i18n-update.in: Translators have to run ./autogen.sh in each
+       module they work on. Find installed xml-i18n-extract as well as
+       the one in the source tree, for purposes of running on
+       non-autogen'd modules.
+
+   19 mstachow 2001-01-09
+       * xml-i18n-update.in: Fix builddir != srcdir build (I think).
+
+   18 darin    2001-01-08
+      Remove comment at the top of each generated C file.
+      It just clutters the .pot and .po files.
+
+   17 almer    2001-01-08
+      2001-01-08  Almer S. Tigelaar  <almer1@dds.nl>
+      
+              * autogen.sh: Change message to advise to "make install" as there
+              is nothing to "make".
+
+   16 kabalak  2001-01-07
+      Delirium increase
+
+   15 mstachow 2001-01-06
+       * README: Some fixes suggested by Darin.
+       * xml-i18n-tools.Makefile.patch: Applied changes from Kenneth
+       Christiansen to make things like `make fr' to build a single po
+       file work.
+       * xml-i18n-update.in: Detect PACKAGE automatically by finding
+       configure.in and looking there.
+
+   14 jody     2001-01-06
+      
+      2001-01-05  Jody Goldberg <jgoldberg@home.com>
+      
+       * xml-i18n-tools.m4 : s/top_builddir/top_srcdir/
+
+   13 kenneth  2001-01-05
+      2001-01-06  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * update.sh: Applied patch from Christian Rose
+
+   12 kenneth  2001-01-05
+      2001-01-06  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * update.sh: Script for translators not being able to run
+                autogen.sh. Can be placed in po/ dirs. Well tested.
+
+   11 kenneth  2001-01-05
+      use info
+
+   10 kenneth  2001-01-05
+      2001-01-06  Kenneth Christiansen <kenneth@gnu.org>
+      
+              * NEWS: Added initial announcement
+
+    9 mstachow 2001-01-05
+       * xml-i18n-tools.Makefile.patch: Fix up to remove accidentally
+       inserted duplicate definitions of some variables.
+      
+       * xml-i18n-tools.m4: In XML_I18N_MERGE_OAF_RULE, make .oaf file
+       depend on all .po files, as well as on .oaf.in.
+
+    8 rslomkow 2001-01-04
+      added share for things in share
+
+    7 rslomkow 2001-01-04
+      * Makefile.am: added specfile to EXTRA_DISTS
+      * xml-i18n-tools.spec.in: removed COPYING.LIB
+
+    6 rslomkow 2001-01-04
+      added NULL
+
+    5 rslomkow 2001-01-04
+      Added Makefile.patch to EXTRA_DISTS
+
+    4 rslomkow 2001-01-04
+      Added specfile support for this modules
+
+    3 mstachow 2001-01-04
+       * AUTHORS: Added Darin since he did a lot of the design and
+       implementation work.
+      
+       * xml-i18n-tools.Makefile.patch: New version based on
+       Darin's Nautilus-customized version, which avoids the .headerlock mess and
+       simplifies things.
+
+    2 mstachow 2001-01-03
+       Initial checkin of xml-i18n system.
+      
+       * .cvsignore: Files to ignore.
+       * AUTHORS: Add me and Kenny.
+       * COPYING: The GPL
+       * INSTALL: Install instructions
+       * Makefile.am: Makefile.
+       * autogen.sh: the usual.
+       * configure.in: Generate generated files.
+      
+       * xml-i18n-toolize.in: Used to generate xml-i18n-toolize, a
+       program like libtoolize that makes your module use xml-i18n-tools.
+      
+       * xml-i18n-extract.in: Used to generate xml-i18n-extract; based on
+       Kenneth Christiansen's ui-extract.pl. This script knows how to
+       extract translations from -ui.xml, nautilus theme, .glad and
+       .oaf.in files.
+      
+       * xml-i18n-update.in: Used to generate
+       xml-i18n-update. This translation update script is based on based on
+       Kenneth Christiansen's update.pl
+      
+       * xml-i18n-merge.in: Used to generate xml-i18n-merge, an XML
+       translation merge script (only works for .oaf files so far).
+      
+       * xml-i18n-tools.Makefile.patch: Patch for po/Makefile.in.in,
+       automatically applied after xml-18n-toolize
+      
+       * xml-i18n-tools.m4: M4 macro file that defines AM_PROG_XML_I18N_TOOLS
+
+    1  2001-01-03
+      New repository initialized by cvs2svn.
+
+Use --include-merged or -n0 to see merged revisions.
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..f1c3d58
--- /dev/null
@@ -0,0 +1,51 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = tests doc
+
+# Scripts which are bundled with all intltoolized packages:
+distributed_scripts =                          \
+       intltool-extract                        \
+       intltool-merge                          \
+       intltool-update
+
+# The intltool scripts
+bin_SCRIPTS =                                  \
+       $(distributed_scripts)                  \
+       intltoolize                             \
+       intltool-prepare
+
+# These are required by intltoolize
+dist_pkgdata_DATA =    Makefile.in.in
+
+# This macro file should be visible to Automake's aclocal.
+dist_aclocal_DATA = intltool.m4
+
+CLEANFILES =                                   \
+       $(bin_SCRIPTS)                          \
+       $(EXTRA_SCRIPTS)
+
+EXTRA_DIST =                                   \
+       $(distributed_scripts:=.in)             \
+       intltool-prepare.in                     \
+       NEWS                                    \
+       ChangeLog
+
+edit = sed -e 's|[@]PACKAGE@|$(PACKAGE)|g' \
+          -e 's|[@]VERSION@|$(VERSION)|g' \
+          -e "s|[@]INTLTOOL_PERL@|$(PERL)|g" \
+          -e "s|[@]INTLTOOL_LIBDIR@|$(libdir)|g"
+
+%: %.in Makefile
+       $(edit) < $< > $@
+       chmod +x $@
+
+ChangeLog:
+       @if test -z "$(BZR)"; then \
+           echo "bzr is required for generating the ChangeLog."; \
+           exit 1; \
+       elif test ! -d "$(srcdir)/.bzr"; then \
+           echo "ChangeLog can only be generated in a check-out."; \
+           exit 1; \
+       else \
+           $(BZR) log > $@; \
+       fi
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..b6b3c37
--- /dev/null
@@ -0,0 +1,807 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
+
+
+VPATH = @srcdir@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = :
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(dist_aclocal_DATA) \
+       $(dist_pkgdata_DATA) $(srcdir)/Makefile.am \
+       $(srcdir)/Makefile.in $(srcdir)/intltoolize.in \
+       $(top_srcdir)/configure AUTHORS COPYING ChangeLog NEWS TODO \
+       install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(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 config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = intltoolize
+CONFIG_CLEAN_VPATH_FILES =
+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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(aclocaldir)" \
+       "$(DESTDIR)$(pkgdatadir)"
+SCRIPTS = $(bin_SCRIPTS)
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-dvi-recursive install-exec-recursive \
+       install-html-recursive install-info-recursive \
+       install-pdf-recursive install-ps-recursive install-recursive \
+       installcheck-recursive installdirs-recursive pdf-recursive \
+       ps-recursive uninstall-recursive
+DATA = $(dist_aclocal_DATA) $(dist_pkgdata_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+       distdir dist dist-all distcheck
+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)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+pkgdatadir = @pkgdatadir@
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BZR = @BZR@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aclocaldir = @aclocaldir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+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@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = tests doc
+
+# Scripts which are bundled with all intltoolized packages:
+distributed_scripts = \
+       intltool-extract                        \
+       intltool-merge                          \
+       intltool-update
+
+
+# The intltool scripts
+bin_SCRIPTS = \
+       $(distributed_scripts)                  \
+       intltoolize                             \
+       intltool-prepare
+
+
+# These are required by intltoolize
+dist_pkgdata_DATA = Makefile.in.in
+
+# This macro file should be visible to Automake's aclocal.
+dist_aclocal_DATA = intltool.m4
+CLEANFILES = \
+       $(bin_SCRIPTS)                          \
+       $(EXTRA_SCRIPTS)
+
+EXTRA_DIST = \
+       $(distributed_scripts:=.in)             \
+       intltool-prepare.in                     \
+       NEWS                                    \
+       ChangeLog
+
+edit = sed -e 's|[@]PACKAGE@|$(PACKAGE)|g' \
+          -e 's|[@]VERSION@|$(VERSION)|g' \
+          -e "s|[@]INTLTOOL_PERL@|$(PERL)|g" \
+          -e "s|[@]INTLTOOL_LIBDIR@|$(libdir)|g"
+
+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) --foreign'; \
+             $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+               && exit 0; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign 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)
+       $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+intltoolize: $(top_builddir)/config.status $(srcdir)/intltoolize.in
+       cd $(top_builddir) && $(SHELL) ./config.status $@
+install-binSCRIPTS: $(bin_SCRIPTS)
+       @$(NORMAL_INSTALL)
+       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+       @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+       done | \
+       sed -e 'p;s,.*/,,;n' \
+           -e 'h;s|.*|.|' \
+           -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+       $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+         { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+           if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+             if (++n[d] == $(am__install_max)) { \
+               print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+           else { print "f", d "/" $$4, $$1 } } \
+         END { for (d in files) print "f", d, files[d] }' | \
+       while read type dir files; do \
+            if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+            test -z "$$files" || { \
+              echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+              $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+            } \
+       ; done
+
+uninstall-binSCRIPTS:
+       @$(NORMAL_UNINSTALL)
+       @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+       files=`for p in $$list; do echo "$$p"; done | \
+              sed -e 's,.*/,,;$(transform)'`; \
+       test -n "$$list" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(bindir)" && rm -f $$files
+install-dist_aclocalDATA: $(dist_aclocal_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(aclocaldir)" || $(MKDIR_P) "$(DESTDIR)$(aclocaldir)"
+       @list='$(dist_aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(aclocaldir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(aclocaldir)" || exit $$?; \
+       done
+
+uninstall-dist_aclocalDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(dist_aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(aclocaldir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(aclocaldir)" && rm -f $$files
+install-dist_pkgdataDATA: $(dist_pkgdata_DATA)
+       @$(NORMAL_INSTALL)
+       test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+       @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
+       done
+
+uninstall-dist_pkgdataDATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       test -n "$$files" || exit 0; \
+       echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \
+       cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files
+
+# 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):
+       @fail= 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; \
+         ($(am__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"
+
+$(RECURSIVE_CLEAN_TARGETS):
+       @fail= 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; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__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; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       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 || \
+             set "$$@" "$$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; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+       $(am__remove_distdir)
+       test -d "$(distdir)" || mkdir "$(distdir)"
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$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; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+       -test -n "$(am__skip_mode_fix)" \
+       || find "$(distdir)" -type d ! -perm -755 \
+               -exec chmod u+rwx,go+rx {} \; -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 $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r "$(distdir)"
+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-lzma: distdir
+       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+       $(am__remove_distdir)
+
+dist-xz: distdir
+       tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+       $(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
+       $(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) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+       *.tar.bz2*) \
+         bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+       *.tar.lzma*) \
+         lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+       *.tar.xz*) \
+         xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+       *.tar.Z*) \
+         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+       *.shar.gz*) \
+         GZIP=$(GZIP_ENV) gzip -dc $(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)
+       test -d $(distdir)/_build || exit 0; \
+       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+         && am__cwd=`pwd` \
+         && $(am__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 \
+         && cd "$$am__cwd" \
+         || exit 1
+       $(am__remove_distdir)
+       @(echo "$(distdir) archives ready for distribution: "; \
+         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+       @$(am__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) $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(pkgdatadir)"; 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)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_aclocalDATA install-dist_pkgdataDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-binSCRIPTS
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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-dist_aclocalDATA \
+       uninstall-dist_pkgdataDATA
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
+       install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am am--refresh check check-am clean clean-generic \
+       ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+       dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
+       distclean distclean-generic 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-dist_aclocalDATA \
+       install-dist_pkgdataDATA install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs installdirs-am \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
+       uninstall uninstall-am uninstall-binSCRIPTS \
+       uninstall-dist_aclocalDATA uninstall-dist_pkgdataDATA
+
+
+%: %.in Makefile
+       $(edit) < $< > $@
+       chmod +x $@
+
+ChangeLog:
+       @if test -z "$(BZR)"; then \
+           echo "bzr is required for generating the ChangeLog."; \
+           exit 1; \
+       elif test ! -d "$(srcdir)/.bzr"; then \
+           echo "ChangeLog can only be generated in a check-out."; \
+           exit 1; \
+       else \
+           $(BZR) log > $@; \
+       fi
+
+# 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:
diff --git a/Makefile.in.in b/Makefile.in.in
new file mode 100644 (file)
index 0000000..06a8cfe
--- /dev/null
@@ -0,0 +1,222 @@
+# Makefile for program source directory in GNU NLS utilities package.
+# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
+#
+# This file may be copied and used freely without restrictions.  It may
+# be used in projects which are not available under a GNU Public License,
+# but which still want to provide support for the GNU gettext functionality.
+#
+# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
+#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
+#
+# - Modified by jacob berkman <jacob@ximian.com> to install
+#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
+#
+# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
+#
+# We have the following line for use by intltoolize:
+# INTLTOOL_MAKEFILE
+
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datadir = @datadir@
+datarootdir = @datarootdir@
+libdir = @libdir@
+DATADIRNAME = @DATADIRNAME@
+itlocaledir = $(prefix)/$(DATADIRNAME)/locale
+subdir = po
+install_sh = @install_sh@
+# Automake >= 1.8 provides @mkdir_p@.
+# Until it can be supposed, use the safe fallback:
+mkdir_p = $(install_sh) -d
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+GMSGFMT = @GMSGFMT@
+MSGFMT = @MSGFMT@
+XGETTEXT = @XGETTEXT@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
+GENPOT   = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
+
+ALL_LINGUAS = @ALL_LINGUAS@
+
+PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
+
+USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi)
+
+USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
+
+POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
+
+DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
+EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS
+
+POTFILES = \
+# This comment gets stripped out
+
+CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
+
+.SUFFIXES:
+.SUFFIXES: .po .pox .gmo .mo .msg .cat
+
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V))
+INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY))
+INTLTOOL__v_MSGFMT_0 = @echo "  MSGFMT" $@;
+
+.po.pox:
+       $(MAKE) $(GETTEXT_PACKAGE).pot
+       $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
+
+.po.mo:
+       $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $<
+
+.po.gmo:
+       $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \
+         && rm -f $$file && $(GMSGFMT) -o $$file $<
+
+.po.cat:
+       sed -f ../intl/po2msg.sed < $< > $*.msg \
+         && rm -f $@ && gencat $@ $*.msg
+
+
+all: all-@USE_NLS@
+
+all-yes: $(CATALOGS)
+all-no:
+
+$(GETTEXT_PACKAGE).pot: $(POTFILES)
+       $(GENPOT)
+
+install: install-data
+install-data: install-data-@USE_NLS@
+install-data-no: all
+install-data-yes: all
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $$dir; \
+         if test -r $$lang.gmo; then \
+           $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+           echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
+         else \
+           $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+           echo "installing $(srcdir)/$$lang.gmo as" \
+                "$$dir/$(GETTEXT_PACKAGE).mo"; \
+         fi; \
+         if test -r $$lang.gmo.m; then \
+           $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
+           echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
+         else \
+           if test -r $(srcdir)/$$lang.gmo.m ; then \
+             $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
+               $$dir/$(GETTEXT_PACKAGE).mo.m; \
+             echo "installing $(srcdir)/$$lang.gmo.m as" \
+                  "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
+           else \
+             true; \
+           fi; \
+         fi; \
+       done
+
+# Empty stubs to satisfy archaic automake needs
+dvi info ctags tags CTAGS TAGS ID:
+
+# Define this as empty until I found a useful application.
+install-exec installcheck:
+
+uninstall:
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+         rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
+       done
+
+check: all $(GETTEXT_PACKAGE).pot
+       rm -f missing notexist
+       srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
+       if [ -r missing -o -r notexist ]; then \
+         exit 1; \
+       fi
+
+mostlyclean:
+       rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
+       rm -f .intltool-merge-cache
+
+clean: mostlyclean
+
+distclean: clean
+       rm -f Makefile Makefile.in POTFILES stamp-it
+       rm -f *.mo *.msg *.cat *.cat.m *.gmo
+
+maintainer-clean: distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f Makefile.in.in
+
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir: $(DISTFILES)
+       dists="$(DISTFILES)"; \
+       extra_dists="$(EXTRA_DISTFILES)"; \
+       for file in $$extra_dists; do \
+         test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
+       done; \
+       for file in $$dists; do \
+         test -f $$file || file="$(srcdir)/$$file"; \
+         ln $$file $(distdir) 2> /dev/null \
+           || cp -p $$file $(distdir); \
+       done
+
+update-po: Makefile
+       $(MAKE) $(GETTEXT_PACKAGE).pot
+       tmpdir=`pwd`; \
+       linguas="$(USE_LINGUAS)"; \
+       for lang in $$linguas; do \
+         echo "$$lang:"; \
+         result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
+         if $$result; then \
+           if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+             rm -f $$tmpdir/$$lang.new.po; \
+            else \
+             if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+               :; \
+             else \
+               echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+               rm -f $$tmpdir/$$lang.new.po; \
+               exit 1; \
+             fi; \
+           fi; \
+         else \
+           echo "msgmerge for $$lang.gmo failed!"; \
+           rm -f $$tmpdir/$$lang.new.po; \
+         fi; \
+       done
+
+Makefile POTFILES: stamp-it
+       @if test ! -f $@; then \
+         rm -f stamp-it; \
+         $(MAKE) stamp-it; \
+       fi
+
+stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+       cd $(top_builddir) \
+         && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
+              $(SHELL) ./config.status
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..5f88d51
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,58 @@
+intltool 0.50.2
+===============
+
+intltool 0.50.2 is another minor release improving backwards compatibility.
+Only one bug is fixed in this release:
+
+ * Use --no-translations only if intltool >= 0.50 is available (#903340).
+   Patch contributed by Hib Eris (https://launchpad.net/~hiberis).
+
+intltool 0.50.1
+===============
+
+intltool 0.50.1 is a minor release with the following improvements:
+
+ * Support AM_SILENT_RULES (#402516).
+   Patch contributed by Hib Eris (https://launchpad.net/~hiberis).
+
+ * Improve support for extracting messages from GSettings files (#922685).
+   Patch contributed by Ryan Lortie (https://launchpad.net/~desrt).
+
+ * Support attribute tag extraction for Glade/GtkBuilder files (#923841).
+   Patch contributed by Ryan Lortie (https://launchpad.net/~desrt).
+
+ * Start including a ChangeLog in tarballs and provide a NEWS file (#924386).
+   This introduces a soft dependency on "bzr": it's only required for
+   maintainers who wish to regenerate a ChangeLog file from the bzr checkout.
+
+ * Fix quoting of XGETTEXT variable when setting MSGMERGE and GENPOT
+   in Makefile (#900738).
+   Patch contributed by Matthias Klose (https://launchpad.net/~doko).
+
+
+intltool 0.50.0
+===============
+
+intltool 0.50.0 is a major bug fix release.
+
+Among the fixes, the following stand out:
+
+ * Bug #580526
+   Finally, support for gsettings gschema.xml files is merged in, which
+   should enable maintainers to get a slightly simpler build setup
+   (i.e. no need to use NOMERGE rule anymore, and you can have intltool
+   directly extract translations from .gschema.xml files).
+
+ * Bug #790574:
+   Let xgettext extract Scheme strings out, and add support for
+   `intltool-update -m` to find files with marked strings.
+
+ * Bug #806006:
+   Improve handling of quotes in `intltool-update -m` so you get less
+   (no?) warnings about mismatched quotes, and Python processing doesn't
+   get messed up with docstrings and similar.
+
+ * Bug #520986:
+   One for the translators—messages are extracted in the order they appear
+   in original files now, thus allowing translators to infer more of the
+   context from the ordering.
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b617712
--- /dev/null
+++ b/README
@@ -0,0 +1,267 @@
+intltool README
+===============
+
+If you have problems understanding this README file, then please report 
+these at http://bugs.launchpad.net/intltool on Launchpad. Patches are
+also very welcome. See HACKING for more information on submitting patches.
+
+The intltool collection can be used to do these things:
+
+ o Extract translatable strings from various source files (.xml.in,
+   .glade, .desktop.in, .server.in, .oaf.in).
+
+ o Collect the extracted strings together with messages from traditional
+   source files (.c, .h) in po/$(PACKAGE).pot.
+
+ o Merge back the translations from .po files into .xml, .desktop and
+   .oaf files.  This merge step will happen at build resp. installation
+   time.
+
+The intltool package has a script, intltoolize, which copies the various
+scripts and does the other magic to your module. So users building
+from tarballs don't need intltool, only folks building from cvs.
+(This is modelled on gettextize.)
+
+
+How to Use with autoconf/automake
+---------------------------------
+(There is a section for non-auto* configurations below)
+
+To use intltool in your module, do the following:
+
+ o Install intltool, and make sure that the macro it installs is
+   in aclocal's path, or do:
+
+       export ACLOCAL_FLAGS='-I /usr/local/share/aclocal' 
+
+ o Add these lines to autogen.sh, after the call to gettextize:
+
+       echo "Running intltoolize"
+       intltoolize --copy --force --automake
+
+ o Add this line to configure.in near the top
+
+       IT_PROG_INTLTOOL([minimum required version], [no-xml])
+
+ o Add intltool-extract, intltool-merge, and intltool-update to
+   DISTCLEANFILES in your top-level Makefile.am.
+
+ o Remove po/desk.pl and po/update.* scripts.  intltool-update will take
+   over their functionality.
+
+At this point, translatable strings will be automatically extracted to
+the .po files, if you make use of the following recommendations.
+
+The intltool-prepare script will help you to prepare the package. It will
+try to extract translations from existing .desktop files which will
+become obsolete after intltoolization has taken place.
+
+Examples of packages that use intltool are many of the GNOME components:
+find them at http://git.gnome.org/.
+
+Details of the IT_PROG_INTLTOOL macro
+-------------------------------------------
+
+The first parameter indicates the minimum required version. The
+configure script will halt if the version is older than the first
+parameter.
+
+The second parameter is to tell intltool that we don't need the
+extended xml parsing abilities provided by the XML::Parser perl
+module. If it is not provided, or is any value other than "no-xml",
+then XML::Parser will be checked for by the configure script. This
+feature is only available in intltool 0.31 or newer.
+
+Extra Steps for DESKTOP Files
+..............................
+
+This step also applies for similar files (.directory, .soundlist).
+
+ o Try to run intltool-prepare.
+
+ o Make sure intltool-prepare did find existing translations in the old
+   .desktop files and did correctly merge them into the various po/*.po
+   files.  Don't forget to commit the changed .po files; otherwise
+   exiting translations will get lost!
+
+ o Remove old .desktop files and add new .desktop.in files.
+
+ o Adjust .cvsignore, .gitignore, .bzrignore or similar.
+
+ o Adjust Makefile.am, e.g.:
+
+       --- start ----
+
+        utilsdir = $(datadir)/gnome/apps/Utilities
+        utils_in_files = bug-buddy.desktop.in
+        utils_DATA = $(utils_in_files:.desktop.in=.desktop)
+        @INTLTOOL_DESKTOP_RULE@
+
+       --- end ----
+
+ o Add .desktop.in files to po/POTFILES.in
+
+Here's a .desktop.in example:
+
+       --- start ----
+
+        [Desktop Entry]
+        _Name=Bug Report Tool
+        _Comment=Report a bug in GNOME
+        Exec=bug-buddy
+        Icon=bug-buddy
+        Terminal=false
+        Type=Application
+
+       --- end ----
+
+
+Extra Steps for GLADE Files
+...........................
+
+ o Add the .glade files you want translated to POTFILES.in
+
+ o Remove the intermediate *-glade.h or strings-glade.c files and drop
+   them from POTFILES.in
+
+
+Extra Steps for SERVER Files (formerly .server)
+.............................
+
+To get server translation extraction and merging requires a few more steps:
+
+ o Rename your .server files to .server.in and put an
+   underscore before every value property for string attributes that should
+   be localized.
+
+ o Add the new .server.in or .server.in files to POTFILES.in.
+
+ o Put lines like these in every Makefile.am that installs oaf files:
+       --- start ----
+       serverdir = $(libdir)/bonobo/servers
+       server_in_files = My_Server_file.server.in
+       server_DATA = $(server_in_files:.server.in=.server)
+       @INTLTOOL_SERVER_RULE@
+       EXTRA_DIST=$(server_in_files) $(server_DATA)
+       --- end ----
+
+At this point, your server translations will be extracted and merged.
+
+Extra Steps for XML Files (Files with .xml Extension)
+.....................................................
+
+To get xml (files with .xml extension) translation extraction 
+and merging requires these steps:
+
+ o Rename your .xml files to .xml.in and put an underscore before 
+   every element that should be localized.
+
+ o Add the .xml.in files to POTFILES.in.
+
+ o Put lines like these in every Makefile.am that installs xml files:
+
+        --- start ----
+
+        xmldir = $(datadir)/xml
+
+        xml_in_files = My_xml_file.xml.in
+        xml_DATA = $(xml_in_files:.xml.in=.xml)
+
+        @INTLTOOL_XML_RULE@
+
+        EXTRA_DIST=$(xml_in_files) $(xml_DATA)
+
+        --- end ----
+
+At this point, your xml translations will be extracted and
+merged. All .po files will be converted on the fly to UTF-8, and the
+resulting XML file will have a UTF-8 effective encoding (you should
+make sure that the encoding="..." declaration in the .xml.in file is
+either absent or actually specifies UTF-8).
+
+Previous versions of intltool generated XML files whose contents
+were made of the contents of the .po files, without paying attention
+to the encodings used. A single "XML" file could thus have strings in
+different encodings. This broken behavior can be requested only by
+using the old xml-i18n-tools API instead of the intltool one. See old
+versions of xml-i18n-tools for documentation on how the old API worked.
+
+---
+
+XXX: add section for KEYS files. Works almost like XML files .
+
+How to use without autoconf/automake
+------------------------------------
+
+intltool can also be used without the auto* tools. For instance in order 
+to translate a somename.desktop.in file, you can do the following.
+
+ o Create a po/ dir.
+ o Add a po/POTFILES.in file, including the path to the 
+   somename.desktop.in  file
+
+Then to create the somename.desktop file all you do is:
+
+$ intltool-merge po/ -d -u -c po/.intltool-merge-cache somename.desktop.in
+somename.desktop
+
+You can also type intltool-merge --help for a bit more info.
+
+To specify parameters for intltool-update (such as keywords or gettext
+domain), you can use Makevars syntax as used in recent GNU gettext, by
+putting something like the following in po/Makevars file:
+
+  DOMAIN = mydomain
+  XGETTEXT_OPTIONS = --keyword --keyword=blah
+
+This will make "intltool-update -p" produce mydomain.pot, passing
+parameters "--keyword --keyword=blah" to xgettext when extracting
+strings.
+
+Passing special parameters to xgettext via environment
+......................................................
+
+If you need to add parameters passed to xgettext on a case-by-case
+basis, you can do so using environment variable XGETTEXT_ARGS.
+
+If you would run it as follows:
+
+       XGETTEXT_ARGS=--no-location intltool-update -p
+
+You would create a PO Template file without lines which indicate
+location of messages in the source code.
+
+
+Changing keywords used in xgettext invocation
+.............................................
+
+If you need to change default keywords used to extract messages from 
+source code, you need to add variable XGETTEXT_KEYWORDS to 
+Makefile.in.in file inside directory where intltool-update is run
+from, eg.
+
+        --- start ----
+
+        XGETTEXT_KEYWORDS = --keyword --keyword=P_
+
+        --- end ----
+
+Default keywords xgettext looks for if no XGETTEXT_KEYWORDS is defined
+are _, N_ and U_. 
+
+
+Translators' comments in XML and .schemas files
+...............................................
+
+To provide comments to translators in free-form XML or .schema files, 
+you need to precede the string to be translated with the plain XML 
+comment.
+
+In .schemas files, comments need to be inside <default>, <short> or 
+<long> elements (i.e. they cannot be before the opening tag).
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..ef5001d
--- /dev/null
+++ b/TODO
@@ -0,0 +1,14 @@
+Things to do before we call this 1.0:
+
+- Add support for gettext 0.11.
+- Write real documentation explaining, among other things,
+  why we don't do real XML parsing.
+- Fix --help and man pages for all the tools. They are quite
+  inaccurate and they make Sven Neumann disrespect the entire
+  package.
+
+Other things to do:
+
+- Support type lines inside POTFILES.in?
+- Do real XML parsing.
+- Add a tool to help convert all .po files to UTF-8?
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644 (file)
index 0000000..3052e91
--- /dev/null
@@ -0,0 +1,601 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009  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_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  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.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# 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`
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 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 16
+
+# 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.62])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
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+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
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])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)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+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
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                 [_AM_DEPENDENCIES(OBJC)],
+                 [define([AC_PROG_OBJC],
+                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# 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_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008  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
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST(install_sh)])
+
+# 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])])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# 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 6
+
+# 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
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# 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
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  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 for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  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_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],
+[m4_foreach_w([_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])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# 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_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# 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)])
+
+# 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="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008  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_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# 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
+
diff --git a/configure b/configure
new file mode 100755 (executable)
index 0000000..95ef086
--- /dev/null
+++ b/configure
@@ -0,0 +1,3486 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.68 for intltool 0.50.2.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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 more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+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
+IFS=$as_save_IFS
+
+     ;;
+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
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+        /*)
+          for as_base in sh bash ksh sh5; do
+            # Try only shells that exist, to save several forks.
+            as_shell=$as_dir/$as_base
+            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+          done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+       # neutralization value for shells without unset; and this also
+       # works around shells that cannot unset nonexistent variables.
+       # Preserve -v and -x to the replacement shell.
+       BASH_ENV=/dev/null
+       ENV=/dev/null
+       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+       export CONFIG_SHELL
+       case $- in # ((((
+         *v*x* | *x*v* ) as_opts=-vx ;;
+         *v* ) as_opts=-v ;;
+         *x* ) as_opts=-x ;;
+         * ) as_opts= ;;
+       esac
+       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; 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
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# 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
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # 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" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_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 sensitive 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 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# 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'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/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_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='intltool'
+PACKAGE_TARNAME='intltool'
+PACKAGE_VERSION='0.50.2'
+PACKAGE_STRING='intltool 0.50.2'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_unique_file="intltoolize.in"
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+BZR
+PERL
+aclocaldir
+pkgdatadir
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# 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= ;;
+  *)    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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=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_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$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_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=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 ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_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'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+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
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+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
+    $as_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
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# 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=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_myself" : 'X\(//\)[^/]' \| \
+        X"$as_myself" : 'X\(//\)$' \| \
+        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    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 .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+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 intltool 0.50.2 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/intltool]
+  --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
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of intltool 0.50.2:";;
+   esac
+  cat <<\_ACEOF
+
+Report bugs to the package provider.
+_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" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && 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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_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
+  .)  # 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.
+    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
+    else
+      $as_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
+intltool configure 0.50.2
+generated by GNU Autoconf 2.68
+
+Copyright (C) 2010 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
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by intltool $as_me 0.50.2, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+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=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&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_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=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append 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
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset 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: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       $as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_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'; as_fn_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
+
+$as_echo "/* confdefs.h */" > 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
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+  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.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_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,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_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
+       # differences in whitespace do not lead to failure.
+       ac_old_val_w=`echo x $ac_old_val`
+       ac_new_val_w=`echo x $ac_new_val`
+       if test "$ac_old_val_w" != "$ac_new_val_w"; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         ac_cache_corrupted=:
+       else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         eval $ac_var=\$ac_old_val
+       fi
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_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.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+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
+
+
+
+
+am__api_version='1.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; 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
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# 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.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+  $as_echo_n "(cached) " >&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_test_x "$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
+           rm -rf conftest.one conftest.two conftest.dir
+           echo one > conftest.one
+           echo two > conftest.two
+           mkdir conftest.dir
+           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+             test -s conftest.one && test -s conftest.two &&
+             test -s conftest.dir/conftest.one &&
+             test -s conftest.dir/conftest.two
+           then
+             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             break 3
+           fi
+         fi
+       fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$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'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# 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".
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "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 $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# 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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&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_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+  $as_echo_n "(cached) " >&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_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if ${ac_cv_path_mkdir+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+        for ac_exec_ext in '' $ac_executable_extensions; do
+          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+            'mkdir (GNU coreutils) '* | \
+            'mkdir (coreutils) '* | \
+            'mkdir (fileutils) '4.1*)
+              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+              break 3;;
+          esac
+        done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P 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.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+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
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+  $as_echo_n "(cached) " >&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_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "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
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+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='intltool'
+ VERSION='0.50.2'
+
+
+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"}
+
+# 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 -'
+
+
+
+
+
+
+pkgdatadir='${datadir}'"/${PACKAGE}"
+ aclocaldir='${datadir}'/aclocal
+
+
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PERL+:} false; then :
+  $as_echo_n "(cached) " >&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_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PERL=$ac_cv_path_PERL
+if test -n "$PERL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+$as_echo "$PERL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$PERL"; then
+   as_fn_error $? "perl not found" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5
+$as_echo_n "checking for perl >= 5.8.1... " >&6; }
+$PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+   as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5
+else
+   PERL_VERSION="`$PERL -e \"printf '%vd', $^V\"`"
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL_VERSION" >&5
+$as_echo "$PERL_VERSION" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5
+$as_echo_n "checking for XML::Parser... " >&6; }
+if `$PERL -e "require XML::Parser" 2>/dev/null`; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+else
+   as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5
+fi
+# Extract the first word of "bzr", so it can be a program name with args.
+set dummy bzr; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BZR+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $BZR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_BZR="$BZR" # 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_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_BZR="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+BZR=$ac_cv_path_BZR
+if test -n "$BZR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BZR" >&5
+$as_echo "$BZR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+ac_config_files="$ac_config_files Makefile doc/Makefile intltoolize tests/Makefile tests/cases/Makefile tests/results/Makefile tests/selftest.pl"
+
+
+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, we kill variables containing newlines.
+# 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.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}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 "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    if test "x$cache_file" != "x/dev/null"; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+       cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+         mv -f confcache "$cache_file"$$ &&
+         mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+         mv -f confcache "$cache_file" ;;
+       esac
+      fi
+    fi
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  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}'
+
+# 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 branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[    ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[    ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[     `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+       g
+       s/^\n//
+       s/\n/ /g
+       p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+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=`$as_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.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $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}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
+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
+IFS=$as_save_IFS
+
+     ;;
+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
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; 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
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# 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
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# 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'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by intltool $as_me 0.50.2, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   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 the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+intltool config.status 0.50.2
+configured by $0, generated by GNU Autoconf 2.68,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 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'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+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=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    $as_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.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  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 || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "intltoolize") CONFIG_FILES="$CONFIG_FILES intltoolize" ;;
+    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+    "tests/cases/Makefile") CONFIG_FILES="$CONFIG_FILES tests/cases/Makefile" ;;
+    "tests/results/Makefile") CONFIG_FILES="$CONFIG_FILES tests/results/Makefile" ;;
+    "tests/selftest.pl") CONFIG_FILES="$CONFIG_FILES tests/selftest.pl" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  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.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp= ac_tmp=
+  trap 'exit_status=$?
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries 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[        ]*=[    ]*/{
+h
+s///
+s/^/:/
+s/[     ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[  ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X "  :F $CONFIG_FILES      "
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$ac_tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # 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.  */
+    configure_input='Generated from '`
+         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+       `' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_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
+  .)  # 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 $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;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
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$ac_tmp/stdin"
+  case $ac_file in
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+
+  esac
+
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# 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 || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..5338a76
--- /dev/null
@@ -0,0 +1,45 @@
+dnl Process this file with autoconf to create configure.
+AC_PREREQ([2.53])
+
+AC_INIT([intltool], [0.50.2])
+AC_CONFIG_SRCDIR([intltoolize.in])
+
+AM_INIT_AUTOMAKE([foreign])
+
+pkgdatadir='${datadir}'"/${PACKAGE}"
+AC_SUBST(pkgdatadir) dnl automake does not need this, but libtoolize does
+aclocaldir='${datadir}'/aclocal
+AC_SUBST(aclocaldir)
+
+AC_PATH_PROG(PERL, perl)
+if test -z "$PERL"; then
+   AC_MSG_ERROR([perl not found])
+fi
+AC_MSG_CHECKING([for perl >= 5.8.1])
+$PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+   AC_MSG_ERROR([perl 5.8.1 is required for intltool])
+else
+   PERL_VERSION="`$PERL -e \"printf '%vd', $^V\"`"
+   AC_MSG_RESULT([$PERL_VERSION])
+fi
+AC_MSG_CHECKING([for XML::Parser])
+if `$PERL -e "require XML::Parser" 2>/dev/null`; then
+   AC_MSG_RESULT([ok])
+else
+   AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+fi
+AC_PATH_PROG(BZR, bzr)
+
+
+AC_CONFIG_FILES([
+Makefile
+doc/Makefile
+intltoolize
+tests/Makefile
+tests/cases/Makefile
+tests/results/Makefile
+tests/selftest.pl
+])
+
+AC_OUTPUT
diff --git a/doc/I18N-HOWTO b/doc/I18N-HOWTO
new file mode 100644 (file)
index 0000000..36c14d0
--- /dev/null
@@ -0,0 +1,249 @@
+Autoconf/I18n-ify HelloWorld HOW-TO
+-----------------------------------
+
+Authors:
+       Kenneth Christiansen <kenneth at gnu dot org>
+       Thomas Vander Stichele <thomas at apestaart dot org>
+       
+Help from: Bruno Haible <bruno at clisp dot org>
+
+Disclaimer:
+       Kenneth last used autoconf 2.52 and automake 1.4p5 to test this guide.
+       Thomas last used autoconf 2.52 and automake 1.5 to test this guide.
+       We would like you to let us know if you have different versions of
+       these tools and things don't work out the same way.
+       No authors of any autotools were harmed during the making of this guide.
+
+In this article we are going to explain how to turn a simple
+Hello World application with a standard Makefile into an autotools-
+and I18N-enabled tree up to the point where it can be distributed.
+
+Our existing helloworld.c file looks like the following:
+
+#include <stdio.h>
+
+int main (void) {
+  printf ("Hello, world!\n");
+} 
+
+1. First we create a source tree :
+    
+   /                        - This is the top level directory
+   /src/                    - Here the source will end up.
+
+   and place the helloworld.c file in the src/ dir
+
+2. If your program has not been autoconf-enabled yet, you can
+   create configure.scan (which is a good starting point for configure.ac)
+   and rename it to configure.ac
+
+        autoscan   # creates configure.scan
+        mv configure.scan configure.ac
+
+   Now edit configure.ac and make some changes.
+   You can remove everything after AC_INIT, we'll be using AM_INIT_AUTOMAKE
+   to pass on variables.
+
+   Add the lines
+     PACKAGE=helloworld
+     VERSION=0.0.1
+     AM_INIT_AUTOMAKE($PACKAGE, $VERSION) 
+   to configure.in, just after AC_INIT
+
+   Change AC_CONFIG_HEADER to AM_CONFIG_HEADER as well.
+
+   If you have an empty AC_CONFIG_FILES macro, then comment that, or automake
+   will fail in the next step.
+
+   Finally, add Makefile to the AC_OUTPUT macro by changing that
+   line to read
+     AC_OUTPUT(Makefile)
+
+   NOTE: configure.ac used to be called configure.in
+
+3. We add some files that automake does not make but are necessary
+   to adhere to GNU standards.
+
+   touch NEWS README AUTHORS ChangeLog
+
+   These two files need to be created to satisfy automake
+
+   touch config.h.in Makefile.am
+
+   We will create Makefile.am later on.
+
+4. To add some basic files (like COPYING, INSTALL, etc..) 
+   we run automake in the toplevel directory.
+
+   automake --add-missing --gnu
+
+5. After that we do the big i18n trick :-), also in the toplevel
+   directory.
+
+   intltoolize                         # bring in the perl helper scripts
+                               # and our Makefile.in.in for the po directory
+
+6. Run autoheader which will create config.h.in
+
+       autoheader # create config.h.in
+
+7. Now, open up configure.in and make some modifications.
+
+    The gettext macros need to be added after the initial checks.  
+    Putting them after the checks for library functions is a good idea.
+
+    IT_PROG_INTLTOOL(0.26)
+
+    AM_GNU_GETTEXT([external])         # Only one of these two macro calls
+    AM_GLIB_GNU_GETTEXT                        # is needed to set up your project
+
+    ALL_LINGUAS="da nl"                 # Internationalization, means there is 
+                                       # a .po file for danish and dutch.
+
+    AC_OUTPUT(
+       Makefile
+       src/Makefile
+       intl/Makefile
+       po/Makefile.in
+    )
+
+    IT_PROG_INTLTOOL checks if a good enough intltool is available.
+    Please require the latest intltool that exists. Intltool releases
+    are pretty stable and often only contains bugfixes.
+
+    AM_GNU_GETTEXT adds native language support to automake, together
+    with a compile option.
+
+    AM_GNU_GETTEXT will check for additional required functions and
+    programs and will finally create po/POTFILES during configure.
+
+    Instead of AM_GNU_GETTEXT you can use AM_GLIB_GNU_GETTEXT, which
+    will do a few less things than AM_GNU_GETTEXT, but does more than
+    enough for what intltool needs to work.
+
+    You do NOT need to use both AM_GNU_GETTEXT and AM_GLIB_GNU_GETTEXT
+    together though. Only one of them will suffice.
+
+    The text domain is identified by PACKAGE.  We will need to add a few
+    functions later on to helloworld.c that will use this #define'd variable.
+
+    Also, this will be the base filename for all your translation files, 
+    so make sure you choose a unique one.
+
+8.
+    Now add the add the supported languages to po/LINGUAS:
+
+    da nl
+
+    NOTE: These used to be in configure.{in,ac} in the ALL_LINGUAS
+    variable. This is deprecated since gettext 0.11
+
+9.  Run 
+       aclocal 
+     to make sure that the necessary autoconf and automake macros
+     are inserted in aclocal.m4
+
+     Run 
+       autoconf 
+     to create the configure script.
+
+10. install the gettext.h file (since gettext 0.11) and include it:
+
+    #include "gettext.h"
+    #define _(String) gettext (String)
+
+11. Now add the following to helloworld.c
+
+    #include <locale.h>
+    #include "gettext.h"
+    #define _(String) gettext (String)
+    /* includes used by original program here */    
+
+    int main (void) 
+    {
+
+           setlocale (LC_ALL, "");
+            bindtextdomain (PACKAGE, LOCALEDIR);
+            textdomain (PACKAGE);
+
+            /* Original Helloworld code here */
+    }
+
+    If you use GNOME or GTK+ the setlocale sentence shouldn't be needed
+
+    We also substitute all strings we want to be translated with 
+    _("original string") to make sure that gettext is run on the strings.
+    So the printf now looks like
+
+      printf (_("Hello, world!\n"));
+
+12. We create src/Makefile.am (from which Makefile.in and Makefile will be
+    generated)
+
+    INCLUDES = -I$(top_srcdir) -I$(includedir) \
+               -DLOCALEDIR=\""$(datadir)/locale"\"
+
+    bin_PROGRAMS = helloworld
+
+    helloworld_SOURCES = helloworld.c
+    noinst_HEADERS = i18n-support.h
+
+13. Now we create the following toplevel Makefile.am
+
+     SUBDIRS = src po
+
+14. Go into the directory po/ and create POTFILES.in
+    This file should contain a list of all the files in your distribution
+    (starting from the top, one level above the po dir) that contain
+    strings to be internationalized.
+
+    For the helloworld sample, it would contain
+    src/helloworld.c
+
+    Run 
+      intltool-update --pot
+
+    Run
+      intltool-update --maintain 
+    to see if you are missing files that contain marked strings.  
+    You should consider adding these to POTFILES.in
+
+
+15. Now we start making a Danish and Dutch translation
+
+    msginit --locale=da
+    msginit --locale=nl
+
+    intltool-update da
+    intltool-update nl
+
+    edit and update da.po and nl.po
+    (The respective translations are "Hej verden" and "Hallo wereld")
+    
+16. Now we can compile.  We will test it later, so we will install it in
+    a temporary location.
+    Close your eyes and type 
+      ./configure --prefix=/tmp/helloworld && make 
+    in the toplevel directory. :-)
+
+17. To test if it works, you have to install the package.
+    Run
+      make install
+    in the toplevel directory.
+
+18. Now set the environment variable LC_ALL to your preferred language :
+      export LC_ALL=nl_NL
+      /tmp/helloworld/bin/helloworld
+      export LC_ALL=da_DK
+      /tmp/helloworld/bin/helloworld
+
+    And if all goes well, the string should be translated in the two languages.
+
+19. To finish it all up, run
+      make dist
+    to create a distributable tarball containing your internationalized
+    program.
+
+20. Exercises :
+    - add another language
+
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644 (file)
index 0000000..a77b2a2
--- /dev/null
@@ -0,0 +1,15 @@
+man_MANS = \
+       intltoolize.8           \
+       intltool-extract.8      \
+       intltool-merge.8        \
+       intltool-prepare.8      \
+       intltool-update.8
+
+EXTRA_DIST = \
+       I18N-HOWTO              \
+       intltoolize.8           \
+       intltool-extract.8      \
+       intltool-merge.8        \
+       intltool-prepare.8      \
+       intltool-update.8
+
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644 (file)
index 0000000..d41e31e
--- /dev/null
@@ -0,0 +1,398 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
+VPATH = @srcdir@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = :
+subdir = doc
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+man8dir = $(mandir)/man8
+am__installdirs = "$(DESTDIR)$(man8dir)"
+NROFF = nroff
+MANS = $(man_MANS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = @pkgdatadir@
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BZR = @BZR@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aclocaldir = @aclocaldir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+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@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+man_MANS = \
+       intltoolize.8           \
+       intltool-extract.8      \
+       intltool-merge.8        \
+       intltool-prepare.8      \
+       intltool-update.8
+
+EXTRA_DIST = \
+       I18N-HOWTO              \
+       intltoolize.8           \
+       intltool-extract.8      \
+       intltool-merge.8        \
+       intltool-prepare.8      \
+       intltool-update.8
+
+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 ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign 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
+$(am__aclocal_m4_deps):
+install-man8: $(man_MANS)
+       @$(NORMAL_INSTALL)
+       test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
+       @list=''; test -n "$(man8dir)" || exit 0; \
+       { for i in $$list; do echo "$$i"; done; \
+       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+         sed -n '/\.8[a-z]*$$/p'; \
+       } | while read p; do \
+         if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; echo "$$p"; \
+       done | \
+       sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+       sed 'N;N;s,\n, ,g' | { \
+       list=; while read file base inst; do \
+         if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+           echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
+           $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
+         fi; \
+       done; \
+       for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+       while read files; do \
+         test -z "$$files" || { \
+           echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
+           $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
+       done; }
+
+uninstall-man8:
+       @$(NORMAL_UNINSTALL)
+       @list=''; test -n "$(man8dir)" || exit 0; \
+       files=`{ for i in $$list; do echo "$$i"; done; \
+       l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+         sed -n '/\.8[a-z]*$$/p'; \
+       } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+             -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+       test -z "$$files" || { \
+         echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
+         cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+       @list='$(MANS)'; if test -n "$$list"; then \
+         list=`for p in $$list; do \
+           if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+           if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+         if test -n "$$list" && \
+           grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+           echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+           grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+           echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+           echo "       typically \`make maintainer-clean' will remove them" >&2; \
+           exit 1; \
+         else :; fi; \
+       else :; fi
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$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 $(MANS)
+installdirs:
+       for dir in "$(DESTDIR)$(man8dir)"; 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)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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-man
+
+uninstall-man: uninstall-man8
+
+.MAKE: install-am install-strip
+
+.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-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-man8 install-pdf install-pdf-am install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+       uninstall-am uninstall-man uninstall-man8
+
+
+# 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:
diff --git a/doc/intltool-extract.8 b/doc/intltool-extract.8
new file mode 100644 (file)
index 0000000..f0a2998
--- /dev/null
@@ -0,0 +1,89 @@
+.TH INTLTOOL-EXTRACT 8 "2003-08-02" "intltool"
+
+.SH NAME
+intltool-extract \- generate header files which can be read by gettext
+
+.SH SYNOPSIS
+.B intltool-extract
+.I "[options]..." SOURCE_FILE
+
+
+.SH DESCRIPTION
+.B intltool-extract
+extracts strings in the specified XML/INI type \fISOURCE_FILE\fR and writes
+them into a C header file. Then \fBxgettext\fR(1) can merge these strings
+inside header file into po template.
+
+.B intltool-extract
+is usually not executed manually, but called from \fBintltool-update\fR(8)
+instead.
+
+.SH OPTIONS
+.IP "\fB\-l\fR" 4
+.PD 0
+.IP "\fB\--local\fR" 4
+.PD
+Creates a subdirectory under current working directory (named "\fBtmp/\fR")
+and writes files there. This option can't be used with \fB\--update\fR option.
+.IP "\fB\--update\fR" 4
+.PD
+Writes header file into the same directory the source file is in. New file
+name is the source file name appending ".h" extension. This option can't be
+used with
+.BR \-l / \--local
+option. Besides, this option is the default option if neither \fB\--local\fR
+nor \fB\--update\fR is specified.
+.IP "\fB\--type\fR=\fITYPE\fR" 4
+.PD
+Specify the type of source file. Currently supported types are:
+.br
+"gettext/glade" (.glade, .glade2)
+.br
+"gettext/gsettings" (.gschema.xml)
+.br
+"gettext/ini" (Generic INI file)
+.br
+"gettext/keys" (.keys)
+.br
+"gettext/rfc822deb" (RFC 822 format file)
+.br
+"gettext/quoted" (all strings within "")
+.br
+"gettext/schemas" (.schemas)
+.br
+"gettext/scheme" (.scm)
+.br
+"gettext/xml" (Generic XML file)
+.IP "\fB\-v\fR" 4
+.PD 0
+.IP "\fB\--version\fR" 4
+.PD
+Show version information.
+.IP "\fB\-h\fR" 4
+.PD 0
+.IP "\fB\--help\fR" 4
+.PD
+Show usage and basic help information.
+.IP "\fB\-q\fR" 4
+.PD 0
+.IP "\fB\--quiet\fR" 4
+.PD
+Be quiet while running.
+
+.SH REPORTING BUGS
+Report bugs to http://bugs.launchpad.net/intltool
+
+.SH AUTHOR
+Darin Adler <darin@bentspoon.com>
+.br
+Kenneth Christiansen <kenneth@gnu.org>
+.br
+Maciej Stachowiak <mjs@eazel.com>
+
+
+.SH SEE ALSO
+.BR intltoolize (8),
+.BR intltool-prepare (8),
+.BR intltool-merge (8),
+.BR intltool-update (8),
+.BR xgettext (1)
diff --git a/doc/intltool-merge.8 b/doc/intltool-merge.8
new file mode 100644 (file)
index 0000000..291b344
--- /dev/null
@@ -0,0 +1,120 @@
+.TH INTLTOOL-MERGE 8 "2003-08-02" "intltool"
+
+.SH NAME
+intltool-merge \- merge translated strings into various types of file
+
+.SH SYNOPSIS
+.B "intltool-merge"
+.I "[option]..." PO_DIRECTORY FILENAME OUTPUT_FILE
+
+
+.SH DESCRIPTION
+.PP
+Merge translated strings in po files in \fIPO_DIRECTORY\fR with the original
+application file \fIFILENAME\fR, and output the file \fIOUTPUT_FILE\fR
+containing both original and localized strings.
+.PP
+If \fIFILENAME\fR is an XML file, \fIOUTPUT_FILE\fR will contain repeated
+xml nodes, where each node contains one of the localized strings with
+"xml:lang" attribute.
+
+
+.SH OPTIONS
+.\" -------------------------------------------------------
+.SS "Mode of operation"
+.\" -------------------------------------------------------
+.IP "\fB\-b\fR" 4
+.PD 0
+.IP "\fB\--ba-style\fR" 4
+.PD
+Merge files in bonobo-activation style, which is used for bonobo servers.
+.IP "\fB\-d\fR" 4
+.PD 0
+.IP "\fB\--desktop-style\fR" 4
+.PD
+Merge files in desktop style, which is similar to the Windows .ini file format.
+.IP "\fB\-k\fR" 4
+.PD 0
+.IP "\fB\--keys-style\fR" 4
+.PD
+Merge files in keys style, which is used for metadata.
+.IP "\fB\-o\fR" 4
+.PD 0
+.IP "\fB\--oaf-style\fR" 4
+.PD
+(OBSOLETE) Same as
+.BR \-b / \--ba-style "."
+.IP "\fB\-r\fR" 4
+.PD 0
+.IP "\fB\--rfc822deb-style\fR" 4
+.PD
+Merge files in RFC 822 style, which is usually used in Debian configuration files.
+.IP "\fB\--quoted-style\fR" 4
+.PD
+Merge files in quoted string style, which just translates any strings within "".
+.IP "\fB\-x\fR" 4
+.PD 0
+.IP "\fB\--xml-style\fR" 4
+.PD
+Merge files in standard XML style, both as attributes and as raw pcdata.
+
+.\" -------------------------------------------------------
+.SS "Other options"
+.\" -------------------------------------------------------
+.IP "\fB\-u\fR" 4
+.PD 0
+.IP "\fB\--utf8\fR" 4
+.PD
+Convert all strings to UTF-8 before merging.
+.IP "\fB\-p\fR" 4
+.PD 0
+.IP "\fB\--pass-through\fR" 4
+.PD
+Use strings as is in .po files without conversion (STRONGLY unrecommended
+with -x).
+.IP "\fB\-c\fR" 4
+.PD 0
+.IP "\fB\--cache\fR" 4
+.PD
+(TBD)
+.IP "\fB\-q\fR" 4
+.PD 0
+.IP "\fB\--quiet\fR" 4
+.PD
+Be quiet while running.
+.IP "\fB\-v\fR" 4
+.PD 0
+.IP "\fB\--version\fR" 4
+.PD
+Show version information.
+.IP "\fB\-h\fR" 4
+.PD 0
+.IP "\fB\--help\fR" 4
+.PD
+Show usage and basic help information.
+
+
+.SH FILES
+.IP "\fBpo/.intltool-merge-cache\fR"
+Cache file generated by \fBintltool-merge\fR, that contains all strings
+in all po files separated by \\01.
+
+
+.SH REPORTING BUGS
+Report bugs to http://bugs.launchpad.net/intltool
+
+
+.SH AUTHOR
+Darin Adler <darin@bentspoon.com>
+.br
+Kenneth Christiansen <kenneth@gnu.org>
+.br
+Maciej Stachowiak <mjs@eazel.com>
+
+
+.SH SEE ALSO
+.BR iconv (1),
+.BR intltoolize (8),
+.BR intltool-prepare (8),
+.BR intltool-extract (8),
+.BR intltool-update (8)
diff --git a/doc/intltool-prepare.8 b/doc/intltool-prepare.8
new file mode 100644 (file)
index 0000000..21128f9
--- /dev/null
@@ -0,0 +1,82 @@
+.TH INTLTOOL-PREPARE 8 "2003-08-02" "intltool"
+
+.SH NAME
+intltool-prepare \- Prepare software to make use of intltool
+
+.SH SYNOPSIS
+.B intltool-prepare
+[\fIoption\fR] [\fI\s-1KEYWORD\s0\fR]...
+
+
+.SH DESCRIPTION
+.PP
+For software packages that include some specific type of translatable
+files (such as .desktop and .soundlist), before they make use of
+\fBintltool\fR, translators have to dig through them one by one, and add
+their localization into each file. This process is error prone, since
+translators may include typing errors, or add their localization in wrong
+encoding. Besides, translators may not alwas know other files (beside .po
+files) are translatable.
+.PP
+.I intltool
+avoids all the problems above by extracting strings inside those translatable
+files into po template (.pot) file. All translators need to care about is
+just translating po files. Afterwards, \fBintltool-merge\fR(8) will merge
+localized strings into those files.
+.PP
+Before your software becomes intltool-aware, a few issues have to be sorted
+out, and \fBintltool-prepare\fR tries to take care of all of them.
+\fBintltool-prepare\fR will:
+.IP \[bu] 2
+Extract all localized strings in .desktop style files (including ".desktop",
+".soundlist", ".keys" and ".directory") into corresponding po files.
+.IP \[bu]
+Convert the translatable files into templates that don't contain any
+localization.
+.IP \[bu]
+Add the list of template files above into \fBPOTFILES.in\fR.
+.IP \[bu]
+Add the list of old translatable files into \fB.cvsignore\fR (since they
+will be generated by \fIintltool\fR later).
+.IP \[bu]
+Add the rules for generating these files into Makefile.am.
+.PP
+NOTE: You must change working directory to the top level source directory
+before running \fBintltool-prepare\fR.
+
+.SH OPTIONS
+.PP
+\fIKEYWORD\fR is a list of additional keywords beside "Name", "Comment" and
+"description". \fBintltool-prepare\fR will recognize any line starting with
+those \fIKEYWORD\fR and extract localized strings after equal sign ("=").
+.IP "\fB\-x\fR" 4
+.PD 0
+.IP "\fB\-\-verbose\fR" 4
+.PD
+Be verbose to give user additional feedback.
+.IP "\fB\-v\fR" 4
+.PD 0
+.IP "\fB\-\-version\fR" 4
+Show version information.
+.IP "\fB\-h\fR" 4
+.PD 0
+.IP "\fB\-\-help\fR" 4
+Show usage and basic help information.
+
+
+.SH REPORTING BUGS
+Report bugs to http://bugs.launchpad.net/intltool
+
+.SH AUTHOR
+Darin Adler <darin@bentspoon.com>
+.br
+Kenneth Christiansen <kenneth@gnu.org>
+.br
+Maciej Stachowiak <mjs@eazel.com>
+
+
+.SH SEE ALSO
+.BR intltoolize (8),
+.BR intltool-update (8),
+.BR intltool-extract (8),
+.BR intltool-merge (8)
diff --git a/doc/intltool-update.8 b/doc/intltool-update.8
new file mode 100644 (file)
index 0000000..4fc87f6
--- /dev/null
@@ -0,0 +1,155 @@
+.TH INTLTOOL-UPDATE 8 "2003-08-02" "intltool"
+
+.SH NAME
+intltool-update \- updates PO template file and merge translations with it
+
+.SH SYNOPSIS
+.BI intltool-update " [option]..."
+.br
+.BI intltool-update " LANGCODE"
+
+.SH DESCRIPTION
+.B intltool-update
+generates new po file templates from source code, and merges existing
+translations with these new po templates.
+.PP
+You must change working directory to the subdirectory containing translations
+(usually "\fIpo/\fR") before running \fBintltool-update\fR.
+
+.SH OPTIONS
+When executing
+.B intltool-update
+, only one mode of operation is allowed each time.
+.\" -------------------------------------------------------
+.SS "Mode of operation"
+.\" -------------------------------------------------------
+.IP "\fB\-p\fR" 4
+.PD 0
+.IP "\fB\-\-pot\fR" 4
+.PD
+Generate po template (.pot) only.
+.IP "\fB\-s\fR" 4
+.PD 0
+.IP "\fB\-\-headers\fR" 4
+.PD
+Executes \fBintltool-extract\fR(8) to extract strings inside XML/INI
+style files listed in \fBPOTFILES.in\fR, and writes the extracted
+strings into header files, so that the strings can be recognised
+by \fBxgettext\fR(1).
+.IP "\fB\-m\fR" 4
+.PD 0
+.IP "\fB\-\-maintain\fR" 4
+.PD
+Search for left out files, which should have been listed in
+.B POTFILES.in
+or
+.BR POTFILES.skip "."
+A list of all these files are written into another file called
+"\fBmissing\fR".
+.IP "\fB\-r\fR" 4
+.PD 0
+.IP "\fB\-\-report\fR" 4
+.PD
+Display a status report for all translations in the software.
+.IP "\fB\-d \fILANGCODE\fR" 4
+.PD 0
+.IP "\fB\-\-dist \fILANGCODE \fR" 4
+.PD
+Merge
+.BR LANGCODE .po
+with existing PO template.
+.\" -------------------------------------------------------
+.SS "Other options"
+.\" -------------------------------------------------------
+.
+.IP "\fB\-g \fINAME\fR" 4
+.PD 0
+.IP "\fB\-\-gettext-package\fR=\fINAME\fR" 4
+.PD
+Manually specify PO template file name, instead of determining the
+name automatically from source. Useful with
+.BR \-p / \-\-pot
+option. This option has an additional effect: the name of current working
+directory is no more limited to "po" or "po-*".
+.IP "\fB\-o \fIFILENAME\fR" 4
+.PD 0
+.IP "\fB\-\-output-file\fR=\fIFILENAME\fR" 4
+.PD
+Manually specify output \fIFILENAME\fR after merging old translation with
+PO template. Useful either with
+.BR \-d / \-\-dist
+option or without any option.
+.IP "\fB\-x\fR" 4
+.PD 0
+.IP "\fB\-\-verbose\fR" 4
+.PD
+Display lots of feedback.
+.IP "\fB\-\-version\fR" 4
+Show version information.
+.IP "\fB\-\-help\fR" 4
+Show usage and basic help information.
+
+.SH EXAMPLES
+Creates a new PO template from source code, and name it foo.pot:
+.PP
+.RS 2
+.nf
+.ft CW
+.ne 1
+intltool-update \-\-pot \-\-gettext\-package=foo
+.ft R
+.fi
+.RE
+.PP
+Updates translation file xy.po using existing po template called
+"bar.pot", and writes output into "xy1.po":
+.PP
+.RS 2
+.nf
+.ft CW
+.ne 1
+intltool-update --dist --gettext-package=bar --output-file=xy1.po xy
+.ft R
+.fi
+.RE
+.PP
+Creates new PO template and updates translation file xy.po
+(xy.po is overwritten with new content):
+.PP
+.RS 2
+.nf
+.ft CW
+.ne 1
+intltool-update xy
+.ft R
+.fi
+(same as \fBintltool-update --pot && intltool-update --dist xy\fR)
+.RE
+
+.SH FILES
+.IP "\fBpo/POTFILES.in\fR"
+Contains list of source files which contain translatable strings,
+one file per line.
+.IP "\fBpo/POTFILES.skip\fR"
+.PD 0
+.IP "\fBpo/POTFILES.ignore\fR (obsolete)"
+.PD
+Contains list of source files which should be ignored when searching
+for translatable strings.
+
+.SH REPORTING BUGS
+Report bugs to http://bugs.launchpad.net/intltool
+
+.SH AUTHOR
+Darin Adler <darin@bentspoon.com>
+.br
+Kenneth Christiansen <kenneth@gnu.org>
+.br
+Maciej Stachowiak <mjs@eazel.com>
+
+.SH SEE ALSO
+.BR intltoolize (8),
+.BR intltool-prepare (8),
+.BR intltool-extract (8),
+.BR intltool-merge (8),
+.BR xgettext (1)
diff --git a/doc/intltoolize.8 b/doc/intltoolize.8
new file mode 100644 (file)
index 0000000..ea788f5
--- /dev/null
@@ -0,0 +1,60 @@
+.TH INTLTOOLIZE 8 "2003-08-02" "intltool"
+
+.SH NAME
+intltoolize \- copy intltool related files to software package
+
+.SH SYNOPSIS
+.B intltoolize
+[\fIoption\fR]...
+
+
+.SH DESCRIPTION
+This prepares a package to use intltool by linking or copying
+various files needed by intltool into place for use when building.
+Note that you must change your working directory to the top
+level directory of the package before running
+.B intltoolize.
+
+
+.SH OPTIONS
+.IP "\fB\--automake\fR" 4
+Work silently and assume that \fIautomake\fR is being used in software.
+.IP "\fB\-c\fR" 4
+.PD 0
+.IP "\fB\--copy\fR" 4
+.PD
+Copy files rather than creating symbolic links to them.
+.IP "\fB\--debug\fR" 4
+Enable verbose shell tracing.
+.IP "\fB\-n\fR" 4
+.PD 0
+.IP "\fB\--dry-run\fR" 4
+.PD
+Print commands only, instead of executing them.
+.IP "\fB\-f\fR" 4
+.PD 0
+.IP "\fB\--force\fR" 4
+.PD
+Replace existing files if they exist.
+.IP "\fB\-\-help\fR" 4
+Show usage and basic help information.
+.IP "\fB\-\-version\fR" 4
+Show version information.
+
+
+.SH REPORTING BUGS
+Report bugs to http://bugs.launchpad.net/intltool
+
+.SH AUTHOR
+Darin Adler <darin@bentspoon.com>
+.br
+Kenneth Christiansen <kenneth@gnu.org>
+.br
+Maciej Stachowiak <mjs@eazel.com>
+
+
+.SH SEE ALSO
+.BR intltool-prepare (8),
+.BR intltool-extract (8),
+.BR intltool-merge (8),
+.BR intltool-update (8)
diff --git a/install-sh b/install-sh
new file mode 100755 (executable)
index 0000000..6781b98
--- /dev/null
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# 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.
+
+nl='
+'
+IFS=" ""       $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+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:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -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.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+       shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+       case $mode in
+         *' '* | *'    '* | *'
+'*       | *'*'* | *'?'* | *'['*)
+           echo "$0: invalid mode: $mode" >&2
+           exit 1;;
+       esac
+       shift;;
+
+    -o) chowncmd="$chownprog $2"
+       shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t) dst_arg=$2
+       shift;;
+
+    -T) no_target_directory=true;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)        shift
+       break;;
+
+    -*)        echo "$0: invalid option: $1" >&2
+       exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+  done
+fi
+
+if test $# -eq 0; 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
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  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 "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dst_arg
+    # 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: $dst_arg: Is a directory" >&2
+       exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+       (dirname "$dst") 2>/dev/null ||
+       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+            X"$dst" : 'X\(//\)[^/]' \| \
+            X"$dst" : 'X\(//\)$' \| \
+            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+       echo X"$dst" |
+           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)[^/].*/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\).*/{
+                  s//\1/
+                  q
+                }
+                s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+       # Create intermediate dirs using mode 755 as modified by the umask.
+       # This is like FreeBSD 'install' as of 1997-10-28.
+       umask=`umask`
+       case $stripcmd.$umask in
+         # Optimize common cases.
+         *[2367][2367]) mkdir_umask=$umask;;
+         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+         *[0-7])
+           mkdir_umask=`expr $umask + 22 \
+             - $umask % 100 % 40 + $umask % 20 \
+             - $umask % 10 % 4 + $umask % 2
+           `;;
+         *) mkdir_umask=$umask,go-w;;
+       esac
+
+       # With -d, create the new directory with the user-specified mode.
+       # Otherwise, rely on $mkdir_umask.
+       if test -n "$dir_arg"; then
+         mkdir_mode=-m$mode
+       else
+         mkdir_mode=
+       fi
+
+       posix_mkdir=false
+       case $umask in
+         *[123567][0-7][0-7])
+           # POSIX mkdir -p sets u+wx bits regardless of umask, which
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+           if (umask $mkdir_umask &&
+               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writeable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+             rmdir "$tmpdir/d" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+       umask $mkdir_umask &&
+       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+       /*) prefix='/';;
+       -*) prefix='./';;
+       *)  prefix='';;
+      esac
+
+      eval "$initialize_posix_glob"
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob set -f
+      set fnord $dstdir
+      shift
+      $posix_glob set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+       test -z "$d" && continue
+
+       prefix=$prefix$d
+       if test -d "$prefix"; then
+         prefixes=
+       else
+         if $posix_mkdir; then
+           (umask=$mkdir_umask &&
+            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+           # Don't fail if two instances are running concurrently.
+           test -d "$prefix" || exit 1
+         else
+           case $prefix in
+             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+             *) qprefix=$prefix;;
+           esac
+           prefixes="$prefixes '$qprefix'"
+         fi
+       fi
+       prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+       # Don't fail if two instances are running concurrently.
+       (umask $mkdir_umask &&
+        eval "\$doit_exec \$mkdirprog $prefixes") ||
+         test -d "$dstdir" || exit 1
+       obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # 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
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 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.
+       {
+         test ! -f "$dst" ||
+         $doit $rmcmd -f "$dst" 2>/dev/null ||
+         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+         } ||
+         { echo "$0: cannot unlink or rename $dst" >&2
+           (exit 1); exit 1
+         }
+       } &&
+
+       # Now rename the file to the real destination.
+       $doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/intltool-extract.in b/intltool-extract.in
new file mode 100644 (file)
index 0000000..5afc292
--- /dev/null
@@ -0,0 +1,1036 @@
+#!@INTLTOOL_PERL@ -w 
+# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4  -*-
+
+#
+#  The Intltool Message Extractor
+#
+#  Copyright (C) 2000-2001, 2003 Free Software Foundation.
+#
+#  Intltool is free software; you can redistribute 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.
+#
+#  Intltool is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR 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., 675 Mass Ave, Cambridge, MA 02139, 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.
+#
+#  Authors: Kenneth Christiansen <kenneth@gnu.org>
+#           Darin Adler <darin@bentspoon.com>
+#
+
+## Release information
+my $PROGRAM      = "intltool-extract";
+my $PACKAGE      = "@PACKAGE@";
+my $VERSION      = "@VERSION@";
+
+## Loaded modules
+use strict; 
+use File::Basename;
+use Getopt::Long;
+
+## Scalars used by the option stuff
+my $TYPE_ARG   = "0";
+my $LOCAL_ARG  = "0";
+my $HELP_ARG   = "0";
+my $VERSION_ARG = "0";
+my $UPDATE_ARG  = "0";
+my $QUIET_ARG   = "0";
+my $SRCDIR_ARG = ".";
+my $NOMSGCTXT_ARG = "0";
+
+my $FILE;
+my $OUTFILE;
+
+my $gettext_type = "";
+my $input;
+my %messages = ();
+my @messages_sorted = ();
+my %loc = ();
+my %count = ();
+my %comments = ();
+my $strcount = 0;
+
+my $XMLCOMMENT = "";
+
+## Use this instead of \w for XML files to handle more possible characters.
+my $w = "[-A-Za-z0-9._:]";
+
+## Always print first
+$| = 1;
+
+## Handle options
+GetOptions (
+           "type=s"     => \$TYPE_ARG,
+            "local|l"    => \$LOCAL_ARG,
+            "help|h"     => \$HELP_ARG,
+            "version|v"  => \$VERSION_ARG,
+            "update"     => \$UPDATE_ARG,
+           "quiet|q"    => \$QUIET_ARG,
+           "srcdir=s"   => \$SRCDIR_ARG,
+           "nomsgctxt"  => \$NOMSGCTXT_ARG,
+            ) or &error;
+
+&split_on_argument;
+
+
+## Check for options. 
+## This section will check for the different options.
+
+sub split_on_argument {
+
+    if ($VERSION_ARG) {
+        &version;
+
+    } elsif ($HELP_ARG) {
+       &help;
+        
+    } elsif ($LOCAL_ARG) {
+        &place_local;
+        &extract;
+
+    } elsif ($UPDATE_ARG) {
+       &place_normal;
+       &extract;
+
+    } elsif (@ARGV > 0) {
+       &place_normal;
+       &message;
+       &extract;
+
+    } else {
+       &help;
+
+    }  
+}    
+
+sub place_normal {
+    $FILE       = $ARGV[0];
+    $OUTFILE     = "$FILE.h";
+
+    my $dirname = dirname ($OUTFILE);
+    if (! -d "$dirname" && $dirname ne "") {
+        system ("mkdir -p $dirname");
+    }
+}   
+
+sub place_local {
+    $FILE       = $ARGV[0];
+    $OUTFILE     = fileparse($FILE, ());
+    if (!-e "tmp/") { 
+        system("mkdir tmp/"); 
+    }
+    $OUTFILE     = "./tmp/$OUTFILE.h"
+}
+
+sub determine_type {
+   if ($TYPE_ARG =~ /^gettext\/(.*)/) {
+       $gettext_type=$1
+   }
+}
+
+## Sub for printing release information
+sub version{
+    print <<_EOF_;
+${PROGRAM} (${PACKAGE}) $VERSION
+Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+Written by Kenneth Christiansen, 2000.
+
+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_
+    exit;
+}
+
+## Sub for printing usage information
+sub help {
+    print <<_EOF_;
+Usage: ${PROGRAM} [OPTION]... [FILENAME]
+Generates a header file from an XML source file.
+
+It grabs all strings between <_translatable_node> and its end tag in
+XML files. Read manpage (man ${PROGRAM}) for more info.
+
+      --type=TYPE   Specify the file type of FILENAME. Currently supports:
+                    "gettext/glade", "gettext/ini", "gettext/keys"
+                    "gettext/rfc822deb", "gettext/schemas",
+                    "gettext/gsettings", "gettext/xml", "gettext/quoted",
+                    "gettext/quotedxml", "gettext/tlk"
+  -l, --local       Writes output into current working directory
+                    (conflicts with --update)
+      --update      Writes output into the same directory the source file
+                    reside (conflicts with --local)
+      --srcdir      Root of the source tree
+  -v, --version     Output version information and exit
+  -h, --help        Display this help and exit
+  -q, --quiet       Quiet mode
+
+Report bugs to http://bugs.launchpad.net/intltool
+_EOF_
+    exit;
+}
+
+## Sub for printing error messages
+sub error{
+    print STDERR "Try `${PROGRAM} --help' for more information.\n";
+    exit;
+}
+
+sub message {
+    print "Generating C format header file for translation.\n" unless $QUIET_ARG;
+}
+
+sub extract {
+    &determine_type;
+
+    &convert;
+
+    open OUT, ">$OUTFILE";
+    binmode (OUT) if $^O eq 'MSWin32';
+    &msg_write;
+    close OUT;
+
+    print "Wrote $OUTFILE\n" unless $QUIET_ARG;
+}
+
+sub convert {
+
+    ## Reading the file
+    {
+       local (*IN);
+       local $/; #slurp mode
+       open (IN, "<$SRCDIR_ARG/$FILE") || die "can't open $SRCDIR_ARG/$FILE: $!";
+        binmode (IN);
+        $input = <IN>;
+        close IN;
+    }
+
+    &type_ini if $gettext_type eq "ini";
+    &type_keys if $gettext_type eq "keys";
+    &type_xml if $gettext_type eq "xml";
+    &type_glade if $gettext_type eq "glade";
+    &type_gsettings  if $gettext_type eq "gsettings";
+    &type_schemas  if $gettext_type eq "schemas";
+    &type_rfc822deb  if $gettext_type eq "rfc822deb";
+    &type_quoted if $gettext_type eq "quoted";
+    &type_quotedxml if $gettext_type eq "quotedxml";
+    &type_tlk if $gettext_type eq "tlk";
+}
+
+sub entity_decode_minimal
+{
+    local ($_) = @_;
+
+    s/&apos;/'/g; # '
+    s/&quot;/"/g; # "
+    s/&amp;/&/g;
+
+    return $_;
+}
+
+sub entity_decode
+{
+    local ($_) = @_;
+
+    s/&apos;/'/g; # '
+    s/&quot;/"/g; # "
+    s/&lt;/</g;
+    s/&gt;/>/g;
+    s/&amp;/&/g;
+
+    return $_;
+}
+
+sub escape_char
+{
+    return '\"' if $_ eq '"';
+    return '\n' if $_ eq "\n";
+    return '\\\\' if $_ eq '\\';
+
+    return $_;
+}
+
+sub escape
+{
+    my ($string) = @_;
+    return join "", map &escape_char, split //, $string;
+}
+
+sub add_message
+{
+    my ($string) = @_;
+    push @messages_sorted, $string if !defined $messages{$string};
+    $messages{$string} = [];
+}
+
+sub type_ini {
+    ### For generic translatable desktop files ###
+    while ($input =~ /^(#(.+)\n)?^_.*=(.*)$/mg) {
+        if (defined($2))  {
+            $comments{$3} = $2;
+        }
+        add_message($3);
+    }
+}
+
+sub type_keys {
+    ### For generic translatable mime/keys files ###
+    while ($input =~ /^\s*_\w+=(.*)$/mg) {
+        add_message($1);
+    }
+}
+
+sub type_xml {
+    ### For generic translatable XML files ###
+    my $tree = readXml($input);
+    parseTree(0, $tree);
+}
+
+sub print_var {
+    my $var = shift;
+    my $vartype = ref $var;
+    
+    if ($vartype =~ /ARRAY/) {
+        my @arr = @{$var};
+        print "[ ";
+        foreach my $el (@arr) {
+            print_var($el);
+            print ", ";
+        }
+        print "] ";
+    } elsif ($vartype =~ /HASH/) {
+        my %hash = %{$var};
+        print "{ ";
+        foreach my $key (keys %hash) {
+            print "$key => ";
+            print_var($hash{$key});
+            print ", ";
+        }
+        print "} ";
+    } else {
+        print $var;
+    }
+}
+
+# Same syntax as getAttributeString in intltool-merge.in.in, similar logic (look for ## differences comment)
+sub getAttributeString
+{
+    my $sub = shift;
+    my $do_translate = shift || 1;
+    my $language = shift || "";
+    my $translate = shift;
+    my $result = "";
+    foreach my $e (reverse(sort(keys %{ $sub }))) {
+       my $key    = $e;
+       my $string = $sub->{$e};
+       my $quote = '"';
+       
+       $string =~ s/^[\s]+//;
+       $string =~ s/[\s]+$//;
+       
+       if ($string =~ /^'.*'$/)
+       {
+           $quote = "'";
+       }
+       $string =~ s/^['"]//g;
+       $string =~ s/['"]$//g;
+
+        ## differences from intltool-merge.in.in
+       if ($key =~ /^_/) {
+            $comments{entity_decode($string)} = $XMLCOMMENT if $XMLCOMMENT;
+            add_message(entity_decode($string));
+            $$translate = 2;
+       }
+        ## differences end here from intltool-merge.in.in
+       $result .= " $key=$quote$string$quote";
+    }
+    return $result;
+}
+
+# Verbatim copy from intltool-merge.in.in
+sub getXMLstring
+{
+    my $ref = shift;
+    my $spacepreserve = shift || 0;
+    my @list = @{ $ref };
+    my $result = "";
+
+    my $count = scalar(@list);
+    my $attrs = $list[0];
+    my $index = 1;
+
+    $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/));
+    $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/));
+
+    while ($index < $count) {
+       my $type = $list[$index];
+       my $content = $list[$index+1];
+        if (! $type ) {
+           # We've got CDATA
+           if ($content) {
+               # lets strip the whitespace here, and *ONLY* here
+                $content =~ s/\s+/ /gs if (!$spacepreserve);
+               $result .= $content;
+           }
+       } elsif ( "$type" ne "1" ) {
+           # We've got another element
+           $result .= "<$type";
+           $result .= getAttributeString(@{$content}[0], 0); # no nested translatable elements
+           if ($content) {
+               my $subresult = getXMLstring($content, $spacepreserve);
+               if ($subresult) {
+                   $result .= ">".$subresult . "</$type>";
+               } else {
+                   $result .= "/>";
+               }
+           } else {
+               $result .= "/>";
+           }
+       }
+       $index += 2;
+    }
+    return $result;
+}
+
+# Verbatim copy from intltool-merge.in.in, except for MULTIPLE_OUTPUT handling removed
+# Translate list of nodes if necessary
+sub translate_subnodes
+{
+    my $fh = shift;
+    my $content = shift;
+    my $language = shift || "";
+    my $singlelang = shift || 0;
+    my $spacepreserve = shift || 0;
+
+    my @nodes = @{ $content };
+
+    my $count = scalar(@nodes);
+    my $index = 0;
+    while ($index < $count) {
+        my $type = $nodes[$index];
+        my $rest = $nodes[$index+1];
+        traverse($fh, $type, $rest, $language, $spacepreserve);
+        $index += 2;
+    }
+}
+
+# Based on traverse() in intltool-merge.in.in
+sub traverse
+{
+    my $fh = shift; # unused, to allow us to sync code between -merge and -extract
+    my $nodename = shift;
+    my $content = shift;
+    my $language = shift || "";
+    my $spacepreserve = shift || 0;
+
+    if ($nodename && "$nodename" eq "1") {
+        $XMLCOMMENT = $content;
+    } elsif ($nodename) {
+       # element
+       my @all = @{ $content };
+       my $attrs = shift @all;
+       my $translate = 0;
+       my $outattr = getAttributeString($attrs, 1, $language, \$translate);
+
+       if ($nodename =~ /^_/) {
+           $translate = 1;
+           $nodename =~ s/^_//;
+       }
+       my $lookup = '';
+
+        $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/));
+        $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/));
+
+       if ($translate) {
+           $lookup = getXMLstring($content, $spacepreserve);
+            if (!$spacepreserve) {
+                $lookup =~ s/^\s+//s;
+                $lookup =~ s/\s+$//s;
+            }
+            if (exists $attrs->{"msgctxt"}) {
+                my $context = entity_decode ($attrs->{"msgctxt"});
+                $context =~ s/^["'](.*)["']/$1/;
+                $lookup = "$context\004$lookup";
+            }
+
+           if ($lookup && $translate != 2) {
+                $comments{$lookup} = $XMLCOMMENT if $XMLCOMMENT;
+                add_message($lookup);
+            } elsif ($translate == 2) {
+                translate_subnodes($fh, \@all, $language, 1, $spacepreserve);
+           }
+       } else {
+            $XMLCOMMENT = "";
+           my $count = scalar(@all);
+           if ($count > 0) {
+                my $index = 0;
+                while ($index < $count) {
+                    my $type = $all[$index];
+                    my $rest = $all[$index+1];
+                    traverse($fh, $type, $rest, $language, $spacepreserve);
+                    $index += 2;
+                }
+           }
+       }
+        $XMLCOMMENT = "";
+    }
+}
+
+
+# Verbatim copy from intltool-merge.in.in, $fh for compatibility
+sub parseTree
+{
+    my $fh        = shift;
+    my $ref       = shift;
+    my $language  = shift || "";
+
+    my $name = shift @{ $ref };
+    my $cont = shift @{ $ref };
+
+    while (!$name || "$name" eq "1") {
+        $name = shift @{ $ref };
+        $cont = shift @{ $ref };
+    }
+
+    my $spacepreserve = 0;
+    my $attrs = @{$cont}[0];
+    $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/));
+
+    traverse($fh, $name, $cont, $language, $spacepreserve);
+}
+
+# Verbatim copy from intltool-merge.in.in
+sub intltool_tree_comment
+{
+    my $expat = shift;
+    my $data  = $expat->original_string();
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    $data =~ s/^<!--//s;
+    $data =~ s/-->$//s;
+    push @$clist, 1 => $data;
+}
+
+# Verbatim copy from intltool-merge.in.in
+sub intltool_tree_cdatastart
+{
+    my $expat    = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    push @$clist, 0 => $expat->original_string();
+}
+
+# Verbatim copy from intltool-merge.in.in
+sub intltool_tree_cdataend
+{
+    my $expat    = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    $clist->[$pos] .= $expat->original_string();
+}
+
+# Verbatim copy from intltool-merge.in.in
+sub intltool_tree_char
+{
+    my $expat = shift;
+    my $text  = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    # Use original_string so that we retain escaped entities
+    # in CDATA sections.
+    #
+    if ($pos > 0 and $clist->[$pos - 1] eq '0') {
+        $clist->[$pos] .= $expat->original_string();
+    } else {
+        push @$clist, 0 => $expat->original_string();
+    }
+}
+
+# Verbatim copy from intltool-merge.in.in
+sub intltool_tree_start
+{
+    my $expat    = shift;
+    my $tag      = shift;
+    my @origlist = ();
+
+    # Use original_string so that we retain escaped entities
+    # in attribute values.  We must convert the string to an
+    # @origlist array to conform to the structure of the Tree
+    # Style.
+    #
+    my @original_array = split /\x/, $expat->original_string();
+    my $source         = $expat->original_string();
+
+    # Remove leading tag.
+    #
+    $source =~ s|^\s*<\s*(\S+)||s;
+
+    # Grab attribute key/value pairs and push onto @origlist array.
+    #
+    while ($source)
+    {
+       if ($source =~ /^\s*([\w:-]+)\s*[=]\s*["]/)
+       {
+           $source =~ s|^\s*([\w:-]+)\s*[=]\s*["]([^"]*)["]||s;
+           push @origlist, $1;
+           push @origlist, '"' . $2 . '"';
+       }
+       elsif ($source =~ /^\s*([\w:-]+)\s*[=]\s*[']/)
+       {
+           $source =~ s|^\s*([\w:-]+)\s*[=]\s*[']([^']*)[']||s;
+           push @origlist, $1;
+           push @origlist, "'" . $2 . "'";
+       }
+       else
+       {
+           last;
+       }
+    }
+
+    my $ol = [ { @origlist } ];
+
+    push @{ $expat->{Lists} }, $expat->{Curlist};
+    push @{ $expat->{Curlist} }, $tag => $ol;
+    $expat->{Curlist} = $ol;
+}
+
+# Copied from intltool-merge.in.in and added comment handler.
+sub readXml
+{
+    my $xmldoc = shift || return;
+    my $ret = eval 'require XML::Parser';
+    if(!$ret) {
+        die "You must have XML::Parser installed to run $0\n\n";
+    }
+    my $xp = new XML::Parser(Style => 'Tree');
+    $xp->setHandlers(Char => \&intltool_tree_char);
+    $xp->setHandlers(Start => \&intltool_tree_start);
+    $xp->setHandlers(CdataStart => \&intltool_tree_cdatastart);
+    $xp->setHandlers(CdataEnd => \&intltool_tree_cdataend);
+
+    ## differences from intltool-merge.in.in
+    $xp->setHandlers(Comment => \&intltool_tree_comment);
+    ## differences end here from intltool-merge.in.in
+
+    my $tree = $xp->parse($xmldoc);
+
+# <foo><!-- comment --><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
+# would be:
+# [foo, [{}, 1, "comment", head, [{id => "a"}, 0, "Hello ",  em, [{}, 0, "there"]], bar, 
+# [{}, 0, "Howdy",  ref, [{}]], 0, "do" ] ]
+
+    return $tree;
+}
+
+sub type_schemas {
+    ### For schemas XML files ###
+
+    # FIXME: We should handle escaped < (less than)
+    while ($input =~ /
+                      <locale\ name="C">\s*
+                          (<default>\s*(?:<!--([^>]*?)-->\s*)?(.*?)\s*<\/default>\s*)?
+                          (<short>\s*(?:<!--([^>]*?)-->\s*)?(.*?)\s*<\/short>\s*)?
+                          (<long>\s*(?:<!--([^>]*?)-->\s*)?(.*?)\s*<\/long>\s*)?
+                      <\/locale>
+                     /sgx) {
+        my @totranslate = ($3,$6,$9);
+        my @eachcomment = ($2,$5,$8);
+        foreach (@totranslate) {
+            my $currentcomment = shift @eachcomment;
+            next if !$_;
+            s/\s+/ /g;
+            add_message(entity_decode_minimal($_));
+            $comments{entity_decode_minimal($_)} = $currentcomment if (defined($currentcomment));
+        }
+    }
+}
+
+# Parse the tree as returned by readXml() for gschema.xml files.
+sub traverse_gsettings {
+    sub cleanup {
+        s/^\s+//;
+        s/\s+$//;
+        s/\s+/ /g;
+        return $_;
+    }
+
+    my $nodename = shift;
+    my $content = shift;
+    my $comment = shift || 0;
+    my @list = @{ $content };
+    my $attrs_ref = shift @list;
+    my %attrs = %{ $attrs_ref };
+    if (($nodename eq 'default' and $attrs{'l10n'}) or
+        ($nodename eq 'summary') or ($nodename eq 'description')) {
+        # preserve whitespace.  deal with it ourselves, below.
+        my $message = getXMLstring($content, 1);
+
+        if ($nodename eq 'default') {
+            # for <default> we strip leading and trailing whitespace but
+            # preserve (possibly quoted) whitespace within
+            $message =~ s/^\s+//;
+            $message =~ s/\s+$//;
+        } else {
+            # for <summary> and <description>, we normalise all
+            # whitespace while preserving paragraph boundaries
+            $message = join "\n\n", map &cleanup, split/\n\s*\n+/, $message;
+        }
+
+        my $context = $attrs{'context'};
+        $context =~ s/^["'](.*)["']/$1/ if $context;
+        $message = $context . "\004" . $message if $context;
+        add_message($message);
+        $comments{$message} = $comment if $comment;
+    } else {
+        my $index = 0;
+        my $comment;
+        while (scalar(@list) > 1) {
+            my $type = shift @list;
+            my $content = shift @list;
+            if (!$type || "$type" eq "1") {
+                if ($type == 1) {
+                    $comment = $content;
+                }
+                next;
+            } else {
+                traverse_gsettings($type, $content, $comment);
+                $comment = 0;
+            }
+        }
+    }
+}
+
+sub type_gsettings {
+    my $tree = readXml($input);
+    my @tree_nodes = @{ $tree };
+    my $node = shift @tree_nodes;
+    while (!$node || "$node" eq "1") {
+        shift @tree_nodes;
+        $node = shift @tree_nodes;
+    }
+    my $content = shift @tree_nodes;
+    traverse_gsettings($node, $content);
+}
+
+sub type_rfc822deb {
+    ### For rfc822-style Debian configuration files ###
+
+    my $lineno = 1;
+    my $type = '';
+    while ($input =~ /\G(.*?)(^|\n)(_+)([^:]+):[ \t]*(.*?)(?=\n\S|$)/sg)
+    {
+        my ($pre, $newline, $underscore, $tag, $text) = ($1, $2, $3, $4, $5);
+        while ($pre =~ m/\n/g)
+        {
+            $lineno ++;
+        }
+        $lineno += length($newline);
+        my @str_list = rfc822deb_split(length($underscore), $text);
+        for my $str (@str_list)
+        {
+            $strcount++;
+            add_message($str);
+            $loc{$str} = $lineno;
+            $count{$str} = $strcount;
+            my $usercomment = '';
+            while($pre =~ s/(^|\n)#([^\n]*)$//s)
+            {
+                $usercomment = "\n" . $2 . $usercomment;
+            }
+            $comments{$str} = $tag . $usercomment;
+        }
+        $lineno += ($text =~ s/\n//g);
+    }
+}
+
+sub rfc822deb_split {
+    # Debian defines a special way to deal with rfc822-style files:
+    # when a value contain newlines, it consists of
+    #   1.  a short form (first line)
+    #   2.  a long description, all lines begin with a space,
+    #       and paragraphs are separated by a single dot on a line
+    # This routine returns an array of all paragraphs, and reformat
+    # them.
+    # When first argument is 2, the string is a comma separated list of
+    # values.
+    my $type = shift;
+    my $text = shift;
+    $text =~ s/^[ \t]//mg;
+    return (split(/, */, $text, 0)) if $type ne 1;
+    return ($text) if $text !~ /\n/;
+
+    $text =~ s/([^\n]*)\n//;
+    my @list = ($1);
+    my $str = '';
+    for my $line (split (/\n/, $text))
+    {
+        chomp $line;
+        if ($line =~ /^\.\s*$/)
+        {
+            #  New paragraph
+            $str =~ s/\s*$//;
+            push(@list, $str);
+            $str = '';
+        }
+        elsif ($line =~ /^\s/)
+        {
+            #  Line which must not be reformatted
+            $str .= "\n" if length ($str) && $str !~ /\n$/;
+            $line =~ s/\s+$//;
+            $str .= $line."\n";
+        }
+        else
+        {
+            #  Continuation line, remove newline
+            $str .= " " if length ($str) && $str !~ /\n$/;
+            $str .= $line;
+        }
+    }
+    $str =~ s/\s*$//;
+    push(@list, $str) if length ($str);
+    return @list;
+}
+
+sub type_quoted {
+    while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) {
+        my $message = $1;
+        my $before = $`;
+        $message =~ s/\\\"/\"/g;
+        $before =~ s/[^\n]//g;
+        add_message($message);
+        $loc{$message} = length ($before) + 2;
+    }
+}
+
+sub type_quotedxml {
+    while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) {
+        my $message = $1;
+        my $before = $`;
+        $message =~ s/\\\"/\"/g;
+        $message = entity_decode($message);
+        $before =~ s/[^\n]//g;
+        add_message($message);
+        $loc{$message} = length ($before) + 2;
+    }
+}
+
+sub type_glade {
+    ### For translatable Glade XML files ###
+
+    my $tags = "label|title|text|format|copyright|comments|preview_text|tooltip|message";
+
+    while ($input =~ /<($tags)>([^<]+)<\/($tags)>/sg) {
+       # Glade sometimes uses tags that normally mark translatable things for
+        # little bits of non-translatable content. We work around this by not
+        # translating strings that only includes something like label4 or window1.
+       add_message(entity_decode($2)) unless $2 =~ /^(window|label|dialog)[0-9]+$/;
+    }
+
+    while ($input =~ /<items>(..[^<]*)<\/items>/sg) {
+       for my $item (split (/\n/, $1)) {
+            add_message(entity_decode($item));
+       }
+    }
+
+    ## handle new glade files
+    while ($input =~ /<(\w+)\s+[^>]*translatable\s*=\s*"yes"(?:\s+[^>]*context\s*=\s*"([^"]*)")?(?:\s+[^>]*comments\s*=\s*"([^"]*)")?[^>]*>([^<]+)<\/\1>/sg) {
+        if (!($4 =~ /^(window|label)[0-9]+$/)) {
+            my $message = entity_decode($4);
+            if (defined($2)) {
+                $message = entity_decode($2) . "\004" . $message;
+            }
+            add_message($message);
+            if (defined($3)) {
+                $comments{$message} = entity_decode($3) ;
+            }
+        }
+    }
+    while ($input =~ /<atkaction\s+action_name="([^>]*)"\s+description="([^>]+)"\/>/sg) {
+        add_message(entity_decode_minimal($2));
+    }
+}
+
+sub type_tlk {
+    my ($ftype, $fvers, $langid, $strcount, $stroff);
+    my $count = 0;
+    my $pos = 0;
+    my @inputa = split (//, $input, 21);
+    my $foo;
+    my $strdata;
+
+    $ftype = substr ($input, 0, 3);
+    $fvers = substr ($input, 4, 7);
+    $langid = unpack ("L", $inputa[8] . $inputa[9] .
+                      $inputa[10] . $inputa[11]);
+    $strcount = unpack ("L", $inputa[12] . $inputa[13] .
+                        $inputa[14] . $inputa[15]);
+    $stroff = unpack ("L", $inputa[16] . $inputa[17] .
+                      $inputa[18] . $inputa[19]);
+
+    use bytes;
+    $strdata = bytes::substr ($input, $stroff);
+
+    my $sinpos = 20;
+
+    $foo = $inputa[$sinpos];
+    $sinpos = 40 * 2000;
+    @inputa = split (//, $foo, $sinpos + 1);
+
+    $pos = 0;
+    while ($count < $strcount) {
+        my ($flags, $soundref, $volvar, $pitch, $offset, $strsize, $sndlen) = 0;
+
+        if ($count > 0 && $count % 2000 == 0) {
+            $foo = $inputa[$sinpos];
+            my $numleft = ($strcount - $count);
+            if ($numleft > 2000) {
+                $sinpos = 40 * 2000;
+            } else {
+                $sinpos = 40 * $numleft;
+            }
+            @inputa = split (//, $foo, $sinpos + 1);
+            my $numbytes = @inputa;
+            $pos = 0;
+        }
+
+
+        $flags = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] .
+                         $inputa[$pos + 2] . $inputa[$pos + 3]);
+        $pos += 4;
+        if ($flags & 0x0002) {
+            $soundref = join ('', @inputa[$pos..$pos + 15]);
+            $soundref =~ s/\0//g;
+        }
+        $pos += 16;
+# According to the Bioware Aurora Talk Table Format documentation
+# the VolumeVariance and PitchVariance DWORDs are not used
+# We increment the pos counter, but do not read the data, here
+#        $volvar = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] .
+#                          $inputa[$pos + 2] . $inputa[$pos + 3]);
+        $pos += 4;
+#        $pitch = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] .
+#                         $inputa[$pos + 2] . $inputa[$pos + 3]);
+        $pos += 4;
+        $offset = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] .
+                          $inputa[$pos + 2] . $inputa[$pos + 3])
+            if ($flags & 0x0001);
+        $pos += 4;
+        $strsize = unpack ("L", $inputa[$pos] . $inputa[$pos + 1] .
+                           $inputa[$pos + 2] . $inputa[$pos + 3])
+            if ($flags & 0x0001);
+        $pos += 4;
+        $sndlen = unpack ("d", $inputa[$pos] . $inputa[$pos + 1] .
+                          $inputa[$pos + 2] . $inputa[$pos + 3])
+            if ($flags & 0x0004);
+        $pos += 4;
+
+        if (defined $strsize && $strsize > 0) {
+            my $message = substr ($strdata, $offset, $strsize);
+            if (defined $message) {
+                use Encode;
+                Encode::from_to ($message, "iso-8859-1", "UTF-8");
+                add_message($message);
+                if ($message =~ /^Bad Strref$/ ) {
+                    $comments{$message} = "DO NOT Translate this Entry.";
+                    $comments{$message} .= "\nTLK:position=$count";
+               } else {
+                    $comments{$message} = "TLK:position=$count";
+                    $comments{$message} .= "; TLK:sndresref=$soundref"
+                        if (defined $soundref && $soundref ne "");
+                    $comments{$message} .= "; TLK:sndlen=$sndlen"
+                        if (defined $sndlen && $sndlen != 0);
+                }
+            } else {
+                print STDERR "Missing message? ID: $count\n";
+            }
+        }
+        $count++;
+    }
+}
+
+sub msg_write {
+    my @msgids;
+    if (%count)
+    {
+        @msgids = sort { $count{$a} <=> $count{$b} } keys %count;
+    }
+    else
+    {
+        @msgids = @messages_sorted;
+    }
+    for my $message (@msgids)
+    {
+       my $offsetlines = 1;
+       my $context = undef;
+       $offsetlines++ if $message =~ /%/;
+       if (defined ($comments{$message}))
+       {
+               while ($comments{$message} =~ m/\n/g)
+               {
+                   $offsetlines++;
+               }
+       }
+       print OUT "# ".($loc{$message} - $offsetlines).  " \"$FILE\"\n"
+               if defined $loc{$message};
+       print OUT "/* ".$comments{$message}." */\n"
+                if defined $comments{$message};
+       print OUT "/* xgettext:no-c-format */\n" if $message =~ /%/;
+
+       if ($message =~ /(.*)\004(.*)/s) {
+           $context = $1;
+           $message = $2;
+       }
+       my @lines = split (/\n/, $message, -1);
+       for (my $n = 0; $n < @lines; $n++)
+       {
+            if ($n == 0)
+            {
+                if (defined $context)
+                {
+                     if ($NOMSGCTXT_ARG)
+                     {
+                          print OUT "char *s = N_(\"", $context, "|"; 
+                     }
+                     else
+                     {
+                         print OUT "char *s = C_(\"", $context, "\", \""; 
+                     }
+                }
+                else
+                {
+                    print OUT "char *s = N_(\""; 
+                }
+            }
+            else
+            {  
+                print OUT "             \""; 
+            }
+
+            print OUT escape($lines[$n]);
+
+            if ($n < @lines - 1)
+            {
+                print OUT "\\n\"\n"; 
+            }
+            else
+            {
+                print OUT "\");\n";  
+           }
+        }
+    }
+}
+
diff --git a/intltool-merge.in b/intltool-merge.in
new file mode 100644 (file)
index 0000000..1afa2a4
--- /dev/null
@@ -0,0 +1,1510 @@
+#!@INTLTOOL_PERL@ -w
+# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4  -*-
+
+#
+#  The Intltool Message Merger
+#
+#  Copyright (C) 2000, 2003 Free Software Foundation.
+#  Copyright (C) 2000, 2001 Eazel, Inc
+#
+#  Intltool is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License 
+#  version 2 published by the Free Software Foundation.
+#
+#  Intltool is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR 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., 675 Mass Ave, Cambridge, MA 02139, 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.
+#
+#  Authors:  Maciej Stachowiak <mjs@noisehavoc.org>
+#            Kenneth Christiansen <kenneth@gnu.org>
+#            Darin Adler <darin@bentspoon.com>
+#
+#  Proper XML UTF-8'ification written by Cyrille Chepelov <chepelov@calixo.net>
+#
+
+## Release information
+my $PROGRAM = "intltool-merge";
+my $PACKAGE = "@PACKAGE@";
+my $VERSION = "@VERSION@";
+
+## Loaded modules
+use strict; 
+use Getopt::Long;
+use Text::Wrap;
+use File::Basename;
+use Encode;
+
+my $must_end_tag      = -1;
+my $last_depth        = -1;
+my $translation_depth = -1;
+my @tag_stack = ();
+my @entered_tag = ();
+my @translation_strings = ();
+my $leading_space = "";
+
+## Scalars used by the option stuff
+my $HELP_ARG = 0;
+my $VERSION_ARG = 0;
+my $BA_STYLE_ARG = 0;
+my $XML_STYLE_ARG = 0;
+my $KEYS_STYLE_ARG = 0;
+my $DESKTOP_STYLE_ARG = 0;
+my $SCHEMAS_STYLE_ARG = 0;
+my $RFC822DEB_STYLE_ARG = 0;
+my $QUOTED_STYLE_ARG = 0;
+my $QUOTEDXML_STYLE_ARG = 0;
+my $QUIET_ARG = 0;
+my $PASS_THROUGH_ARG = 0;
+my $UTF8_ARG = 0;
+my $MULTIPLE_OUTPUT = 0;
+my $NO_TRANSLATIONS_ARG = 0;
+my $cache_file;
+
+## Handle options
+GetOptions 
+(
+ "help" => \$HELP_ARG,
+ "version" => \$VERSION_ARG,
+ "quiet|q" => \$QUIET_ARG,
+ "oaf-style|o" => \$BA_STYLE_ARG, ## for compatibility
+ "ba-style|b" => \$BA_STYLE_ARG,
+ "xml-style|x" => \$XML_STYLE_ARG,
+ "keys-style|k" => \$KEYS_STYLE_ARG,
+ "desktop-style|d" => \$DESKTOP_STYLE_ARG,
+ "schemas-style|s" => \$SCHEMAS_STYLE_ARG,
+ "rfc822deb-style|r" => \$RFC822DEB_STYLE_ARG,
+ "quoted-style" => \$QUOTED_STYLE_ARG,
+ "quotedxml-style" => \$QUOTEDXML_STYLE_ARG,
+ "pass-through|p" => \$PASS_THROUGH_ARG,
+ "utf8|u" => \$UTF8_ARG,
+ "multiple-output|m" => \$MULTIPLE_OUTPUT,
+ "no-translations" => \$NO_TRANSLATIONS_ARG,
+ "cache|c=s" => \$cache_file
+ ) or &error;
+
+my $PO_DIR;
+my $FILE;
+my $OUTFILE;
+
+my %po_files_by_lang = ();
+my %translations = ();
+
+# Use this instead of \w for XML files to handle more possible characters.
+my $w = "[-A-Za-z0-9._:]";
+
+# XML quoted string contents
+my $q = "[^\\\"]*";
+
+## Check for options. 
+
+if ($VERSION_ARG) 
+{
+       &print_version;
+} 
+elsif ($HELP_ARG) 
+{
+       &print_help;
+} 
+elsif ($BA_STYLE_ARG && @ARGV > 2) 
+{
+       &utf8_sanity_check;
+       &preparation;
+       &print_message;
+       &ba_merge_translations;
+       &finalize;
+} 
+elsif ($XML_STYLE_ARG && (@ARGV > 2 || ($NO_TRANSLATIONS_ARG && @ARGV > 1))) 
+{
+       &utf8_sanity_check;
+       &preparation;
+       &print_message;
+       &xml_merge_output;
+       &finalize;
+} 
+elsif ($KEYS_STYLE_ARG && @ARGV > 2) 
+{
+       &utf8_sanity_check;
+       &preparation;
+       &print_message;
+        &keys_merge_translations;
+       &finalize;
+} 
+elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) 
+{
+       &utf8_sanity_check;
+       &preparation;
+       &print_message;
+       &desktop_merge_translations;
+       &finalize;
+} 
+elsif ($SCHEMAS_STYLE_ARG && @ARGV > 2) 
+{
+       &utf8_sanity_check;
+       &preparation;
+       &print_message;
+       &schemas_merge_translations;
+       &finalize;
+} 
+elsif ($RFC822DEB_STYLE_ARG && @ARGV > 2) 
+{
+       &preparation;
+       &print_message;
+       &rfc822deb_merge_translations;
+       &finalize;
+} 
+elsif (($QUOTED_STYLE_ARG || $QUOTEDXML_STYLE_ARG) && @ARGV > 2)
+{
+       &utf8_sanity_check;
+       &preparation;
+       &print_message;
+       &quoted_merge_translations($QUOTEDXML_STYLE_ARG);
+       &finalize;
+} 
+else 
+{
+       &print_help;
+}
+
+exit;
+
+## Sub for printing release information
+sub print_version
+{
+    print <<_EOF_;
+${PROGRAM} (${PACKAGE}) ${VERSION}
+Written by Maciej Stachowiak, Darin Adler and Kenneth Christiansen.
+
+Copyright (C) 2000-2003 Free Software Foundation, Inc.
+Copyright (C) 2000-2001 Eazel, 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_
+    exit;
+}
+
+## Sub for printing usage information
+sub print_help
+{
+    print <<_EOF_;
+Usage: ${PROGRAM} [OPTION]... PO_DIRECTORY FILENAME OUTPUT_FILE
+Generates an output file that includes some localized attributes from an
+untranslated source file.
+
+Mandatory options: (exactly one must be specified)
+  -b, --ba-style         includes translations in the bonobo-activation style
+  -d, --desktop-style    includes translations in the desktop style
+  -k, --keys-style       includes translations in the keys style
+  -s, --schemas-style    includes translations in the schemas style
+  -r, --rfc822deb-style  includes translations in the RFC822 style
+      --quoted-style     includes translations in the quoted string style
+      --quotedxml-style  includes translations in the quoted xml string style
+  -x, --xml-style        includes translations in the standard xml style
+
+Other options:
+  -u, --utf8             convert all strings to UTF-8 before merging 
+                         (default for everything except RFC822 style)
+  -p, --pass-through     deprecated, does nothing and issues a warning
+  -m, --multiple-output  output one localized file per locale, instead of 
+                        a single file containing all localized elements
+      --no-translations  do not merge any translations: only generates the
+                         unlocalised (English) version -- applies only
+                         to XML merging
+  -c, --cache=FILE       specify cache file name
+                         (usually \$top_builddir/po/.intltool-merge-cache)
+  -q, --quiet            suppress most messages
+      --help             display this help and exit
+      --version          output version information and exit
+
+Report bugs to http://bugs.launchpad.net/intltool
+_EOF_
+    exit;
+}
+
+
+## Sub for printing error messages
+sub print_error
+{
+    print STDERR "Try `${PROGRAM} --help' for more information.\n";
+    exit;
+}
+
+
+sub print_message 
+{
+    print "Merging translations into $OUTFILE.\n" unless $QUIET_ARG;
+}
+
+
+sub preparation 
+{
+    if (!$XML_STYLE_ARG || !$NO_TRANSLATIONS_ARG) {
+        $PO_DIR = $ARGV[0];
+        $FILE = $ARGV[1];
+        $OUTFILE = $ARGV[2];
+
+        &gather_po_files;
+        &get_translation_database;
+    } else {
+        $FILE = $ARGV[0];
+        $OUTFILE = $ARGV[1];
+    }
+}
+
+# General-purpose code for looking up translations in .po files
+
+sub po_file2lang
+{
+    my ($tmp) = @_; 
+    $tmp =~ s/^.*\/(.*)\.po$/$1/; 
+    return $tmp; 
+}
+
+sub gather_po_files
+{
+    if (my $linguas = $ENV{"LINGUAS"})
+    {
+        for my $lang (split / /, $linguas) {
+            my $po_file = $PO_DIR . "/" . $lang . ".po";
+            if (-e $po_file) {
+                $po_files_by_lang{$lang} = $po_file;
+            }
+        }
+    }
+    else
+    {
+        if (open LINGUAS_FILE, "$PO_DIR/LINGUAS")
+        {
+            while (<LINGUAS_FILE>)
+            {
+                next if /^#/;
+
+                for my $lang (split)
+                {
+                    chomp ($lang);
+                    my $po_file = $PO_DIR . "/" . $lang . ".po";
+                    if (-e $po_file) {
+                        $po_files_by_lang{$lang} = $po_file;
+                    }
+                }
+            }
+
+            close LINGUAS_FILE;
+        }
+        else
+        {
+            for my $po_file (glob "$PO_DIR/*.po") {
+                $po_files_by_lang{po_file2lang($po_file)} = $po_file;
+            }
+        }
+    }
+}
+
+sub get_po_encoding
+{
+    my ($in_po_file) = @_;
+    my $encoding = "";
+
+    open IN_PO_FILE, $in_po_file or die;
+    while (<IN_PO_FILE>) 
+    {
+        ## example: "Content-Type: text/plain; charset=ISO-8859-1\n"
+        if (/Content-Type\:.*charset=([-a-zA-Z0-9]+)\\n/) 
+        {
+            $encoding = $1; 
+            last;
+        }
+    }
+    close IN_PO_FILE;
+
+    if (!$encoding) 
+    {
+        print STDERR "Warning: no encoding found in $in_po_file. Assuming ISO-8859-1\n" unless $QUIET_ARG;
+        $encoding = "ISO-8859-1";
+    }
+
+    return $encoding
+}
+
+sub utf8_sanity_check 
+{
+    print STDERR "Warning: option --pass-through has been removed.\n" if $PASS_THROUGH_ARG;
+    $UTF8_ARG = 1;
+}
+
+sub get_translation_database
+{
+    if ($cache_file) {
+       &get_cached_translation_database;
+    } else {
+        &create_translation_database;
+    }
+}
+
+sub get_newest_po_age
+{
+    my $newest_age;
+
+    foreach my $file (values %po_files_by_lang) 
+    {
+       my $file_age = -M $file;
+       $newest_age = $file_age if !$newest_age || $file_age < $newest_age;
+    }
+
+    $newest_age = 0 if !$newest_age;
+
+    return $newest_age;
+}
+
+sub create_cache
+{
+    print "Generating and caching the translation database\n" unless $QUIET_ARG;
+
+    &create_translation_database;
+
+    open CACHE, ">$cache_file" || die;
+    print CACHE join "\x01", %translations;
+    close CACHE;
+}
+
+sub load_cache 
+{
+    print "Found cached translation database\n" unless $QUIET_ARG;
+
+    my $contents;
+    open CACHE, "<$cache_file" || die;
+    {
+        local $/;
+        $contents = <CACHE>;
+    }
+    close CACHE;
+    %translations = split "\x01", $contents;
+}
+
+sub get_cached_translation_database
+{
+    my $cache_file_age = -M $cache_file;
+    if (defined $cache_file_age) 
+    {
+        if ($cache_file_age <= &get_newest_po_age) 
+        {
+            &load_cache;
+            return;
+        }
+        print "Found too-old cached translation database\n" unless $QUIET_ARG;
+    }
+
+    &create_cache;
+}
+
+sub add_translation
+{
+    my ($lang, $encoding, $msgctxt, $msgid, $msgstr) = @_;
+
+    return if !($msgid && $msgstr);
+
+    if ($msgctxt) {
+       $msgid = "$msgctxt\004$msgid";
+    }
+    if (uc $encoding ne "UTF-8") {
+        Encode::from_to ($msgid, $encoding, "UTF-8");
+        Encode::from_to ($msgstr, $encoding, "UTF-8");
+    }
+    $translations{$lang, $msgid} = $msgstr;
+}
+
+sub create_translation_database
+{
+    for my $lang (keys %po_files_by_lang) 
+    {
+       my $po_file = $po_files_by_lang{$lang};
+        my $encoding = "UTF-8";
+
+        if ($UTF8_ARG) 
+        {
+            $encoding = get_po_encoding ($po_file);
+            if (uc $encoding ne "UTF-8") {
+                print "NOTICE: $po_file is not in UTF-8 but $encoding, converting...\n" unless $QUIET_ARG;;
+            }
+        }
+        open PO_FILE, "<$po_file";     
+
+       my $nextfuzzy = 0;
+       my $inmsgctxt = 0;
+       my $inmsgid = 0;
+       my $inmsgstr = 0;
+       my $msgctxt = "";
+       my $msgid = "";
+       my $msgstr = "";
+
+        while (<PO_FILE>) 
+        {
+           $nextfuzzy = 1 if /^#, fuzzy/;
+       
+           if (/^msgctxt "((\\.|[^\\]+)*)"/ ) 
+            {
+               if ($inmsgstr) {
+                   add_translation ($lang, $encoding,
+                                     $msgctxt, $msgid, $msgstr);
+                   $msgctxt = "";
+                   $msgid = "";
+                   $msgstr = "";
+               }
+
+               $msgctxt = unescape_po_string($1);
+               $inmsgctxt = 1;
+               $inmsgid = 0;
+               $inmsgstr = 0;
+           }
+
+           if (/^msgid "((\\.|[^\\]+)*)"/ ) 
+            {
+               if ($inmsgstr) {
+                    add_translation ($lang, $encoding,
+                                     $msgctxt, $msgid, $msgstr);
+                   $msgctxt = "";
+                   $msgid = "";
+                   $msgstr = "";
+               }
+
+               if ($nextfuzzy) {
+                   $inmsgid = 0;
+                   $nextfuzzy = 0;
+               } else {
+                   $msgid = unescape_po_string($1);
+                   $inmsgid = 1;
+               }
+               $inmsgctxt = 0;
+               $inmsgstr = 0;
+           }
+
+           if (/^msgstr "((\\.|[^\\]+)*)"/) 
+            {
+               $msgstr = unescape_po_string($1);
+               $inmsgstr = 1;
+               $inmsgctxt = 0;
+               $inmsgid = 0;
+           }
+
+           if (/^"((\\.|[^\\]+)*)"/) 
+            {
+               $msgctxt .= unescape_po_string($1) if $inmsgctxt;
+               $msgid .= unescape_po_string($1) if $inmsgid;
+               $msgstr .= unescape_po_string($1) if $inmsgstr;
+           }
+       }
+        add_translation ($lang, $encoding, $msgctxt, $msgid, $msgstr)
+            if ($inmsgstr);
+    }
+}
+
+sub finalize
+{
+}
+
+sub unescape_one_sequence
+{
+    my ($sequence) = @_;
+
+    return "\\" if $sequence eq "\\\\";
+    return "\"" if $sequence eq "\\\"";
+    return "\n" if $sequence eq "\\n";
+    return "\r" if $sequence eq "\\r";
+    return "\t" if $sequence eq "\\t";
+    return "\b" if $sequence eq "\\b";
+    return "\f" if $sequence eq "\\f";
+    return "\a" if $sequence eq "\\a";
+    return chr(11) if $sequence eq "\\v"; # vertical tab, see ascii(7)
+
+    return chr(hex($1)) if ($sequence =~ /\\x([0-9a-fA-F]{2})/);
+    return chr(oct($1)) if ($sequence =~ /\\([0-7]{3})/);
+
+    # FIXME: Is \0 supported as well? Kenneth and Rodney don't want it, see bug #48489
+
+    return $sequence;
+}
+
+sub unescape_po_string
+{
+    my ($string) = @_;
+
+    $string =~ s/(\\x[0-9a-fA-F]{2}|\\[0-7]{3}|\\.)/unescape_one_sequence($1)/eg;
+
+    return $string;
+}
+
+sub entity_decode
+{
+    local ($_) = @_;
+
+    s/&apos;/'/g; # '
+    s/&quot;/"/g; # "
+    s/&lt;/</g;
+    s/&gt;/>/g;
+    s/&amp;/&/g;
+
+    return $_;
+}
+# entity_encode: (string)
+#
+# Encode the given string to XML format (encode '<' etc).
+
+sub entity_encode
+{
+    my ($pre_encoded) = @_;
+
+    my @list_of_chars = unpack ('C*', $pre_encoded);
+
+    # with UTF-8 we only encode minimalistic
+    return join ('', map (&entity_encode_int_minimalist, @list_of_chars));
+}
+
+sub entity_encode_int_minimalist
+{
+    return "&quot;" if $_ == 34;
+    return "&amp;" if $_ == 38;
+    return "&apos;" if $_ == 39;
+    return "&lt;" if $_ == 60;
+    return "&gt;" if $_ == 62;
+    return chr $_;
+}
+
+sub entity_encoded_translation
+{
+    my ($lang, $string) = @_;
+
+    my $translation = $translations{$lang, $string};
+    return $string if !$translation;
+    return entity_encode ($translation);
+}
+
+## XML (bonobo-activation specific) merge code
+
+sub ba_merge_translations
+{
+    my $source;
+
+    {
+       local $/; # slurp mode
+       open INPUT, "<$FILE" or die "can't open $FILE: $!";
+       $source = <INPUT>;
+       close INPUT;
+    }
+
+    open OUTPUT, ">$OUTFILE" or die "can't open $OUTFILE: $!";
+    # Binmode so that selftest works ok if using a native Win32 Perl...
+    binmode (OUTPUT) if $^O eq 'MSWin32';
+
+    while ($source =~ s|^(.*?)([ \t]*<\s*$w+\s+($w+\s*=\s*"$q"\s*)+/?>)([ \t]*\n)?||s) 
+    {
+        print OUTPUT $1;
+
+        my $node = $2 . "\n";
+
+        my @strings = ();
+        $_ = $node;
+       while (s/(\s)_($w+\s*=\s*"($q)")/$1$2/s) {
+             push @strings, entity_decode($3);
+        }
+       print OUTPUT;
+
+       my %langs;
+       for my $string (@strings) 
+        {
+           for my $lang (keys %po_files_by_lang) 
+            {
+                $langs{$lang} = 1 if $translations{$lang, $string};
+           }
+       }
+       
+       for my $lang (sort keys %langs) 
+        {
+           $_ = $node;
+           s/(\sname\s*=\s*)"($q)"/$1"$2-$lang"/s;
+           s/(\s)_($w+\s*=\s*")($q)"/$1 . $2 . entity_encoded_translation($lang, $3) . '"'/seg;
+           print OUTPUT;
+        }
+    }
+
+    print OUTPUT $source;
+
+    close OUTPUT;
+}
+
+
+## XML (non-bonobo-activation) merge code
+
+
+# Process tag attributes
+#   Only parameter is a HASH containing attributes -> values mapping
+sub getAttributeString
+{
+    my $sub = shift;
+    my $do_translate = shift || 0;
+    my $language = shift || "";
+    my $result = "";
+    my $translate = shift;
+    foreach my $e (reverse(sort(keys %{ $sub }))) {
+       my $key    = $e;
+       my $string = $sub->{$e};
+       my $quote = '"';
+       
+       $string =~ s/^[\s]+//;
+       $string =~ s/[\s]+$//;
+       
+       if ($string =~ /^'.*'$/)
+       {
+           $quote = "'";
+       }
+       $string =~ s/^['"]//g;
+       $string =~ s/['"]$//g;
+
+       if ($do_translate && $key =~ /^_/) {
+           $key =~ s|^_||g;
+           if ($language) {
+               # Handle translation
+               my $decode_string = entity_decode($string);
+               my $translation = $translations{$language, $decode_string};
+               if ($translation) {
+                   $translation = entity_encode($translation);
+                   $string = $translation;
+                }
+                $$translate = 2;
+            } else {
+                 $$translate = 2 if ($translate && (!$$translate)); # watch not to "overwrite" $translate
+            }
+       }
+       
+       $result .= " $key=$quote$string$quote";
+    }
+    return $result;
+}
+
+# Returns a translatable string from XML node, it works on contents of every node in XML::Parser tree
+sub getXMLstring
+{
+    my $ref = shift;
+    my $spacepreserve = shift || 0;
+    my @list = @{ $ref };
+    my $result = "";
+
+    my $count = scalar(@list);
+    my $attrs = $list[0];
+    my $index = 1;
+
+    $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/));
+    $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/));
+
+    while ($index < $count) {
+       my $type = $list[$index];
+       my $content = $list[$index+1];
+        if (! $type ) {
+           # We've got CDATA
+           if ($content) {
+               # lets strip the whitespace here, and *ONLY* here
+                $content =~ s/\s+/ /gs if (!$spacepreserve);
+               $result .= $content;
+           }
+       } elsif ( "$type" ne "1" ) {
+           # We've got another element
+           $result .= "<$type";
+           $result .= getAttributeString(@{$content}[0], 0); # no nested translatable elements
+           if ($content) {
+               my $subresult = getXMLstring($content, $spacepreserve);
+               if ($subresult) {
+                   $result .= ">".$subresult . "</$type>";
+               } else {
+                   $result .= "/>";
+               }
+           } else {
+               $result .= "/>";
+           }
+       }
+       $index += 2;
+    }
+    return $result;
+}
+
+# Translate list of nodes if necessary
+sub translate_subnodes
+{
+    my $fh = shift;
+    my $content = shift;
+    my $language = shift || "";
+    my $singlelang = shift || 0;
+    my $spacepreserve = shift || 0;
+
+    my @nodes = @{ $content };
+
+    my $count = scalar(@nodes);
+    my $index = 0;
+    while ($index < $count) {
+        my $type = $nodes[$index];
+        my $rest = $nodes[$index+1];
+        if ($singlelang) {
+            my $oldMO = $MULTIPLE_OUTPUT;
+            $MULTIPLE_OUTPUT = 1;
+            traverse($fh, $type, $rest, $language, $spacepreserve);
+            $MULTIPLE_OUTPUT = $oldMO;
+        } else {
+            traverse($fh, $type, $rest, $language, $spacepreserve);
+        }
+        $index += 2;
+    }
+}
+
+sub isWellFormedXmlFragment
+{
+    my $ret = eval 'require XML::Parser';
+    if(!$ret) {
+        die "You must have XML::Parser installed to run $0\n\n";
+    } 
+
+    my $fragment = shift;
+    return 0 if (!$fragment);
+
+    $fragment = "<root>$fragment</root>";
+    my $xp = new XML::Parser(Style => 'Tree');
+    my $tree = 0;
+    eval { $tree = $xp->parse($fragment); };
+    return $tree;
+}
+
+sub traverse
+{
+    my $fh = shift; 
+    my $nodename = shift;
+    my $content = shift;
+    my $language = shift || "";
+    my $spacepreserve = shift || 0;
+
+    if (!$nodename) {
+       if ($content =~ /^[\s]*$/) {
+           $leading_space .= $content;
+       }
+       print $fh $content;
+    } else {
+       # element
+       my @all = @{ $content };
+       my $attrs = shift @all;
+       my $translate = 0;
+       my $outattr = getAttributeString($attrs, 1, $language, \$translate);
+
+       if ($nodename =~ /^_/) {
+           $translate = 1;
+           $nodename =~ s/^_//;
+       }
+       my $lookup = '';
+
+        $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/));
+        $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/));
+
+       print $fh "<$nodename", $outattr;
+       if ($translate) {
+           $content = getXMLstring($content, $spacepreserve);
+            if (!$spacepreserve) {
+                $content =~ s/^\s+//s;
+                $content =~ s/\s+$//s;
+            }
+            if (exists $attrs->{"msgctxt"}) {
+                my $context = entity_decode ($attrs->{"msgctxt"});
+                $context =~ s/^["'](.*)["']/$1/;
+                $lookup = "$context\004$content";
+            } else {
+                $lookup = $content;
+            }
+
+           if ($lookup || $translate == 2) {
+                my $translation = $translations{$language, $lookup} if isWellFormedXmlFragment($translations{$language, $lookup});
+                if ($MULTIPLE_OUTPUT && ($translation || $translate == 2)) {
+                    $translation = $content if (!$translation);
+                    print $fh " xml:lang=\"", $language, "\"" if $language;
+                    print $fh ">";
+                    if ($translate == 2) {
+                        translate_subnodes($fh, \@all, $language, 1, $spacepreserve);
+                    } else {
+                        print $fh $translation;
+                    }
+                    print $fh "</$nodename>";
+
+                    return; # this means there will be no same translation with xml:lang="$language"...
+                            # if we want them both, just remove this "return"
+                } else {
+                    print $fh ">";
+                    if ($translate == 2) {
+                        translate_subnodes($fh, \@all, $language, 1, $spacepreserve);
+                    } else {
+                        print $fh $content;
+                    }
+                    print $fh "</$nodename>";
+                }
+           } else {
+               print $fh "/>";
+           }
+
+           for my $lang (sort keys %po_files_by_lang) {
+                    if ($MULTIPLE_OUTPUT && $lang ne "$language") {
+                        next;
+                    }
+                   if ($lang) {
+                        # Handle translation
+                        #
+                        my $translate = 0;
+                        my $localattrs = getAttributeString($attrs, 1, $lang, \$translate);
+                        my $translation = $translations{$lang, $lookup} if isWellFormedXmlFragment($translations{$lang, $lookup});
+                        if ($translate && !$translation) {
+                            $translation = $content;
+                        }
+
+                        if ($translation || $translate) {
+                           print $fh "\n";
+                           $leading_space =~ s/.*\n//g;
+                           print $fh $leading_space;
+                           print $fh "<", $nodename, " xml:lang=\"", $lang, "\"", $localattrs, ">";
+                            if ($translate == 2) {
+                               translate_subnodes($fh, \@all, $lang, 1, $spacepreserve);
+                            } else {
+                                print $fh $translation;
+                            }
+                            print $fh "</$nodename>";
+                       }
+                    }
+           }
+
+       } else {
+           my $count = scalar(@all);
+           if ($count > 0) {
+               print $fh ">";
+                my $index = 0;
+                while ($index < $count) {
+                    my $type = $all[$index];
+                    my $rest = $all[$index+1];
+                    traverse($fh, $type, $rest, $language, $spacepreserve);
+                    $index += 2;
+                }
+               print $fh "</$nodename>";
+           } else {
+               print $fh "/>";
+           }
+       }
+    }
+}
+
+sub intltool_tree_comment
+{
+    my $expat = shift;
+    my $data  = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    push @$clist, 1 => $data;
+}
+
+sub intltool_tree_cdatastart
+{
+    my $expat    = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    push @$clist, 0 => $expat->original_string();
+}
+
+sub intltool_tree_cdataend
+{
+    my $expat    = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    $clist->[$pos] .= $expat->original_string();
+}
+
+sub intltool_tree_char
+{
+    my $expat = shift;
+    my $text  = shift;
+    my $clist = $expat->{Curlist};
+    my $pos   = $#$clist;
+
+    # Use original_string so that we retain escaped entities
+    # in CDATA sections.
+    #
+    if ($pos > 0 and $clist->[$pos - 1] eq '0') {
+        $clist->[$pos] .= $expat->original_string();
+    } else {
+        push @$clist, 0 => $expat->original_string();
+    }
+}
+
+sub intltool_tree_start
+{
+    my $expat    = shift;
+    my $tag      = shift;
+    my @origlist = ();
+
+    # Use original_string so that we retain escaped entities
+    # in attribute values.  We must convert the string to an
+    # @origlist array to conform to the structure of the Tree
+    # Style.
+    #
+    my @original_array = split /\x/, $expat->original_string();
+    my $source         = $expat->original_string();
+
+    # Remove leading tag.
+    #
+    $source =~ s|^\s*<\s*(\S+)||s;
+
+    # Grab attribute key/value pairs and push onto @origlist array.
+    #
+    while ($source)
+    {
+       if ($source =~ /^\s*([\w:-]+)\s*[=]\s*["]/)
+       {
+           $source =~ s|^\s*([\w:-]+)\s*[=]\s*["]([^"]*)["]||s;
+           push @origlist, $1;
+           push @origlist, '"' . $2 . '"';
+       }
+       elsif ($source =~ /^\s*([\w:-]+)\s*[=]\s*[']/)
+       {
+           $source =~ s|^\s*([\w:-]+)\s*[=]\s*[']([^']*)[']||s;
+           push @origlist, $1;
+           push @origlist, "'" . $2 . "'";
+       }
+       else
+       {
+           last;
+       }
+    }
+
+    my $ol = [ { @origlist } ];
+
+    push @{ $expat->{Lists} }, $expat->{Curlist};
+    push @{ $expat->{Curlist} }, $tag => $ol;
+    $expat->{Curlist} = $ol;
+}
+
+sub readXml
+{
+    my $filename = shift || return;
+    if(!-f $filename) {
+        die "ERROR Cannot find filename: $filename\n";
+    }
+
+    my $ret = eval 'require XML::Parser';
+    if(!$ret) {
+        die "You must have XML::Parser installed to run $0\n\n";
+    } 
+    my $xp = new XML::Parser(Style => 'Tree');
+    $xp->setHandlers(Char => \&intltool_tree_char);
+    $xp->setHandlers(Start => \&intltool_tree_start);
+    $xp->setHandlers(CdataStart => \&intltool_tree_cdatastart);
+    $xp->setHandlers(CdataEnd => \&intltool_tree_cdataend);
+    my $tree = $xp->parsefile($filename);
+
+# <foo><head id="a">Hello <em>there</em></head><bar>Howdy<ref/></bar>do</foo>
+# would be:
+# [foo, [{}, head, [{id => "a"}, 0, "Hello ",  em, [{}, 0, "there"]], bar, [{},
+# 0, "Howdy",  ref, [{}]], 0, "do" ] ]
+
+    return $tree;
+}
+
+sub print_header
+{
+    my $infile = shift;
+    my $fh = shift;
+    my $source;
+
+    if(!-f $infile) {
+        die "ERROR Cannot find filename: $infile\n";
+    }
+
+    print $fh qq{<?xml version="1.0" encoding="UTF-8"?>\n};
+    {
+        local $/;
+        open DOCINPUT, "<${FILE}" or die;
+        $source = <DOCINPUT>;
+        close DOCINPUT;
+    }
+    if ($source =~ /(<!DOCTYPE.*\[.*\]\s*>)/s)
+    {
+        print $fh "$1\n";
+    }
+    elsif ($source =~ /(<!DOCTYPE[^>]*>)/s)
+    {
+        print $fh "$1\n";
+    }
+}
+
+sub parseTree
+{
+    my $fh        = shift;
+    my $ref       = shift;
+    my $language  = shift || "";
+
+    my $name = shift @{ $ref };
+    my $cont = shift @{ $ref };
+    
+    while (!$name || "$name" eq "1") {
+        $name = shift @{ $ref };
+        $cont = shift @{ $ref };
+    }
+
+    my $spacepreserve = 0;
+    my $attrs = @{$cont}[0];
+    $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/));
+
+    traverse($fh, $name, $cont, $language, $spacepreserve);
+}
+
+sub xml_merge_output
+{
+    my $source;
+
+    if ($MULTIPLE_OUTPUT) {
+        for my $lang (sort keys %po_files_by_lang) {
+           if ( ! -d $lang ) {
+               mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n";
+            }
+            open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n";
+            binmode (OUTPUT) if $^O eq 'MSWin32';
+            my $tree = readXml($FILE);
+            print_header($FILE, \*OUTPUT);
+            parseTree(\*OUTPUT, $tree, $lang);
+            close OUTPUT;
+            print "CREATED $lang/$OUTFILE\n" unless $QUIET_ARG;
+        }
+        if ( ! -d "C" ) {
+            mkdir "C" or -d "C" or die "Cannot create subdirectory C: $!\n";
+        }
+        open OUTPUT, ">C/$OUTFILE" or die "Cannot open C/$OUTFILE: $!\n";
+        binmode (OUTPUT) if $^O eq 'MSWin32';
+        my $tree = readXml($FILE);
+        print_header($FILE, \*OUTPUT);
+        parseTree(\*OUTPUT, $tree);
+        close OUTPUT;
+        print "CREATED C/$OUTFILE\n" unless $QUIET_ARG;
+    } else {
+        open OUTPUT, ">$OUTFILE" or die "Cannot open $OUTFILE: $!\n";
+        binmode (OUTPUT) if $^O eq 'MSWin32';
+        my $tree = readXml($FILE);
+        print_header($FILE, \*OUTPUT);
+        parseTree(\*OUTPUT, $tree);
+        close OUTPUT;
+        print "CREATED $OUTFILE\n" unless $QUIET_ARG;
+    }
+}
+
+sub keys_merge_translation
+{
+    my ($lang) = @_;
+
+    if ( ! -d $lang && $MULTIPLE_OUTPUT)
+    {
+        mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n";
+    }
+
+    open INPUT, "<${FILE}" or die "Cannot open ${FILE}: $!\n";
+    open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n";
+    binmode (OUTPUT) if $^O eq 'MSWin32';
+
+    while (<INPUT>)
+    {
+        if (s/^(\s*)_(\w+=(.*))/$1$2/)
+        {
+            my $string = $3;
+
+            if (!$MULTIPLE_OUTPUT)
+            {
+                print OUTPUT;
+
+                my $non_translated_line = $_;
+
+                for my $lang (sort keys %po_files_by_lang)
+                {
+                    my $translation = $translations{$lang, $string};
+                    next if !$translation;
+
+                    $_ = $non_translated_line;
+                    s/(\w+)=.*/[$lang]$1=$translation/;
+                    print OUTPUT;
+                }
+            }
+            else
+            {
+                my $non_translated_line = $_;
+                my $translation = $translations{$lang, $string};
+                $translation = $string if !$translation;
+
+                $_ = $non_translated_line;
+                s/(\w+)=.*/$1=$translation/;
+                print OUTPUT;
+            }
+        }
+        else
+        {
+            print OUTPUT;
+        }
+    }
+
+    close OUTPUT;
+    close INPUT;
+
+    print "CREATED $lang/$OUTFILE\n" unless $QUIET_ARG;
+}
+
+sub keys_merge_translations
+{
+    if ($MULTIPLE_OUTPUT)
+    {
+        for my $lang (sort keys %po_files_by_lang)
+        {
+            keys_merge_translation ($lang);
+        }
+        keys_merge_translation ("C");
+    }
+    else
+    {
+        keys_merge_translation (".");
+    }
+}
+
+sub desktop_merge_translations
+{
+    open INPUT, "<${FILE}" or die;
+    open OUTPUT, ">${OUTFILE}" or die;
+    binmode (OUTPUT) if $^O eq 'MSWin32';
+
+    while (<INPUT>) 
+    {
+        if (s/^(\s*)_([A-Za-z0-9\-]+=(.*))/$1$2/)  
+        {
+           my $string = $3;
+
+            print OUTPUT;
+
+           my $non_translated_line = $_;
+
+            for my $lang (sort keys %po_files_by_lang) 
+            {
+                my $translation = $translations{$lang, $string};
+                next if !$translation;
+
+                $_ = $non_translated_line;
+                s/(\w+)=.*/${1}[$lang]=$translation/;
+                print OUTPUT;
+            }
+       } 
+        else 
+        {
+            print OUTPUT;
+        }
+    }
+
+    close OUTPUT;
+    close INPUT;
+}
+
+sub schemas_merge_translations
+{
+    my $source;
+
+    {
+       local $/; # slurp mode
+       open INPUT, "<$FILE" or die "can't open $FILE: $!";
+       $source = <INPUT>;
+       close INPUT;
+    }
+
+    open OUTPUT, ">$OUTFILE" or die;
+    binmode (OUTPUT) if $^O eq 'MSWin32';
+
+    # FIXME: support attribute translations
+
+    # Empty nodes never need translation, so unmark all of them.
+    # For example, <_foo/> is just replaced by <foo/>.
+    $source =~ s|<\s*_($w+)\s*/>|<$1/>|g;
+
+    while ($source =~ s/
+                        (.*?)
+                        (\s+)(<locale\ name="C">(\s*)
+                            (<default>\s*(?:<!--[^>]*?-->\s*)?(.*?)\s*<\/default>)?(\s*)
+                            (<short>\s*(?:<!--[^>]*?-->\s*)?(.*?)\s*<\/short>)?(\s*)
+                            (<long>\s*(?:<!--[^>]*?-->\s*)?(.*?)\s*<\/long>)?(\s*)
+                        <\/locale>)
+                       //sx) 
+    {
+        print OUTPUT $1;
+
+       my $locale_start_spaces = $2 ? $2 : '';
+       my $default_spaces = $4 ? $4 : '';
+       my $short_spaces = $7 ? $7 : '';
+       my $long_spaces = $10 ? $10 : '';
+       my $locale_end_spaces = $13 ? $13 : '';
+       my $c_default_block = $3 ? $3 : '';
+       my $default_string = $6 ? $6 : '';
+       my $short_string = $9 ? $9 : '';
+       my $long_string = $12 ? $12 : '';
+
+       print OUTPUT "$locale_start_spaces$c_default_block";
+
+        $default_string =~ s/\s+/ /g;
+        $default_string = entity_decode($default_string);
+       $short_string =~ s/\s+/ /g;
+       $short_string = entity_decode($short_string);
+       $long_string =~ s/\s+/ /g;
+       $long_string = entity_decode($long_string);
+
+       for my $lang (sort keys %po_files_by_lang) 
+        {
+           my $default_translation = $translations{$lang, $default_string};
+           my $short_translation = $translations{$lang, $short_string};
+           my $long_translation  = $translations{$lang, $long_string};
+
+           next if (!$default_translation && !$short_translation && 
+                     !$long_translation);
+
+           print OUTPUT "\n$locale_start_spaces<locale name=\"$lang\">";
+
+        print OUTPUT "$default_spaces";    
+
+        if ($default_translation)
+        {
+            $default_translation = entity_encode($default_translation);
+            print OUTPUT "<default>$default_translation</default>";
+        }
+
+           print OUTPUT "$short_spaces";
+
+           if ($short_translation)
+           {
+                       $short_translation = entity_encode($short_translation);
+                       print OUTPUT "<short>$short_translation</short>";
+           }
+
+           print OUTPUT "$long_spaces";
+
+           if ($long_translation)
+           {
+                       $long_translation = entity_encode($long_translation);
+                       print OUTPUT "<long>$long_translation</long>";
+           }       
+
+           print OUTPUT "$locale_end_spaces</locale>";
+        }
+    }
+
+    print OUTPUT $source;
+
+    close OUTPUT;
+}
+
+sub rfc822deb_merge_translations
+{
+    my %encodings = ();
+    for my $lang (keys %po_files_by_lang) {
+        $encodings{$lang} = ($UTF8_ARG ? 'UTF-8' : get_po_encoding($po_files_by_lang{$lang}));
+    }
+
+    my $source;
+
+    $Text::Wrap::huge = 'overflow';
+    $Text::Wrap::break = qr/\n|\s(?=\S)/;
+
+    {
+       local $/; # slurp mode
+       open INPUT, "<$FILE" or die "can't open $FILE: $!";
+       $source = <INPUT>;
+       close INPUT;
+    }
+
+    open OUTPUT, ">${OUTFILE}" or die;
+    binmode (OUTPUT) if $^O eq 'MSWin32';
+
+    while ($source =~ /(^|\n+)(_*)([^:\s]+)(:[ \t]*)(.*?)(?=\n[\S\n]|$)/sg)
+    {
+           my $sep = $1;
+           my $non_translated_line = $3.$4;
+           my $string = $5;
+           my $underscore = length($2);
+           next if $underscore eq 0 && $non_translated_line =~ /^#/;
+           #  Remove [] dummy strings
+           my $stripped = $string;
+           $stripped =~ s/\[\s[^\[\]]*\],/,/g if $underscore eq 2;
+           $stripped =~ s/\[\s[^\[\]]*\]$//;
+           $non_translated_line .= $stripped;
+
+           print OUTPUT $sep.$non_translated_line;
+    
+           if ($underscore) 
+           {
+               my @str_list = rfc822deb_split($underscore, $string);
+
+               for my $lang (sort keys %po_files_by_lang) 
+                {
+                    my $is_translated = 1;
+                    my $str_translated = '';
+                    my $first = 1;
+                
+                    for my $str (@str_list) 
+                    {
+                        my $translation = $translations{$lang, $str};
+                    
+                        if (!$translation) 
+                        {
+                            $is_translated = 0;
+                            last;
+                        }
+
+                       #  $translation may also contain [] dummy
+                        #  strings, mostly to indicate an empty string
+                       $translation =~ s/\[\s[^\[\]]*\]$//;
+                        
+                        if ($first) 
+                        {
+                            if ($underscore eq 2)
+                            {
+                                $str_translated .= $translation;
+                            }
+                            else
+                            {
+                                $str_translated .=
+                                    Text::Tabs::expand($translation) .
+                                    "\n";
+                            }
+                        } 
+                        else 
+                        {
+                            if ($underscore eq 2)
+                            {
+                                $str_translated .= ', ' . $translation;
+                            }
+                            else
+                            {
+                                $str_translated .= Text::Tabs::expand(
+                                    Text::Wrap::wrap(' ', ' ', $translation)) .
+                                    "\n .\n";
+                            }
+                        }
+                        $first = 0;
+
+                        #  To fix some problems with Text::Wrap::wrap
+                        $str_translated =~ s/(\n )+\n/\n .\n/g;
+                    }
+                    next unless $is_translated;
+
+                    $str_translated =~ s/\n \.\n$//;
+                    $str_translated =~ s/\s+$//;
+
+                    $_ = $non_translated_line;
+                    s/^(\w+):\s*.*/$sep${1}-$lang.$encodings{$lang}: $str_translated/s;
+                    print OUTPUT;
+                }
+           }
+    }
+    print OUTPUT "\n";
+
+    close OUTPUT;
+    close INPUT;
+}
+
+sub rfc822deb_split 
+{
+    # Debian defines a special way to deal with rfc822-style files:
+    # when a value contain newlines, it consists of
+    #   1.  a short form (first line)
+    #   2.  a long description, all lines begin with a space,
+    #       and paragraphs are separated by a single dot on a line
+    # This routine returns an array of all paragraphs, and reformat
+    # them.
+    # When first argument is 2, the string is a comma separated list of
+    # values.
+    my $type = shift;
+    my $text = shift;
+    $text =~ s/^[ \t]//mg;
+    return (split(/, */, $text, 0)) if $type ne 1;
+    return ($text) if $text !~ /\n/;
+
+    $text =~ s/([^\n]*)\n//;
+    my @list = ($1);
+    my $str = '';
+
+    for my $line (split (/\n/, $text)) 
+    {
+        chomp $line;
+        if ($line =~ /^\.\s*$/)
+        {
+            #  New paragraph
+            $str =~ s/\s*$//;
+            push(@list, $str);
+            $str = '';
+        } 
+        elsif ($line =~ /^\s/) 
+        {
+            #  Line which must not be reformatted
+            $str .= "\n" if length ($str) && $str !~ /\n$/;
+            $line =~ s/\s+$//;
+            $str .= $line."\n";
+        } 
+        else 
+        {
+            #  Continuation line, remove newline
+            $str .= " " if length ($str) && $str !~ /\n$/;
+            $str .= $line;
+        }
+    }
+
+    $str =~ s/\s*$//;
+    push(@list, $str) if length ($str);
+
+    return @list;
+}
+
+sub quoted_translation
+{
+    my ($xml_mode, $lang, $string) = @_;
+
+    $string = entity_decode($string) if $xml_mode;
+    $string =~ s/\\\"/\"/g;
+
+    my $translation = $translations{$lang, $string};
+    $translation = $string if !$translation;
+    $translation = entity_encode($translation) if $xml_mode;
+    $translation =~ s/\"/\\\"/g;
+    return $translation
+}
+
+sub quoted_merge_translations
+{
+    my ($xml_mode) = @_;
+
+    if (!$MULTIPLE_OUTPUT) {
+        print "Quoted only supports Multiple Output.\n";
+        exit(1);
+    }
+
+    for my $lang (sort keys %po_files_by_lang) {
+        if ( ! -d $lang ) {
+            mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n";
+        }
+        open INPUT, "<${FILE}" or die;
+        open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n";
+        binmode (OUTPUT) if $^O eq 'MSWin32';
+        while (<INPUT>) 
+        {
+            s/\"(([^\"]|\\\")*[^\\\"])\"/"\"" . &quoted_translation($xml_mode, $lang, $1) . "\""/ge;
+            print OUTPUT;
+        }
+        close OUTPUT;
+        close INPUT;
+    }
+}
diff --git a/intltool-prepare.in b/intltool-prepare.in
new file mode 100644 (file)
index 0000000..e25451c
--- /dev/null
@@ -0,0 +1,342 @@
+#!@INTLTOOL_PERL@ -w
+# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4  -*-
+
+#  Intltool .desktop, .directory Prepare Tool
+#
+#  Copyright (C) 2001 Free Software Foundation.
+#
+#  Intltool is free software; you can redistribute 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.
+#
+#  Intltool is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+#  Author(s): Gediminas Paulauskas <menesis@delfi.lt>
+#            Kenneth Christiansen <kenneth@gnu.org>
+
+## Release information
+my $PROGRAM      = "intltool-prepare";
+my $PACKAGE      = "@PACKAGE@";
+my $VERSION      = "@VERSION@";
+
+## Loaded modules
+use strict;
+use Getopt::Long;
+use File::Find;
+
+## Scalars used by the option stuff
+my $HELP_ARG    = "0";
+my $VERSION_ARG = "0";
+my $VERBOSE     = "0";
+
+my @languages;
+my @desktop_files;
+my $new;
+my $file;
+
+my $desktop_extension = "(desktop|soundlist|keys|directory)";
+
+my $keywords = "Name|Comment|GenericName|SwallowTitle|description";
+
+## Always print as the first thing
+$| = 1;
+
+## Handle options
+GetOptions (
+            "help|h"            => \$HELP_ARG,
+            "version|v"         => \$VERSION_ARG,
+            "verbose|x"         => \$VERBOSE
+            ) or &invalid_option;
+
+
+## Use the supplied arguments
+## Check for options.
+## This section will check for the different options.
+
+sub split_on_argument {
+
+    if ($VERSION_ARG) {
+        &version;
+
+    } elsif ($HELP_ARG) {
+        &help;
+
+    } else {
+        &main;
+    }
+}
+
+&split_on_argument;
+
+sub main
+{
+    print "Working, please wait...\n" if (! $VERBOSE);
+    &find_desktop_files;
+    &append_keywords;
+    &add_to_potfiles;
+    &perform_rescue;
+    &add_to_cvsignore;
+    &fix_makefiles;
+    &generate_empty;
+}
+
+sub version {
+    print <<_EOF_;
+${PROGRAM} ${PACKAGE} $VERSION
+Written by Gediminas Paulauskas <menesis\@delfi.lt>, 2000.
+
+Copyright (C) 2000 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_
+    exit;
+}
+
+sub help
+{
+    print <<_EOF_;
+Usage: ${PROGRAM} [OPTION] KEYWORD...
+Automates preparation steps before software make use of intltool.
+KEYWORD is a list of additional key other than "Name", "Comment"
+and "description".
+
+  -h, --help                 shows this help page
+  -v, --version              shows the version
+  -x, --verbose              show lots of feedback
+
+Report bugs to http://bugs.launchpad.net/intltool
+_EOF_
+    exit;
+}
+
+sub invalid_option
+{
+    ## Handle invalid arguments
+    ## my $opt = $ARGV[0];
+    ## print "$PROGRAM: invalid option -- $opt\n";
+    print STDERR "Try `$PROGRAM --help' for more information.\n";
+    exit 1;
+}
+
+sub append_keywords
+{
+    my $arg;
+    foreach $arg (@ARGV) {
+        $keywords .= "|$arg";
+    }
+}
+
+sub add_to_potfiles
+{
+    open FILE, ">>po/POTFILES.in";
+    my $intro = 0;
+    foreach my $desktop (@desktop_files) {
+        next if contains("po/POTFILES.in", "$desktop.in");
+    # Print explanation comment only once
+        unless ($intro) {
+           print FILE "# files added by intltool-prepare\n";
+           $intro = 1;
+        }
+        print FILE "$desktop.in\n";
+    }
+    close FILE;
+}
+
+sub perform_rescue
+{
+    foreach $file (@desktop_files) {
+        &rescue_file($file);
+    }
+}
+
+sub rescue_file
+{
+    my ($filename) = @_;
+    my ($msgid, $line, $lang);
+
+    print "Rescuing translations from $filename ...\n" if $VERBOSE;
+
+    open ORIG, "<$filename";
+    $line = 1;
+ENTRY: while (<ORIG>) {
+        chomp;
+        $line++;
+           my $entry = $_;
+        if (($entry =~ /^($keywords)=(.*)$/) ||
+            ($entry =~ /^(\s*description)=(.*)$/)) {
+            $msgid = $2;
+            $msgid =~ s/\\/\\\\/g;
+           $msgid =~ s/\"/\\"/g;
+        } elsif (($entry =~ /^($keywords)\[(.*?)\]=(.*)$/) ||
+                 ($entry =~ /^(\s*\[)(.*?)\]description=(.*)$/)) {
+            $lang = $2;
+
+            my $msgstr = $3;
+            $msgstr =~ s/\\/\\\\/g;
+            $msgstr =~ s/"/\\"/g;
+           
+            $line--;
+            if ((-s "po/$lang.po") && 
+                (contains("po/$lang.po", "msgid \"$msgid\""))) {
+                next ENTRY;
+            }
+            
+            open POFILE, ">>po/$lang.po";
+
+            print POFILE "\n#: $filename.in:$line\n";
+            print POFILE "msgid \"$msgid\"\n";
+            print POFILE "msgstr \"$msgstr\"\n";
+
+            close POFILE;
+        }
+    }
+}
+
+sub generate_empty
+{
+    my $all = ' ';
+    foreach my $full (@desktop_files) {
+        $new = "$full.in";
+        $all .= "$new ";
+           print "Generating empty $new ...\n" if $VERBOSE;
+        open FULL, "<$full";
+        open NEW, ">$new";
+
+        while (<FULL>) {
+            unless (
+                           (/^($keywords)\[.*?\]=.*$/) ||
+                       (/^\s*\[(.*?)\]description=.*$/)
+                          ) {
+                if (/^($keywords)=.*$/) {
+                    print NEW "_$_";
+                } elsif (/^(\s*)(description=.*)$/) {
+                    print NEW "$1_$2\n";
+                } else {
+                    print NEW;
+                }
+               }
+        }
+
+        close NEW;
+    }
+    unless ($all eq ' ') {
+        print "*** Please add these files to CVS by following command: ***\n"
+            . "cvs add$all\n";
+    }
+}
+
+sub add_to_cvsignore
+{
+    my $all = ' ';
+    my $ign;
+    foreach $file (@desktop_files) {
+        $file =~ /^(.*\/)?(.+?\.$desktop_extension$)$/;
+        if ($1) {
+            $ign = "$1.cvsignore";
+        } else {
+            $ign = ".cvsignore";
+        }
+        my $basename = $2;
+
+        next if contains($ign, $basename);
+           
+        print "Appending $basename to $ign\n" if $VERBOSE;
+        open FILE, ">>$ign";
+        print FILE "$basename\n";
+        $all .= "$file ";
+    }
+    close FILE;
+    unless ($all eq ' ') {
+        print "*** Please remove files from CVS by following command: ***\n"
+            . "cvs remove -f$all\n";
+    }
+}
+
+sub fix_makefiles
+{
+    my $file;
+    foreach $file (@desktop_files) {
+        my ($makefile, $line);
+
+        $file =~ /^(.*\/)?(.+?\.$desktop_extension$)$/;
+        if ($1) {
+            $makefile = "$1Makefile.am";
+        } else {
+            $makefile = "Makefile.am";
+        }
+        my $basename = $2;
+        print "Fixing $basename entry in $makefile\n" if $VERBOSE;
+
+        open MAKE, $makefile;
+        open NEWMAKE, ">$makefile.new";
+        my $extra = 0;
+        while ($line = <MAKE>) {
+            $extra = 1 if $line =~ /^EXTRA_DIST/;
+            if ($extra) {
+                if (($line =~ /$basename/) &&
+                    !($line =~ /$basename\.in/)) {
+                    $line =~ s/$basename/$basename\.in/;
+                }
+                $extra = 0 unless $line =~ /\\\s*$/
+            } else {
+                if ($line =~ /^(\w+)_DATA\s*=\s*$basename\s*$/) {
+                    my $name = $1;
+                    $line =~ s/^$name\_DATA/$name\_in_files/;
+                    $line =~ s/$basename/$basename\.in/;
+                    $basename =~ /\.($desktop_extension)$/;
+                    my $ext = $1;
+                    $line .= "$name\_DATA = \$($name\_in_files:.$ext.in=.$ext)\n";
+                    $ext =~ tr/a-z/A-Z/;
+                    if (!contains($makefile, "\@INTLTOOL_$ext\_RULE\@")) {
+                        $line .= "\@INTLTOOL_$ext\_RULE\@\n";
+                    }
+                }
+            }
+            print NEWMAKE $line;
+        }
+        close NEWMAKE;
+        rename "$makefile.new", $makefile;
+    }
+}
+
+sub contains
+{
+    my ($name, $str) = @_;
+    open CONT, "<$name";
+    while (<CONT>) {
+         chomp;
+         return 1 if $_ eq $str;
+    }
+    return 0;
+}
+
+sub find_desktop_files
+{
+    if ($VERBOSE) {
+        print "Found these interesting files:\n";
+    } else {
+        print "Finding interesting files...";
+    }
+    find (\&wanted, '.');
+    print "done\n" unless $VERBOSE;
+}
+
+sub wanted
+{
+    if (/\.$desktop_extension$/) {
+        my $file = $File::Find::name;
+        $file =~ s/\.\///;
+        push @desktop_files, $file;
+        print "$file\n" if $VERBOSE;
+    }
+}
+
+# vim: ts=4 sw=4 expandtab
diff --git a/intltool-update.in b/intltool-update.in
new file mode 100644 (file)
index 0000000..df591c6
--- /dev/null
@@ -0,0 +1,1303 @@
+#!@INTLTOOL_PERL@ -w
+# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4  -*-
+
+#
+#  The Intltool Message Updater
+#
+#  Copyright (C) 2000-2003 Free Software Foundation.
+#
+#  Intltool is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  version 2 published by the Free Software Foundation.
+#
+#  Intltool is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR 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., 675 Mass Ave, Cambridge, MA 02139, 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.
+#
+#  Authors: Kenneth Christiansen <kenneth@gnu.org>
+#           Maciej Stachowiak
+#           Darin Adler <darin@bentspoon.com>
+
+## Release information
+my $PROGRAM = "intltool-update";
+my $VERSION = "@VERSION@";
+my $PACKAGE = "@PACKAGE@";
+
+## Loaded modules
+use strict;
+use Getopt::Long;
+use Cwd;
+use File::Copy;
+use File::Find;
+
+## Scalars used by the option stuff
+my $HELP_ARG      = 0;
+my $VERSION_ARG    = 0;
+my $DIST_ARG      = 0;
+my $POT_ARG       = 0;
+my $HEADERS_ARG    = 0;
+my $MAINTAIN_ARG   = 0;
+my $REPORT_ARG     = 0;
+my $VERBOSE       = 0;
+my $GETTEXT_PACKAGE = "";
+my $OUTPUT_FILE    = "";
+
+my @languages;
+my %varhash = ();
+my %po_files_by_lang = ();
+
+# Regular expressions to categorize file types.
+# FIXME: Please check if the following is correct
+
+my $xml_support =
+"xml(?:\\.in)*|".      # http://www.w3.org/XML/ (Note: .in is not required)
+"ui|".                 # Bonobo specific - User Interface desc. files
+"lang|".               # ?
+"glade2?(?:\\.in)*|".  # Glade specific - User Interface desc. files (Note: .in is not required)
+"oaf(?:\\.in)+|".      # DEPRECATED: Replaces by Bonobo .server files
+"etspec|".             # ?
+"server(?:\\.in)+|".   # Bonobo specific
+"sheet(?:\\.in)+|".    # ?
+"schemas(?:\\.in)+|".  # GConf specific
+"gschema.xml|".         # GLib schema (ie: GSettings) specific
+"pong(?:\\.in)+|".     # DEPRECATED: PONG is not used [by GNOME] any longer.
+"kbd(?:\\.in)+|".      # GOK specific.
+"policy(?:\\.in)+";    # PolicyKit files
+
+my $ini_support =
+"icon(?:\\.in)+|".     # http://www.freedesktop.org/Standards/icon-theme-spec
+"desktop(?:\\.in)+|".  # http://www.freedesktop.org/Standards/menu-spec
+"caves(?:\\.in)+|".    # GNOME Games specific
+"directory(?:\\.in)+|".        # http://www.freedesktop.org/Standards/menu-spec
+"soundlist(?:\\.in)+|".        # GNOME specific
+"keys(?:\\.in)+|".     # GNOME Mime database specific
+"theme(?:\\.in)+|".    # http://www.freedesktop.org/Standards/icon-theme-spec
+"service(?:\\.in)+";    # DBus specific
+
+my $tlk_support =
+"tlk(?:\\.in)+";        # Bioware Aurora Talk Table Format
+
+my $buildin_gettext_support =
+"c|y|cs|cc|cpp|c\\+\\+|h|hh|gob|py|scm(?:\\.in)*";
+
+## Always flush buffer when printing
+$| = 1;
+
+## Sometimes the source tree will be rooted somewhere else.
+my $SRCDIR = $ENV{"srcdir"} || ".";
+my $POTFILES_in;
+
+$POTFILES_in = "<$SRCDIR/POTFILES.in";
+
+my $devnull = ($^O eq 'MSWin32' ? 'NUL:' : '/dev/null');
+
+## Handle options
+GetOptions
+(
+ "help"               => \$HELP_ARG,
+ "version"            => \$VERSION_ARG,
+ "dist|d"             => \$DIST_ARG,
+ "pot|p"              => \$POT_ARG,
+ "headers|s"          => \$HEADERS_ARG,
+ "maintain|m"         => \$MAINTAIN_ARG,
+ "report|r"           => \$REPORT_ARG,
+ "verbose|x"          => \$VERBOSE,
+ "gettext-package|g=s" => \$GETTEXT_PACKAGE,
+ "output-file|o=s"     => \$OUTPUT_FILE,
+ ) or &Console_WriteError_InvalidOption;
+
+&Console_Write_IntltoolHelp if $HELP_ARG;
+&Console_Write_IntltoolVersion if $VERSION_ARG;
+
+my $arg_count = ($DIST_ARG > 0)
+    + ($POT_ARG > 0)
+    + ($HEADERS_ARG > 0)
+    + ($MAINTAIN_ARG > 0)
+    + ($REPORT_ARG > 0);
+
+&Console_Write_IntltoolHelp if $arg_count > 1;
+
+my $MODULE = $GETTEXT_PACKAGE || FindPackageName() || "unknown";
+
+if ($POT_ARG)
+{
+    &GenerateHeaders;
+    &GeneratePOTemplate;
+}
+elsif ($HEADERS_ARG)
+{
+    &GenerateHeaders;
+}
+elsif ($MAINTAIN_ARG)
+{
+    &FindLeftoutFiles;
+}
+elsif ($REPORT_ARG)
+{
+    &GenerateHeaders;
+    &GeneratePOTemplate;
+    &Console_Write_CoverageReport;
+}
+elsif ((defined $ARGV[0]) && $ARGV[0] =~ /^[a-z]/)
+{
+    my $lang = $ARGV[0];
+
+    ## Report error if the language file supplied
+    ## to the command line is non-existent
+    &Console_WriteError_NotExisting("$SRCDIR/$lang.po")
+        if ! -s "$SRCDIR/$lang.po";
+
+    if (!$DIST_ARG)
+    {
+       print "Working, please wait..." if $VERBOSE;
+       &GenerateHeaders;
+       &GeneratePOTemplate;
+    }
+    &POFile_Update ($lang, $OUTPUT_FILE);
+    &Console_Write_TranslationStatus ($lang, $OUTPUT_FILE);
+}
+else
+{
+    &Console_Write_IntltoolHelp;
+}
+
+exit;
+
+#########
+
+sub Console_Write_IntltoolVersion
+{
+    print <<_EOF_;
+${PROGRAM} (${PACKAGE}) $VERSION
+Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler.
+
+Copyright (C) 2000-2003 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_
+    exit;
+}
+
+sub Console_Write_IntltoolHelp
+{
+    print <<_EOF_;
+Usage: ${PROGRAM} [OPTION]... LANGCODE
+Updates PO template files and merge them with the translations.
+
+Mode of operation (only one is allowed):
+  -p, --pot                   generate the PO template only
+  -s, --headers               generate the header files in POTFILES.in
+  -m, --maintain              search for left out files from POTFILES.in
+  -r, --report                display a status report for the module
+  -d, --dist                  merge LANGCODE.po with existing PO template
+
+Extra options:
+  -g, --gettext-package=NAME  override PO template name, useful with --pot
+  -o, --output-file=FILE      write merged translation to FILE
+  -x, --verbose               display lots of feedback
+      --help                  display this help and exit
+      --version               output version information and exit
+
+Examples of use:
+${PROGRAM} --pot    just create a new PO template
+${PROGRAM} xy       create new PO template and merge xy.po with it
+
+Report bugs to http://bugs.launchpad.net/intltool
+_EOF_
+    exit;
+}
+
+sub echo_n
+{
+    my $str = shift;
+    my $ret = `echo "$str"`;
+
+    $ret =~ s/\n$//; # do we need the "s" flag?
+
+    return $ret;
+}
+
+sub POFile_DetermineType ($)
+{
+   my $type = $_;
+   my $gettext_type;
+
+   my $xml_regex     = "(?:" . $xml_support . ")";
+   my $ini_regex     = "(?:" . $ini_support . ")";
+   my $tlk_regex     = "(?:" . $tlk_support . ")";
+   my $buildin_regex = "(?:" . $buildin_gettext_support . ")";
+
+   if ($type =~ /\[type: gettext\/([^\]].*)]/)
+   {
+       $gettext_type=$1;
+   }
+   elsif ($type =~ /gschema.xml$/)
+   {
+       $gettext_type="gsettings";
+   }
+   elsif ($type =~ /schemas(\.in)+$/)
+   {
+       $gettext_type="schemas";
+   }
+   elsif ($type =~ /glade2?(\.in)*$/)
+   {
+       $gettext_type="glade";
+   }
+   elsif ($type =~ /scm(\.in)*$/)
+   {
+       $gettext_type="scheme";
+   }
+   elsif ($type =~ /keys(\.in)+$/)
+   {
+       $gettext_type="keys";
+   }
+
+   # bucket types
+
+   elsif ($type =~ /$xml_regex$/)
+   {
+       $gettext_type="xml";
+   }
+   elsif ($type =~ /$ini_regex$/)
+   {
+       $gettext_type="ini";
+   }
+   elsif ($type =~ /$tlk_regex$/)
+   {
+       $gettext_type="tlk";
+   }
+   elsif ($type =~ /$buildin_regex$/)
+   {
+       $gettext_type="buildin";
+   }
+   else
+   {
+       $gettext_type="unknown";
+   }
+
+   return "gettext\/$gettext_type";
+}
+
+sub TextFile_DetermineEncoding ($)
+{
+    my $gettext_code="UTF-8"; # All files are UTF-8 by default
+    my $filetype=`file $_ | cut -d ' ' -f 2`;
+
+    if ($? eq "0")
+    {
+       if ($filetype =~ /^(ISO|UTF)/)
+       {
+           chomp ($gettext_code = $filetype);
+       }
+       elsif ($filetype =~ /^XML/)
+       {
+           $gettext_code="UTF-8"; # We asume that .glade and other .xml files are UTF-8
+       }
+    }
+
+    return $gettext_code;
+}
+
+sub isNotValidMissing
+{
+    my ($file) = @_;
+    my $package_name = "";
+    my $version = "";
+    $package_name = $varhash{"PACKAGE"} if (defined $varhash{"PACKAGE"});
+    $version = $varhash{"VERSION"} if (defined $varhash{"VERSION"});
+
+    return if $file =~ /^\{arch\}\/.*$/;
+    return if $file =~ /^$package_name-$version\/.*$/;
+}
+
+sub removeFromArray
+{
+    my ($file, @array) = @_;
+
+    my $i = 0;
+    foreach my $potfile (@array) {
+        delete $array[$i] if $potfile =~ m/$file/;
+        $i++;
+    }
+}
+
+sub AddFileToListIfMissing
+{
+    my ($file, $list) = @_;
+
+    my $name_pattern;
+    if ($file =~ /^\.\.\//) {
+        $name_pattern = "x3 A*";
+    } else {
+        $name_pattern = "A*";
+    }
+
+    my $file_name = unpack($name_pattern, $file);
+    if (defined isNotValidMissing ($file_name)) {
+        ## Remove the first 3 chars if needed and add newline
+        push @$list, $file_name . "\n";
+    }
+}
+
+sub FindLeftoutFiles
+{
+    my (@buf_i18n_plain,
+       @buf_i18n_xml,
+       @buf_i18n_xml_unmarked,
+       @buf_i18n_ini,
+       @buf_potfiles,
+       @buf_potfiles_ignore,
+       @buf_allfiles,
+       @buf_allfiles_sorted,
+       @buf_potfiles_sorted,
+        @buf_potfiles_ignore_sorted
+    );
+
+    ## Search and find all translatable files
+    find sub {
+       # Ignore hidden files
+       return if "$File::Find::name" =~ /\/\./;
+       push @buf_i18n_plain,        "$File::Find::name" if /\.($buildin_gettext_support)$/;
+       push @buf_i18n_xml,          "$File::Find::name" if /\.($xml_support)$/;
+       push @buf_i18n_ini,          "$File::Find::name" if /\.($ini_support)$/;
+       push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/;
+       }, "..";
+    find sub {
+       # Ignore hidden files
+       return if "$File::Find::name" =~ /\/\.[^.]/;
+       push @buf_i18n_plain,        "$File::Find::name" if /\.($buildin_gettext_support)$/;
+       push @buf_i18n_xml,          "$File::Find::name" if /\.($xml_support)$/;
+       push @buf_i18n_ini,          "$File::Find::name" if /\.($ini_support)$/;
+       push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/;
+       }, "$SRCDIR/.." if "$SRCDIR" ne ".";
+
+    open POTFILES, $POTFILES_in or die "$PROGRAM:  there's no POTFILES.in!\n";
+    @buf_potfiles = grep !/^(#|\s*$)/, <POTFILES>;
+    close POTFILES;
+
+    foreach (@buf_potfiles) {
+       s/^\[.*]\s*//;
+    }
+
+    print "Searching for missing translatable files...\n" if $VERBOSE;
+
+    ## Check if we should ignore some found files, when
+    ## comparing with POTFILES.in
+    foreach my $ignore ("POTFILES.skip", "POTFILES.ignore")
+    {
+       (-s "$SRCDIR/$ignore") or next;
+
+       if ("$ignore" eq "POTFILES.ignore")
+       {
+           print "The usage of POTFILES.ignore is deprecated. Please consider moving the\n".
+                 "content of this file to POTFILES.skip.\n";
+       }
+
+       print "Found $ignore: Ignoring files...\n" if $VERBOSE;
+       open FILE, "<$SRCDIR/$ignore" or die "ERROR: Failed to open $SRCDIR/$ignore!\n";
+
+       while (<FILE>)
+       {
+            next if (/^$/);
+            next if (/^(#|\s*$)/);
+
+            my $skipdir = "../$_";
+            $skipdir = "$SRCDIR/../$_" if "$SRCDIR" ne ".";
+            $skipdir =~ s/\n//g;
+
+            my @dirignored;
+
+            if (-d "$skipdir")
+            {
+                find sub {
+                    push @dirignored, "$File::Find::name" if /\.($buildin_gettext_support)$/;
+                    push @dirignored, "$File::Find::name" if /\.($xml_support)$/;
+                    push @dirignored, "$File::Find::name" if /\.($ini_support)$/;
+                    push @dirignored, "$File::Find::name" if /\.(schemas(\.in)+)$/;
+                }, "$skipdir";
+                foreach my $ignored (@dirignored)
+                {
+                    $ignored =~ s/^$SRCDIR\///g;
+                    $ignored =~ s/^..\///g;
+                    $ignored =~ s/$/\n/g;
+
+                    removeFromArray ($ignored, @buf_i18n_plain);
+                    removeFromArray ($ignored, @buf_i18n_xml);
+                    removeFromArray ($ignored, @buf_i18n_ini);
+                    removeFromArray ($ignored, @buf_i18n_xml_unmarked);
+                    push @buf_potfiles_ignore, $ignored;
+                }
+                next;
+            }
+            removeFromArray ($_, @buf_i18n_plain);
+            removeFromArray ($_, @buf_i18n_xml);
+            removeFromArray ($_, @buf_i18n_ini);
+            removeFromArray ($_, @buf_i18n_xml_unmarked);
+            push @buf_potfiles_ignore, $_;
+       }
+       close FILE;
+
+       @buf_potfiles_ignore_sorted = sort (@buf_potfiles_ignore);
+    }
+
+    foreach my $file (@buf_i18n_plain)
+    {
+       my $in_comment = 0;
+       my $in_macro = 0;
+        my $in_string = 0;
+        my @multiline_quotes;
+        if ($file =~ /\.scm/) {
+            @multiline_quotes = ('"');
+        } else {
+            @multiline_quotes = ("'''", '"""');
+        }
+
+       open FILE, "<$file";
+       while (<FILE>)
+       {
+            if ($file =~ /\.scm/) {
+                # Strip single quotes from .scm files.
+                s-\'--g;
+            }
+
+           # Handle continued multi-line comment.
+           if ($in_comment)
+           {
+               next unless s-.*\*/--;
+               $in_comment = 0;
+           }
+
+            # Handle continued multi-line string.
+            if ($in_string)
+            {
+                my $pattern = join '|', @multiline_quotes;
+                if (!s/.*$pattern//) {
+                    s///s;
+                    next;
+                };
+                $in_string = 0;
+            }
+
+           # Handle continued macro.
+           if ($in_macro)
+           {
+               $in_macro = 0 unless /\\$/;
+               next;
+           }
+
+           # Handle start of macro (or any preprocessor directive).
+           if (/^\s*\#/)
+           {
+               $in_macro = 1 if /^([^\\]|\\.)*\\$/;
+               next;
+            }
+
+           # Handle comments and quoted text.
+           while (m-(/\*|//|\'\'\'|\"\"\"|\'|\")-) # \' and \" keep emacs perl mode happy
+           {
+               my $match = $1;
+               if ($match eq "/*")
+               {
+                   if (!s-/\*.*?\*/--)
+                   {
+                       s-/\*.*--;
+                       $in_comment = 1;
+                   }
+               }
+               elsif ($match eq "//")
+               {
+                   s-//.*--;
+               }
+                elsif (grep($match, @multiline_quotes))
+                {
+                    if (!s-$match(\\$match|[^$match])*$match-QUOTEDTEXT-g)
+                    {
+                        s-$match.*-QUOTEDTEXT-s;
+                        $in_string = 1;
+                    }
+                }
+               else # ' or "
+               {
+                   s-$match(\\$match|[^$match])*$match-QUOTEDTEXT-g;
+
+                    # Handle inline # comments.
+                    s/^([^$match]+)\#.*/$1/;
+
+                   if (m-$match-)
+                   {
+                       warn "mismatched quotes at line $. in $file\n";
+                       s-$match.*--;
+                   }
+               }
+           }
+
+           if (/\w\.GetString *\(QUOTEDTEXT/)
+           {
+                AddFileToListIfMissing($file, \@buf_allfiles);
+               last;
+           }
+
+            ## C_ N_ NC_ Q_ and _ are the macros defined in gi8n.h
+           if (/(NC_|[NCQ]_|[^_]_|(^|$)[_]) *\(?QUOTEDTEXT/m)
+           {
+                AddFileToListIfMissing($file, \@buf_allfiles);
+               last;
+           }
+
+            # Check for direct calls to the glib gettext wrappers
+            if (/g_d[np]?gettext[2]? *\(QUOTEDTEXT/)
+            {
+                AddFileToListIfMissing($file, \@buf_allfiles);
+                last;
+            }
+       }
+       close FILE;
+    }
+
+    foreach my $file (@buf_i18n_xml)
+    {
+       open FILE, "<$file";
+
+       while (<FILE>)
+       {
+           # FIXME: share the pattern matching code with intltool-extract
+           if (/\s_[-A-Za-z0-9._:]+\s*=\s*\"([^"]+)\"/ || /<_[^>]+>/ || /translatable=\"yes\"/)
+           {
+                AddFileToListIfMissing($file, \@buf_allfiles);
+               last;
+           }
+       }
+       close FILE;
+    }
+
+    foreach my $file (@buf_i18n_ini)
+    {
+       open FILE, "<$file";
+       while (<FILE>)
+       {
+           if (/_(.*)=/)
+           {
+                AddFileToListIfMissing($file, \@buf_allfiles);
+               last;
+           }
+       }
+       close FILE;
+    }
+
+    foreach my $file (@buf_i18n_xml_unmarked)
+    {
+        AddFileToListIfMissing($file, \@buf_allfiles);
+    }
+
+
+    @buf_allfiles_sorted = sort (@buf_allfiles);
+    @buf_potfiles_sorted = sort (@buf_potfiles);
+
+    my %in2;
+    foreach (@buf_potfiles_sorted)
+    {
+        s#^$SRCDIR/../##;
+        s#^$SRCDIR/##;
+       $in2{$_} = 1;
+    }
+
+    foreach (@buf_potfiles_ignore_sorted)
+    {
+        s#^$SRCDIR/../##;
+        s#^$SRCDIR/##;
+       $in2{$_} = 1;
+    }
+
+    my @result;
+
+    foreach (@buf_allfiles_sorted)
+    {
+        my $dummy = $_;
+        my $srcdir = $SRCDIR;
+
+        $srcdir =~ s#^../##;
+        $dummy =~ s#^$srcdir/../##;
+        $dummy =~ s#^$srcdir/##;
+        $dummy =~ s#_build/##;
+       if (!exists($in2{$dummy}))
+       {
+           push @result, $dummy
+       }
+    }
+
+    my @buf_potfiles_notexist;
+
+    foreach (@buf_potfiles_sorted)
+    {
+       chomp (my $dummy = $_);
+       if ("$dummy" ne "" and !(-f "$SRCDIR/../$dummy" or -f "../$dummy"))
+       {
+           push @buf_potfiles_notexist, $_;
+       }
+    }
+
+    ## Save file with information about the files missing
+    ## if any, and give information about this procedure.
+    if (@result + @buf_potfiles_notexist > 0)
+    {
+       if (@result)
+       {
+           print "\n" if $VERBOSE;
+           unlink "missing";
+           open OUT, ">missing";
+           print OUT @result;
+           close OUT;
+           warn "The following files contain translations and are currently not in use. Please\n".
+                "consider adding these to the POTFILES.in file, located in the po/ directory.\n\n";
+           print STDERR @result, "\n";
+           warn "If some of these files are left out on purpose then please add them to\n".
+                "POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list\n".
+                "of left out files has been written in the current directory.\n";
+            warn "Please report to ". $varhash{"PACKAGE_BUGREPORT"} ."\n" if (defined $varhash{"PACKAGE_BUGREPORT"});
+       }
+       if (@buf_potfiles_notexist)
+       {
+           unlink "notexist";
+           open OUT, ">notexist";
+           print OUT @buf_potfiles_notexist;
+           close OUT;
+           warn "\n" if ($VERBOSE or @result);
+           warn "The following files do not exist anymore:\n\n";
+           warn @buf_potfiles_notexist, "\n";
+           warn "Please remove them from POTFILES.in. A file 'notexist'\n".
+                "containing this list of absent files has been written in the current directory.\n";
+            warn "Please report to ". $varhash{"PACKAGE_BUGREPORT"} ."\n" if (defined $varhash{"PACKAGE_BUGREPORT"});
+       }
+    }
+
+    ## If there is nothing to complain about, notify the user
+    else {
+       print "\nAll files containing translations are present in POTFILES.in.\n" if $VERBOSE;
+    }
+}
+
+sub Console_WriteError_InvalidOption
+{
+    ## Handle invalid arguments
+    print STDERR "Try `${PROGRAM} --help' for more information.\n";
+    exit 1;
+}
+
+sub isProgramInPath
+{
+    my ($file) = @_;
+    # If a file is executable (or exists on Windows),
+    # or when it returns 0 exit status.
+    return 1 if (
+        ((-x $file) or ($^O eq 'MSWin32' and (-e $file))) or
+        (system("$file --version >$devnull") == 0));
+    return 0;
+}
+
+sub isGNUGettextTool
+{
+    my ($file) = @_;
+    # Check that we are using GNU gettext tools
+    if (isProgramInPath ($file))
+    {
+        my $version = `$file --version`;
+        return 1 if ($version =~ m/.*\(GNU .*\).*/);
+    }
+    return 0;
+}
+
+sub GenerateHeaders
+{
+    my $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} || "intltool-extract";
+
+    ## Generate the .h header files, so we can allow glade and
+    ## xml translation support
+    if (! isProgramInPath ("$EXTRACT"))
+    {
+       print STDERR "\n *** The intltool-extract script wasn't found!"
+            ."\n *** Without it, intltool-update can not generate files.\n";
+       exit;
+    }
+    else
+    {
+       open (FILE, $POTFILES_in) or die "$PROGRAM: POTFILES.in not found.\n";
+
+       while (<FILE>)
+       {
+          chomp;
+          next if /^\[\s*encoding/;
+
+          ## Find xml files in POTFILES.in and generate the
+          ## files with help from the extract script
+
+          my $gettext_type= &POFile_DetermineType ($1);
+
+          if (/\.($xml_support|$ini_support|$tlk_support)$/ || /^\[/)
+          {
+              s/^\[[^\[].*]\s*//;
+
+              my @cmd = ($EXTRACT, "--update", "--type=$gettext_type",
+                         "--srcdir=$SRCDIR");
+
+              unshift (@cmd, $^X) if ($^O eq 'MSWin32' && !($EXTRACT =~ /perl/));
+
+              push (@cmd, "--quiet") if (! $VERBOSE);
+              push (@cmd, "../$_");
+
+              system (@cmd);
+          }
+       }
+       close FILE;
+   }
+}
+
+#
+# Generate .pot file from POTFILES.in
+#
+sub GeneratePOTemplate
+{
+    my $XGETTEXT = $ENV{"XGETTEXT"} || "xgettext";
+    my $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} || '';
+    chomp $XGETTEXT;
+
+    if (! isGNUGettextTool ("$XGETTEXT"))
+    {
+       print STDERR " *** GNU xgettext is not found on this system!\n".
+                    " *** Without it, intltool-update can not extract strings.\n";
+       exit;
+    }
+
+    print "Building $MODULE.pot...\n" if $VERBOSE;
+
+    open INFILE, $POTFILES_in;
+    unlink "POTFILES.in.temp";
+    open OUTFILE, ">POTFILES.in.temp" or die("Cannot open POTFILES.in.temp for writing");
+
+    my $gettext_support_nonascii = 0;
+
+    # checks for GNU gettext >= 0.12
+    my $dummy = `$XGETTEXT --version --from-code=UTF-8 >$devnull 2>$devnull`;
+    if ($? == 0)
+    {
+       $gettext_support_nonascii = 1;
+    }
+    else
+    {
+       # require gnu gettext >= 0.12
+       die "$PROGRAM: GNU gettext >= 0.12 is required for intltool\n";
+    }
+
+    my $encoding = "UTF-8";
+    my $forced_gettext_code;
+    my @temp_headers;
+    my $encoding_problem_is_reported = 0;
+
+    while (<INFILE>)
+    {
+       next if (/^#/ or /^\s*$/);
+
+       chomp;
+
+       my $gettext_code;
+
+       if (/^\[\s*encoding:\s*(.*)\s*\]/)
+       {
+           $forced_gettext_code=$1;
+       }
+       elsif (/\.($xml_support|$ini_support|$tlk_support)$/ || /^\[/)
+       {
+           s/^\[.*]\s*//;
+            print OUTFILE "../$_.h\n";
+           push @temp_headers, "../$_.h";
+           $gettext_code = &TextFile_DetermineEncoding ("../$_.h") if ($gettext_support_nonascii and not defined $forced_gettext_code);
+       }
+       else
+       {
+            print OUTFILE "$SRCDIR/../$_\n";
+           $gettext_code = &TextFile_DetermineEncoding ("$SRCDIR/../$_") if ($gettext_support_nonascii and not defined $forced_gettext_code);
+       }
+
+       next if (! $gettext_support_nonascii);
+
+       if (defined $forced_gettext_code)
+       {
+           $encoding=$forced_gettext_code;
+       }
+       elsif (defined $gettext_code and "$encoding" ne "$gettext_code")
+       {
+           if ($encoding eq "ASCII")
+           {
+               $encoding=$gettext_code;
+           }
+           elsif ($gettext_code ne "ASCII")
+           {
+               # Only report once because the message is quite long
+               if (! $encoding_problem_is_reported)
+               {
+                   print STDERR "WARNING: You should use the same file encoding for all your project files,\n".
+                                "         but $PROGRAM thinks that most of the source files are in\n".
+                                "         $encoding encoding, while \"$_\" is (likely) in\n".
+                                "         $gettext_code encoding. If you are sure that all translatable strings\n".
+                                "         are in same encoding (say UTF-8), please *prepend* the following\n".
+                                "         line to POTFILES.in:\n\n".
+                                "                 [encoding: UTF-8]\n\n".
+                                "         and make sure that configure.in/ac checks for $PACKAGE >= 0.27 .\n".
+                                "(such warning message will only be reported once.)\n";
+                   $encoding_problem_is_reported = 1;
+               }
+           }
+       }
+    }
+
+    close OUTFILE;
+    close INFILE;
+
+    unlink "$MODULE.pot";
+    my @xgettext_argument=("$XGETTEXT",
+                          "--add-comments",
+                          "--directory\=.",
+                           "--default-domain\=$MODULE",
+                           "--flag\=g_strdup_printf:1:c-format",
+                           "--flag\=g_string_printf:2:c-format",
+                           "--flag\=g_string_append_printf:2:c-format",
+                           "--flag\=g_error_new:3:c-format",
+                           "--flag\=g_set_error:4:c-format",
+                           "--flag\=g_markup_printf_escaped:1:c-format",
+                           "--flag\=g_log:3:c-format",
+                           "--flag\=g_print:1:c-format",
+                           "--flag\=g_printerr:1:c-format",
+                           "--flag\=g_printf:1:c-format",
+                           "--flag\=g_fprintf:2:c-format",
+                           "--flag\=g_sprintf:2:c-format",
+                           "--flag\=g_snprintf:3:c-format",
+                           "--flag\=g_scanner_error:2:c-format",
+                           "--flag\=g_scanner_warn:2:c-format",
+                          "--output\=$MODULE\.pot",
+                          "--files-from\=\.\/POTFILES\.in\.temp");
+    my $XGETTEXT_KEYWORDS = &FindPOTKeywords;
+    push @xgettext_argument, $XGETTEXT_KEYWORDS;
+    my $MSGID_BUGS_ADDRESS = &FindMakevarsBugAddress;
+    push @xgettext_argument, "--msgid-bugs-address\=\"$MSGID_BUGS_ADDRESS\"" if $MSGID_BUGS_ADDRESS;
+    push @xgettext_argument, "--from-code\=$encoding" if ($gettext_support_nonascii);
+    push @xgettext_argument, $XGETTEXT_ARGS if $XGETTEXT_ARGS;
+    my $xgettext_command = join ' ', @xgettext_argument;
+
+    # intercept xgettext error message
+    print "Running $xgettext_command\n" if $VERBOSE;
+    my $xgettext_error_msg = `$xgettext_command 2>\&1`;
+    my $command_failed = $?;
+
+    unlink "POTFILES.in.temp";
+
+    print "Removing generated header (.h) files..." if $VERBOSE;
+    unlink foreach (@temp_headers);
+    print "done.\n" if $VERBOSE;
+
+    if (! $command_failed)
+    {
+       if (! -e "$MODULE.pot")
+       {
+           print "None of the files in POTFILES.in contain strings marked for translation.\n" if $VERBOSE;
+       }
+       else
+       {
+           print "Wrote $MODULE.pot\n" if $VERBOSE;
+       }
+    }
+    else
+    {
+       if ($xgettext_error_msg =~ /--from-code/)
+       {
+            my $errlocation = "unknown";
+
+            if ($xgettext_error_msg =~ /Non-ASCII string at (.*)\..*/)
+            {
+                $errlocation = $1;
+            }
+            print STDERR "ERROR: xgettext failed to generate PO tempalte file because the following     \n".
+                         "       file contains strings marked for translation, not encoded in UTF-8.    \n".
+                         "       Please ensure all strings marked for translation are UTF-8 encoded.  \n\n".
+                         "           $errlocation\n\n";
+       }
+       else
+       {
+           print STDERR "$xgettext_error_msg";
+           if (-e "$MODULE.pot")
+           {
+               # is this possible?
+               print STDERR "ERROR: xgettext failed but still managed to generate PO template file.\n".
+                            "       Please consult error message above if there is any.\n";
+           }
+           else
+           {
+               print STDERR "ERROR: xgettext failed to generate PO template file. Please consult\n".
+                            "       error message above if there is any.\n";
+           }
+       }
+       exit (1);
+    }
+}
+
+sub POFile_Update
+{
+    -f "$MODULE.pot" or die "$PROGRAM: $MODULE.pot does not exist.\n";
+
+    my $MSGMERGE = $ENV{"MSGMERGE"} || "msgmerge";
+    my ($lang, $outfile) = @_;
+
+    if (! isGNUGettextTool ("$MSGMERGE"))
+    {
+       print STDERR " *** GNU msgmerge is not found on this system!\n".
+                    " *** Without it, intltool-update can not extract strings.\n";
+       exit;
+    }
+
+    print "Merging $SRCDIR/$lang.po with $MODULE.pot..." if $VERBOSE;
+
+    my $infile = "$SRCDIR/$lang.po";
+    $outfile = "$SRCDIR/$lang.po" if ($outfile eq "");
+
+    # I think msgmerge won't overwrite old file if merge is not successful
+    system ("$MSGMERGE", "-o", $outfile, $infile, "$MODULE.pot");
+}
+
+sub Console_WriteError_NotExisting
+{
+    my ($file) = @_;
+
+    ## Report error if supplied language file is non-existing
+    print STDERR "$PROGRAM: $file does not exist!\n";
+    print STDERR "Try '$PROGRAM --help' for more information.\n";
+    exit;
+}
+
+sub GatherPOFiles
+{
+    my @po_files = glob ("./*.po");
+
+    @languages = map (&POFile_GetLanguage, @po_files);
+
+    foreach my $lang (@languages)
+    {
+       $po_files_by_lang{$lang} = shift (@po_files);
+    }
+}
+
+sub POFile_GetLanguage ($)
+{
+    s/^(.*\/)?(.+)\.po$/$2/;
+    return $_;
+}
+
+sub Console_Write_TranslationStatus
+{
+    my ($lang, $output_file) = @_;
+    my $MSGFMT = $ENV{"MSGFMT"} || "msgfmt";
+
+    if (! isGNUGettextTool ("$MSGFMT"))
+    {
+       print STDERR " *** GNU msgfmt is not found on this system!\n".
+                    " *** Without it, intltool-update can not extract strings.\n";
+       exit;
+    }
+
+    $output_file = "$SRCDIR/$lang.po" if ($output_file eq "");
+
+    system ("$MSGFMT", "-o", "$devnull", "--verbose", $output_file);
+}
+
+sub Console_Write_CoverageReport
+{
+    my $MSGFMT = $ENV{"MSGFMT"} || "msgfmt";
+
+    if (! isGNUGettextTool ("$MSGFMT"))
+    {
+       print STDERR " *** GNU msgfmt is not found on this system!\n".
+                    " *** Without it, intltool-update can not extract strings.\n";
+       exit;
+    }
+
+    &GatherPOFiles;
+
+    foreach my $lang (@languages)
+    {
+       print STDERR "$lang: ";
+       &POFile_Update ($lang, "");
+    }
+
+    print STDERR "\n\n * Current translation support in $MODULE \n\n";
+
+    foreach my $lang (@languages)
+    {
+       print STDERR "$lang: ";
+       system ("$MSGFMT", "-o", "$devnull", "--verbose", "$SRCDIR/$lang.po");
+    }
+}
+
+sub SubstituteVariable
+{
+    my ($str) = @_;
+
+    # always need to rewind file whenever it has been accessed
+    seek (CONF, 0, 0);
+
+    # cache each variable. varhash is global to we can add
+    # variables elsewhere.
+    while (<CONF>)
+    {
+       if (/^(\w+)=(.*)$/)
+       {
+           ($varhash{$1} = $2) =~  s/^["'](.*)["']$/$1/;
+       }
+    }
+
+    if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/)
+    {
+       my $rest = $3;
+       my $untouched = $1;
+       my $sub = "";
+        # Ignore recursive definitions of variables
+        $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/;
+
+       return SubstituteVariable ("$untouched$sub$rest");
+    }
+
+    # We're using Perl backticks ` and "echo -n" here in order to
+    # expand any shell escapes (such as backticks themselves) in every variable
+    return echo_n ($str);
+}
+
+sub CONF_Handle_Open
+{
+    my $base_dirname = getcwd();
+    $base_dirname =~ s@.*/@@;
+
+    my ($conf_in, $src_dir);
+
+    if ($base_dirname =~ /^po(-.+)?$/)
+    {
+       if (-f "Makevars")
+       {
+           my $makefile_source;
+
+           local (*IN);
+           open (IN, "<Makevars") || die "can't open Makevars: $!";
+
+           while (<IN>)
+           {
+               if (/^top_builddir[ \t]*=/)
+               {
+                   $src_dir = $_;
+                   $src_dir =~ s/^top_builddir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/;
+
+                   chomp $src_dir;
+                    if (-f "$src_dir" . "/configure.ac") {
+                        $conf_in = "$src_dir" . "/configure.ac" . "\n";
+                    } else {
+                        $conf_in = "$src_dir" . "/configure.in" . "\n";
+                    }
+                   last;
+               }
+           }
+           close IN;
+
+           $conf_in || die "Cannot find top_builddir in Makevars.";
+       }
+       elsif (-f "$SRCDIR/../configure.ac")
+       {
+           $conf_in = "$SRCDIR/../configure.ac";
+       }
+       elsif (-f "$SRCDIR/../configure.in")
+       {
+           $conf_in = "$SRCDIR/../configure.in";
+       }
+       else
+       {
+           my $makefile_source;
+
+           local (*IN);
+           open (IN, "<Makefile") || return;
+
+           while (<IN>)
+           {
+               if (/^top_srcdir[ \t]*=/)
+               {
+                   $src_dir = $_;
+                   $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/;
+
+                   chomp $src_dir;
+                   $conf_in = "$src_dir" . "/configure.in" . "\n";
+
+                   last;
+               }
+           }
+           close IN;
+
+           $conf_in || die "Cannot find top_srcdir in Makefile.";
+       }
+
+       open (CONF, "<$conf_in");
+    }
+    else
+    {
+       print STDERR "$PROGRAM: Unable to proceed.\n" .
+                    "Make sure to run this script inside the po directory.\n";
+       exit;
+    }
+}
+
+sub FindPackageName
+{
+    my $version;
+    my $domain = &FindMakevarsDomain;
+    my $name = $domain || "untitled";
+    my $bugurl;
+
+    &CONF_Handle_Open;
+
+    my $conf_source; {
+       local (*IN);
+       open (IN, "<&CONF") || return $name;
+       seek (IN, 0, 0);
+       local $/; # slurp mode
+       $conf_source = <IN>;
+       close IN;
+    }
+
+    # priority for getting package name:
+    # 1. GETTEXT_PACKAGE
+    # 2. first argument of AC_INIT (with >= 2 arguments)
+    # 3. first argument of AM_INIT_AUTOMAKE (with >= 2 argument)
+
+    # /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m
+    # the \s makes this not work, why?
+    if ($conf_source =~ /^AM_INIT_AUTOMAKE\(([^,\)]+),([^,\)]+)/m)
+    {
+       ($name, $version) = ($1, $2);
+       $name    =~ s/[\[\]\s]//g;
+       $version =~ s/[\[\]\s]//g;
+       $name    =~ s/\(+$//g;
+       $version =~ s/\(+$//g;
+
+       $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/);
+       $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/);
+       $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/);
+       $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/);
+    }
+
+    if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)[,]?([^,\)]+)?/m)
+    {
+       ($name, $version) = ($1, $2);
+        $bugurl = $3 if (defined $3);
+
+        # Handle m4_esyscmd
+        # FIXME: We should do this in a more generic way that works for all vars
+        if ($version =~ /m4_esyscmd\([\[]?([^\)\]]+)/)
+        {
+            my $cwd = getcwd ();
+            chdir ("$SRCDIR/..");
+            $version = qx($1);
+            chdir ($cwd);
+        }
+
+
+       $name    =~ s/[\[\]\s]//g;
+       $version =~ s/[\[\]\s]//g;
+        $bugurl  =~ s/[\[\]\s]//g if (defined $bugurl);
+       $name    =~ s/\(+$//g;
+       $version =~ s/\(+$//g;
+        $bugurl  =~ s/\(+$//g if (defined $bugurl);
+
+       $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/);
+       $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/);
+       $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/);
+       $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/);
+        $varhash{"PACKAGE_BUGREPORT"} = $bugurl if (defined $bugurl and not $bugurl =~ /\${?\w+}?/);
+    }
+
+    # \s makes this not work, why?
+    $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\n\]]+)/m;
+
+    # m4 macros AC_PACKAGE_NAME, AC_PACKAGE_VERSION etc. have same value
+    # as corresponding $PACKAGE_NAME, $PACKAGE_VERSION etc. shell variables.
+    $name =~ s/\bAC_PACKAGE_/\$PACKAGE_/g;
+
+    $name = $domain if $domain;
+
+    $name = SubstituteVariable ($name);
+    $name =~ s/^["'](.*)["']$/$1/;
+
+    return $name if $name;
+}
+
+
+sub FindPOTKeywords
+{
+
+    my $keywords = "--keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=Q_ --keyword=g_dgettext:2 --keyword=g_dngettext:2,3 --keyword=g_dpgettext:2 --keyword=g_dpgettext2=2c,3";
+    my $varname = "XGETTEXT_OPTIONS";
+    my $make_source; {
+       local (*IN);
+       open (IN, "<Makevars") || (open(IN, "<Makefile.in.in") && ($varname = "XGETTEXT_KEYWORDS")) || return $keywords;
+       seek (IN, 0, 0);
+       local $/; # slurp mode
+       $make_source = <IN>;
+       close IN;
+    }
+
+    # unwrap lines split with a trailing \
+    $make_source =~  s/\\ $ \n/ /mxg;
+    $keywords = $1 if $make_source =~ /^$varname[ ]*=\[?([^\n\]]+)/m;
+
+    return $keywords;
+}
+
+sub FindMakevarsDomain
+{
+
+    my $domain = "";
+    my $makevars_source; {
+       local (*IN);
+       open (IN, "<Makevars") || return $domain;
+       seek (IN, 0, 0);
+       local $/; # slurp mode
+       $makevars_source = <IN>;
+       close IN;
+    }
+
+    $domain = $1 if $makevars_source =~ /^DOMAIN[ ]*=\[?([^\n\]\$]+)/m;
+    $domain =~ s/^\s+//;
+    $domain =~ s/\s+$//;
+
+    return $domain;
+}
+
+sub FindMakevarsBugAddress
+{
+
+    my $address = "";
+    my $makevars_source; {
+       local (*IN);
+       open (IN, "<Makevars") || return undef;
+       seek (IN, 0, 0);
+       local $/; # slurp mode
+       $makevars_source = <IN>;
+       close IN;
+    }
+
+    $address = $1 if $makevars_source =~ /^MSGID_BUGS_ADDRESS[ ]*=\[?([^\n\]\$]+)/m;
+    $address =~ s/^\s+//;
+    $address =~ s/\s+$//;
+
+    return $address;
+}
diff --git a/intltool.m4 b/intltool.m4
new file mode 100644 (file)
index 0000000..33353ed
--- /dev/null
@@ -0,0 +1,237 @@
+## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*-
+## Copyright (C) 2001 Eazel, Inc.
+## Author: Maciej Stachowiak <mjs@noisehavoc.org>
+##         Kenneth Christiansen <kenneth@gnu.org>
+##
+## 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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.
+
+dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
+# serial 42 IT_PROG_INTLTOOL
+AC_DEFUN([IT_PROG_INTLTOOL], [
+AC_PREREQ([2.50])dnl
+AC_REQUIRE([AM_NLS])dnl
+
+case "$am__api_version" in
+    1.[01234])
+       AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
+    ;;
+    *)
+    ;;
+esac
+
+INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+if test -n "$1"; then
+    AC_MSG_CHECKING([for intltool >= $1])
+    AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
+    test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+       AC_MSG_ERROR([Your intltool is too old.  You need intltool $1 or later.])
+fi
+
+AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
+AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
+AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
+    AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
+fi
+
+if test -z "$AM_DEFAULT_VERBOSITY"; then
+  AM_DEFAULT_VERBOSITY=1
+fi
+AC_SUBST([AM_DEFAULT_VERBOSITY])
+
+INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))'
+INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))'
+INTLTOOL__v_MERGE_0='@echo "  ITMRG " [$]@;'
+AC_SUBST(INTLTOOL_V_MERGE)
+AC_SUBST(INTLTOOL__v_MERGE_)
+AC_SUBST(INTLTOOL__v_MERGE_0)
+
+INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))'
+intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))'
+intltool__v_merge_options_0='-q'
+AC_SUBST(INTLTOOL_V_MERGE_OPTIONS)
+AC_SUBST(intltool__v_merge_options_)
+AC_SUBST(intltool__v_merge_options_0)
+
+  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@'
+     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@'
+else
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir'
+fi
+      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+
+_IT_SUBST(INTLTOOL_DESKTOP_RULE)
+_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
+_IT_SUBST(INTLTOOL_KEYS_RULE)
+_IT_SUBST(INTLTOOL_PROP_RULE)
+_IT_SUBST(INTLTOOL_OAF_RULE)
+_IT_SUBST(INTLTOOL_PONG_RULE)
+_IT_SUBST(INTLTOOL_SERVER_RULE)
+_IT_SUBST(INTLTOOL_SHEET_RULE)
+_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
+_IT_SUBST(INTLTOOL_UI_RULE)
+_IT_SUBST(INTLTOOL_XAM_RULE)
+_IT_SUBST(INTLTOOL_KBD_RULE)
+_IT_SUBST(INTLTOOL_XML_RULE)
+_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
+_IT_SUBST(INTLTOOL_CAVES_RULE)
+_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
+_IT_SUBST(INTLTOOL_THEME_RULE)
+_IT_SUBST(INTLTOOL_SERVICE_RULE)
+_IT_SUBST(INTLTOOL_POLICY_RULE)
+
+# Check the gettext tools to make sure they are GNU
+AC_PATH_PROG(XGETTEXT, xgettext)
+AC_PATH_PROG(MSGMERGE, msgmerge)
+AC_PATH_PROG(MSGFMT, msgfmt)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+
+AC_PATH_PROG(INTLTOOL_PERL, perl)
+if test -z "$INTLTOOL_PERL"; then
+   AC_MSG_ERROR([perl not found])
+fi
+AC_MSG_CHECKING([for perl >= 5.8.1])
+$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+   AC_MSG_ERROR([perl 5.8.1 is required for intltool])
+else
+   IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"`
+   AC_MSG_RESULT([$IT_PERL_VERSION])
+fi
+if test "x$2" != "xno-xml"; then
+   AC_MSG_CHECKING([for XML::Parser])
+   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+       AC_MSG_RESULT([ok])
+   else
+       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+   fi
+fi
+
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
+AC_SUBST(ALL_LINGUAS)
+
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
+  AC_LINK_IFELSE(
+    [AC_LANG_PROGRAM([[]],
+                     [[extern int _nl_msg_cat_cntr;
+                       return _nl_msg_cat_cntr]])],
+    [DATADIRNAME=share],
+    [case $host in
+    *-*-solaris*)
+    dnl On Solaris, if bind_textdomain_codeset is in libc,
+    dnl GNU format message catalog is always supported,
+    dnl since both are added to the libc all together.
+    dnl Hence, we'd like to go with DATADIRNAME=share
+    dnl in this case.
+    AC_CHECK_FUNC(bind_textdomain_codeset,
+      [DATADIRNAME=share], [DATADIRNAME=lib])
+    ;;
+    *)
+    [DATADIRNAME=lib]
+    ;;
+    esac])
+fi
+AC_SUBST(DATADIRNAME)
+
+IT_PO_SUBDIR([po])
+
+])
+
+
+# IT_PO_SUBDIR(DIRNAME)
+# ---------------------
+# All po subdirs have to be declared with this macro; the subdir "po" is
+# declared by IT_PROG_INTLTOOL.
+#
+AC_DEFUN([IT_PO_SUBDIR],
+[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
+dnl
+dnl The following CONFIG_COMMANDS should be executed at the very end
+dnl of config.status.
+AC_CONFIG_COMMANDS_PRE([
+  AC_CONFIG_COMMANDS([$1/stamp-it], [
+    if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
+       AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
+    fi
+    rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
+    >"$1/stamp-it.tmp"
+    [sed '/^#/d
+        s/^[[].*] *//
+        /^[    ]*$/d
+       '"s|^|  $ac_top_srcdir/|" \
+      "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
+    ]
+    [sed '/^POTFILES =/,/[^\\]$/ {
+               /^POTFILES =/!d
+               r $1/POTFILES
+         }
+        ' "$1/Makefile.in" >"$1/Makefile"]
+    rm -f "$1/Makefile.tmp"
+    mv "$1/stamp-it.tmp" "$1/stamp-it"
+  ])
+])dnl
+])
+
+# _IT_SUBST(VARIABLE)
+# -------------------
+# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
+#
+AC_DEFUN([_IT_SUBST],
+[
+AC_SUBST([$1])
+m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
+]
+)
+
+# deprecated macros
+AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
+# A hint is needed for aclocal from Automake <= 1.9.4:
+# AC_DEFUN([AC_PROG_INTLTOOL], ...)
+
diff --git a/intltoolize.in b/intltoolize.in
new file mode 100644 (file)
index 0000000..89c786d
--- /dev/null
@@ -0,0 +1,259 @@
+#! /bin/sh
+# intltoolize - Prepare a package to use intltool.
+# @configure_input@
+# Copyright (C) 1996-1999 Free Software Foundation, Inc.
+# Copyright (C) 2001 Eazel, Inc.
+#
+# Originally based on libtoolize by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# Modified for xml-i18n-tools by Maciej Stachowiak <mjs@noisehavoc.org>
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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.
+
+# The name of this program.
+progname=`echo "$0" | sed 's%^.*/%%'`
+
+# Constants.
+PROGRAM=intltoolize
+PACKAGE=@PACKAGE@
+VERSION=@VERSION@
+
+# Directory names.
+prefix=@prefix@
+
+case "`uname`" in
+MINGW32*)
+  # Assume intltoolize is in $prefix/bin. Strip off the script name and the "bin"
+  prefix=`dirname $0`
+  prefix=`dirname $prefix`
+  ;;
+esac
+
+datarootdir=@datarootdir@
+datadir=@datadir@
+pkgdatadir=@pkgdatadir@
+
+aclocaldir=${datadir}/aclocal
+intltool_m4="${aclocaldir}/intltool.m4"
+
+dry_run=no
+help="Try '$progname --help' for more information."
+rm="rm -f"
+rm_rec="rm -rf"
+ln_s="ln -s"
+cp="cp -f"
+mkdir="mkdir"
+mkinstalldirs="mkinstalldirs"
+
+# Global variables.
+automake=
+copy=
+force=
+status=0
+
+for arg
+do
+  case "$arg" in
+  --help)
+    cat <<EOF
+Usage: $progname [OPTION]...
+
+Prepare a package to use intltool.
+
+    --automake        work silently, and assume that Automake is in use
+-c, --copy            copy files rather than symlinking them
+    --debug           enable verbose shell tracing
+-n, --dry-run         print commands rather than running them
+-f, --force           replace existing files
+    --help            display this message and exit
+    --version         print version information and exit
+
+You must 'cd' to the top directory of your package before you run
+'$progname'.
+EOF
+    exit 0
+    ;;
+
+  --version)
+    echo "$PROGRAM (GNU $PACKAGE) $VERSION"
+    exit 0
+    ;;
+
+  --automake)
+    automake=yes
+    ;;
+
+  -c | --copy)
+    ln_s=
+    ;;
+
+  --debug)
+    echo "$progname: enabling shell trace mode"
+    set -x
+    ;;
+
+  -n | --dry-run)
+    if test "$dry_run" != yes; then
+      dry_run=yes
+      rm="echo $rm"
+      rm_rec="echo $rm_rec"
+      test -n "$ln_s" && ln_s="echo $ln_s"
+      cp="echo $cp"
+      mkdir="echo mkdir"
+      mkinstalldirs="echo $mkinstalldirs"
+    fi
+    ;;
+
+  -f | --force)
+    force=yes
+    ;;
+
+  -*)
+    echo "$progname: unrecognized option '$arg'" 1>&2
+    echo "$help" 1>&2
+    exit 1
+    ;;
+
+  *)
+    echo "$progname: too many arguments" 1>&2
+    echo "$help" 1>&2
+    exit 1
+    ;;
+  esac
+done
+
+if test -f configure.ac; then
+    configure="configure.ac"
+else
+    if test -f configure.in; then
+       configure="configure.in"
+    else
+       echo "$progname: neither 'configure.ac' nor 'configure.in' exists" 1>&2
+       echo "$help" 1>&2
+       exit 1
+    fi
+fi
+
+
+files='po/Makefile.in.in'
+
+if test -z "$automake"; then
+  if egrep '^(AC|IT)_PROG_INTLTOOL' $configure >/dev/null 2>&1; then :
+  else
+    echo "ERROR: 'IT_PROG_INTLTOOL' must appear in $configure for intltool to work."
+    exit 1
+  fi
+
+  if grep 'generated automatically by aclocal' aclocal.m4 >/dev/null 2>&1; then
+    updatemsg="update your 'aclocal.m4' by running aclocal"
+  else
+    updatemsg="add the contents of '$intltool_m4' to 'aclocal.m4'"
+  fi
+
+  if egrep '^AC_DEFUN\(\[IT_PROG_INTLTOOL\]' aclocal.m4 >/dev/null 2>&1; then
+    # Check the version number on intltool.m4 and the one used in aclocal.m4.
+    instserial=`grep '^# serial ' $intltool_m4 | grep 'IT_PROG_INTLTOOL' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
+
+    if test -z "$instserial"; then
+      echo "$progname: warning: no serial number on '$intltool_m4'" 1>&2
+    else
+      # If the local macro has no serial number, we assume it's ancient.
+      localserial=`grep '^# serial ' aclocal.m4 | grep 'IT_PROG_INTLTOOL' | sed -e 's/^# serial \([0-9][0-9]*\).*$/\1/; q'`
+
+      test -z "$localserial" && localserial=0
+
+      if test "$localserial" -lt "$instserial"; then
+       echo "You should $updatemsg."
+      elif test "$localserial" -gt "$instserial"; then
+       echo "$progname: '$intltool_m4' is serial $instserial, less than $localserial in 'aclocal.m4'" 1>&2
+       if test -z "$force"; then
+         echo "Use '--force' to replace newer intltool files with this version." 1>&2
+         exit 1
+       fi
+       echo "To remain compatible, you should $updatemsg."
+      fi
+    fi
+  else
+    echo "You should $updatemsg."
+  fi
+fi
+
+
+# Copy or symlink the Makefile.in.in
+(
+for file in $files; do
+  if test -f "$file" && test -z "$force"; then
+    test -z "$automake" && echo "$progname: '$file' exists: use '--force' to overwrite" 1>&2
+    continue
+  fi
+
+  $rm $file
+  if test -n "$ln_s" && $ln_s $pkgdatadir/`basename $file` $file; then :
+  elif $cp $pkgdatadir/`basename $file` $file; then :
+  else
+    echo "$progname: cannot copy '$pkgdatadir/`basename $file`' to '$file'" 1>&2
+    status=1
+  fi
+# Touch script names for backward compatibility
+  for script in intltool-extract.in intltool-merge.in intltool-update.in; do
+      # Always remove the script files now
+      rm -f $script
+      if egrep $script Makefile.am >/dev/null 2>&1; then
+         touch $script
+      fi
+  done
+done
+
+exit $status
+# make sure this subshell exits with the exit value if it failed
+) || exit $?
+
+
+# If the AC_CONFIG_MACRO_DIR() macro is used, copy intltool.m4 from our
+# prefix to that directory.  This makes sure that the M4 macro used
+# matches the intltool scripts we install.
+# If AC_CONFIG_MACRO_DIR is not used, things will behave as before (aclocal
+# will be used to pull in the macro.
+m4dir=`cat "$configure" | grep '^AC_CONFIG_MACRO_DIR' | sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
+if test -n "$m4dir"; then
+  rm -f $m4dir/intltool.m4
+  if test -n "$ln_s" && $ln_s $intltool_m4 $m4dir/intltool.m4; then :
+  elif $cp $intltool_m4 $m4dir/intltool.m4; then :
+  else
+    echo "$progname: cannot copy '$intltool_m4' to '$m4dir/intltool.m4'" 1>&2
+    exit 1
+  fi
+fi
+
+
+# FIXME: This probably does not work w/ builddir != srcdir because it
+# gets at source files relative to the current directory.
+
+grep INTLTOOL_MAKEFILE po/Makefile.in.in >/dev/null || {
+  echo "$progname: 'po/Makefile.in.in' is out of date: use '--force' to overwrite"
+  exit 1
+}
+
+exit $status
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/missing b/missing
new file mode 100755 (executable)
index 0000000..28055d2
--- /dev/null
+++ b/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 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, see <http://www.gnu.org/licenses/>.
+
+# 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=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# 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'
+  autom4te     touch the output file, or create a stub one
+  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]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+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
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
+# 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).  This is about non-GNU programs, so use $1 not
+# $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 $program 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 "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    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 test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.y)
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.c
+           fi
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.h
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f y.tab.h; then
+       echo >y.tab.h
+    fi
+    if test ! -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 test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.l)
+           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" lex.yy.c
+           fi
+         ;;
+       esac
+    fi
+    if test ! -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 "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo ".ab help2man is required to generate this page"
+       exit $?
+    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 "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    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-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644 (file)
index 0000000..2ff1f22
--- /dev/null
@@ -0,0 +1,10 @@
+SUBDIRS = cases results
+
+TESTS = selftest
+
+EXTRA_DIST = selftest.pl.in
+
+selftest: selftest.pl
+       cp $< $@ && chmod +x $@
+
+CLEANFILES = selftest selftest.pl errors
diff --git a/tests/Makefile.in b/tests/Makefile.in
new file mode 100644 (file)
index 0000000..46cd37e
--- /dev/null
@@ -0,0 +1,609 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
+VPATH = @srcdir@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = :
+subdir = tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/selftest.pl.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = selftest.pl
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+       html-recursive info-recursive install-data-recursive \
+       install-dvi-recursive install-exec-recursive \
+       install-html-recursive install-info-recursive \
+       install-pdf-recursive install-ps-recursive install-recursive \
+       installcheck-recursive installdirs-recursive pdf-recursive \
+       ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
+  distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+       $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+       distdir
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+pkgdatadir = @pkgdatadir@
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BZR = @BZR@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aclocaldir = @aclocaldir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+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@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = cases results
+TESTS = selftest
+EXTRA_DIST = selftest.pl.in
+CLEANFILES = selftest selftest.pl errors
+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 ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign 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
+$(am__aclocal_m4_deps):
+selftest.pl: $(top_builddir)/config.status $(srcdir)/selftest.pl.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+# 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):
+       @fail= 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; \
+         ($(am__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"
+
+$(RECURSIVE_CLEAN_TARGETS):
+       @fail= 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; \
+         ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+         || eval $$failcom; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+       done
+ctags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test "$$subdir" = . || ($(am__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; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       set x; \
+       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 || \
+             set "$$@" "$$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; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       shift; \
+       if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+         test -n "$$unique" || unique=$$empty_fix; \
+         if test $$# -gt 0; then \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             "$$@" $$unique; \
+         else \
+           $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+             $$unique; \
+         fi; \
+       fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
+       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; nonempty = 1; } \
+             END { if (nonempty) { for (i in files) print i; }; }'`; \
+       test -z "$(CTAGS_ARGS)$$unique" \
+         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+            $$unique
+
+GTAGS:
+       here=`$(am__cd) $(top_builddir) && pwd` \
+         && $(am__cd) $(top_srcdir) \
+         && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+       @failed=0; all=0; xfail=0; xpass=0; skip=0; \
+       srcdir=$(srcdir); export srcdir; \
+       list=' $(TESTS) '; \
+       $(am__tty_colors); \
+       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`; \
+               col=$$red; res=XPASS; \
+             ;; \
+             *) \
+               col=$$grn; res=PASS; \
+             ;; \
+             esac; \
+           elif test $$? -ne 77; then \
+             all=`expr $$all + 1`; \
+             case " $(XFAIL_TESTS) " in \
+             *[\ \     ]$$tst[\ \      ]*) \
+               xfail=`expr $$xfail + 1`; \
+               col=$$lgn; res=XFAIL; \
+             ;; \
+             *) \
+               failed=`expr $$failed + 1`; \
+               col=$$red; res=FAIL; \
+             ;; \
+             esac; \
+           else \
+             skip=`expr $$skip + 1`; \
+             col=$$blu; res=SKIP; \
+           fi; \
+           echo "$${col}$$res$${std}: $$tst"; \
+         done; \
+         if test "$$all" -eq 1; then \
+           tests="test"; \
+           All=""; \
+         else \
+           tests="tests"; \
+           All="All "; \
+         fi; \
+         if test "$$failed" -eq 0; then \
+           if test "$$xfail" -eq 0; then \
+             banner="$$All$$all $$tests passed"; \
+           else \
+             if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+             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 \
+             if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+             banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+           fi; \
+         fi; \
+         dashes="$$banner"; \
+         skipped=""; \
+         if test "$$skip" -ne 0; then \
+           if test "$$skip" -eq 1; then \
+             skipped="($$skip test was not run)"; \
+           else \
+             skipped="($$skip tests were not run)"; \
+           fi; \
+           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`; \
+         if test "$$failed" -eq 0; then \
+           echo "$$grn$$dashes"; \
+         else \
+           echo "$$red$$dashes"; \
+         fi; \
+         echo "$$banner"; \
+         test -z "$$skipped" || echo "$$skipped"; \
+         test -z "$$report" || echo "$$report"; \
+         echo "$$dashes$$std"; \
+         test "$$failed" -eq 0; \
+       else :; fi
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$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; \
+         fi; \
+       done
+       @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+         if test "$$subdir" = .; then :; else \
+           dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+           $(am__relativize); \
+           new_distdir=$$reldir; \
+           dir1=$$subdir; dir2="$(top_distdir)"; \
+           $(am__relativize); \
+           new_top_distdir=$$reldir; \
+           echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+           echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+           ($(am__cd) $$subdir && \
+             $(MAKE) $(AM_MAKEFLAGS) \
+               top_distdir="$$new_top_distdir" \
+               distdir="$$new_distdir" \
+               am__remove_distdir=: \
+               am__skip_length_check=: \
+               am__skip_mode_fix=: \
+               distdir) \
+             || exit 1; \
+         fi; \
+       done
+check-am: all-am
+       $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+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)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+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:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
+       ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+       all all-am check check-TESTS check-am clean clean-generic \
+       ctags ctags-recursive distclean distclean-generic \
+       distclean-tags distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       installdirs-am maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
+       tags-recursive uninstall uninstall-am
+
+
+selftest: selftest.pl
+       cp $< $@ && chmod +x $@
+
+# 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:
diff --git a/tests/cases/Makefile.am b/tests/cases/Makefile.am
new file mode 100644 (file)
index 0000000..637e190
--- /dev/null
@@ -0,0 +1,86 @@
+NULL =
+
+EXTRA_DIST =                                   \
+       az.po                                   \
+       context.xml.in                          \
+       extract-comments.xml                    \
+       extract-gtkbuilder.ui                   \
+       extract1.desktop                        \
+       extract10.templates_                    \
+       extract12.xml.in                        \
+       extract13.desktop.in                    \
+       extract14.xml.in                        \
+       extract3.xml.in                         \
+       extract6.glade                          \
+       extract7.xml                            \
+       extract8.glade                          \
+       extract9.po                             \
+       extract9.xml.in                         \
+       fr.po                                   \
+       fr_BE.po                                \
+       fr_FR.po                                \
+       gsettings.gschema.xml                   \
+       iso88591text.xml.in                     \
+       merge-cdata.xml.in                      \
+       merge-deepattr.xml.in                   \
+       merge1.xml.in                           \
+       merge10.templates_                      \
+       merge11.xml.in                          \
+       merge12.xml.in                          \
+       merge4.xml.in                           \
+       merge5p.sheet.in                        \
+       merge5u.sheet.in                        \
+       merge6.po                               \
+       merge6.xml.in                           \
+       merge7.xml.in                           \
+       merge8.keys.in                          \
+       schemasmerge1.po                        \
+       schemasmerge2.po                        \
+       space-preserve.xml.in                   \
+       spacepreserve.po                        \
+       test-quoted.dtd                         \
+       test-quoted.po                          \
+       test.po                                 \
+       test.schemas.in                         \
+       unicodetext.xml.in                      \
+       $(NULL)
+
+CLEANFILES =                                   \
+       context.xml                             \
+       context.xml.in.h                        \
+       extract-comments.xml.h                  \
+       extract-gtkbuilder.ui.h                 \
+       extract1.desktop.h                      \
+       extract10.templates_.h                  \
+       extract12.xml.in.h                      \
+       extract13.desktop                       \
+       extract13.desktop.in.h                  \
+       extract14.xml.in.h                      \
+       extract9.xml                            \
+       extract9.xml.in.h                       \
+       gsettings.gschema.xml.h                 \
+       iso88591text.xml.in.h                   \
+       merge-cdata.xml                         \
+       merge-deepattr.xml                      \
+       merge10.templates                       \
+       merge11.xml                             \
+       merge12.xml                             \
+       space-preserve.xml                      \
+       space-preserve.xml.in.h                 \
+       test-quoted.dtd.h                       \
+       test.schemas                            \
+       test.schemas.in.h                       \
+       unicodetext.xml.in.h                    \
+       extract1.desktop.in                     \
+       extract3.xml.in.h                       \
+       extract6.glade.h                        \
+       extract7.xml.h                          \
+       extract8.glade.h                        \
+       merge1.xml                              \
+       merge4.xml                              \
+       merge5p.sheet                           \
+       merge5u.sheet                           \
+       merge6.xml                              \
+       merge7.xml                              \
+       merge8.keys                             \
+       $(NULL)
diff --git a/tests/cases/Makefile.in b/tests/cases/Makefile.in
new file mode 100644 (file)
index 0000000..fa7c7db
--- /dev/null
@@ -0,0 +1,388 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
+VPATH = @srcdir@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = :
+subdir = tests/cases
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = @pkgdatadir@
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BZR = @BZR@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aclocaldir = @aclocaldir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+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@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+NULL = 
+EXTRA_DIST = \
+       az.po                                   \
+       context.xml.in                          \
+       extract-comments.xml                    \
+       extract-gtkbuilder.ui                   \
+       extract1.desktop                        \
+       extract10.templates_                    \
+       extract12.xml.in                        \
+       extract13.desktop.in                    \
+       extract14.xml.in                        \
+       extract3.xml.in                         \
+       extract6.glade                          \
+       extract7.xml                            \
+       extract8.glade                          \
+       extract9.po                             \
+       extract9.xml.in                         \
+       fr.po                                   \
+       fr_BE.po                                \
+       fr_FR.po                                \
+       gsettings.gschema.xml                   \
+       iso88591text.xml.in                     \
+       merge-cdata.xml.in                      \
+       merge-deepattr.xml.in                   \
+       merge1.xml.in                           \
+       merge10.templates_                      \
+       merge11.xml.in                          \
+       merge12.xml.in                          \
+       merge4.xml.in                           \
+       merge5p.sheet.in                        \
+       merge5u.sheet.in                        \
+       merge6.po                               \
+       merge6.xml.in                           \
+       merge7.xml.in                           \
+       merge8.keys.in                          \
+       schemasmerge1.po                        \
+       schemasmerge2.po                        \
+       space-preserve.xml.in                   \
+       spacepreserve.po                        \
+       test-quoted.dtd                         \
+       test-quoted.po                          \
+       test.po                                 \
+       test.schemas.in                         \
+       unicodetext.xml.in                      \
+       $(NULL)
+
+CLEANFILES = \
+       context.xml                             \
+       context.xml.in.h                        \
+       extract-comments.xml.h                  \
+       extract-gtkbuilder.ui.h                 \
+       extract1.desktop.h                      \
+       extract10.templates_.h                  \
+       extract12.xml.in.h                      \
+       extract13.desktop                       \
+       extract13.desktop.in.h                  \
+       extract14.xml.in.h                      \
+       extract9.xml                            \
+       extract9.xml.in.h                       \
+       gsettings.gschema.xml.h                 \
+       iso88591text.xml.in.h                   \
+       merge-cdata.xml                         \
+       merge-deepattr.xml                      \
+       merge10.templates                       \
+       merge11.xml                             \
+       merge12.xml                             \
+       space-preserve.xml                      \
+       space-preserve.xml.in.h                 \
+       test-quoted.dtd.h                       \
+       test.schemas                            \
+       test.schemas.in.h                       \
+       unicodetext.xml.in.h                    \
+       extract1.desktop.in                     \
+       extract3.xml.in.h                       \
+       extract6.glade.h                        \
+       extract7.xml.h                          \
+       extract8.glade.h                        \
+       merge1.xml                              \
+       merge4.xml                              \
+       merge5p.sheet                           \
+       merge5u.sheet                           \
+       merge6.xml                              \
+       merge7.xml                              \
+       merge8.keys                             \
+       $(NULL)
+
+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 ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/cases/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign tests/cases/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
+$(am__aclocal_m4_deps):
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$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
+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:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.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-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-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:
diff --git a/tests/cases/az.po b/tests/cases/az.po
new file mode 100644 (file)
index 0000000..e2f78c7
--- /dev/null
@@ -0,0 +1,39 @@
+# Test file for intltool.
+#
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2001-01-31 17:45+0100\n"
+"PO-Revision-Date: 2001-08-18 16:07GMT+0200\n"
+"Last-Translator: Vasif İsmayıloğlu MD <azerb_linux@hotmail.com>\n"
+"Language-Team: Azerbaijani Turkish <linuxaz@azerimail.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 0.8\n"
+
+#: po/merge5.sheet.h:1
+msgid "ThisSheet"
+msgstr "BuLay"
+
+#: po/merge5.sheet.h:2
+msgid "This is a sheet for testing"
+msgstr "Bu lay sınaq üçündür"
+
+#: po/merge5.sheet.h:3
+msgid "A cake mixer"
+msgstr "Kökə qarışdırıcı"
+
+#: cases/context.xml.in.h:1
+msgid "Bar"
+msgstr "(not used, because no msgctxt)"
+
+#: cases/context.xml.in.h:2
+msgid "Baz"
+msgstr "az-baz"
+
+#: cases/context.xml.in.h:3
+msgid "Foo"
+msgstr "az-foo"
diff --git a/tests/cases/context.xml.in b/tests/cases/context.xml.in
new file mode 100644 (file)
index 0000000..4b58d97
--- /dev/null
@@ -0,0 +1,17 @@
+<test>
+    <entry>
+       <_name>Foo</_name>
+    </entry>
+    <entry>
+       <!-- This is the comment on the first Bar -->
+       <_name msgctxt="1">Bar</_name>
+    </entry>
+    <entry>
+       <!-- This is the comment on the second Bar -->
+       <_name msgctxt="2">Bar</_name>
+    </entry>
+    <entry>
+       <!-- This is the comment on Baz -->
+       <_name>Baz</_name>
+    </entry>
+</test>
diff --git a/tests/cases/extract-comments.xml b/tests/cases/extract-comments.xml
new file mode 100644 (file)
index 0000000..c54f803
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<dummy>
+
+<!-- This comment is ignored -->
+
+<!-- This comment is not ignored -->
+
+<_translate>First thing to translate</_translate>
+
+<!-- This is multi line comment for the following string;
+     second line of multi-line comment -->
+<_translate>Something to translate</_translate>
+
+<!-- If comment doesn't end on the previous line, it should be handled
+     correctly -->  <_translate>Final thing to translate</_translate>
+
+<_translate>This doesn't have a comment for translators</_translate>
+
+<!-- This comment is not ignored even if it contains > (greater than) 
+sign in it, and the following string shows up as well -->
+<_translate>Dum-dee-dum</_translate>
+
+<tagnotmarked _markedattribute="attribute without comment">some content</tagnotmarked>
+
+<!-- This comment will appear if attributes can be commented about -->
+<tagnotmarked _markedattribute="attribute with comment">more content</tagnotmarked>
+
+<!-- Comment for *both* attributes and content -->
+<_translate _markedattribute="attribute value">even more content</_translate>
+
+</dummy>
diff --git a/tests/cases/extract-gtkbuilder.ui b/tests/cases/extract-gtkbuilder.ui
new file mode 100644 (file)
index 0000000..676bed0
--- /dev/null
@@ -0,0 +1,29 @@
+<interface>
+  <object class="GtkDialog" id="dialog1">
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="vbox1">
+        <property name="border-width">10</property>
+        <child internal-child="action_area">
+          <object class="GtkHBox" id="hbox1">
+            <property name="border-width">20</property>
+            <child>
+              <object class="GtkLabel" id="help">
+                <property name="label" translatable="yes">help</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkLabel" id="user-help">
+                <property name="label" translatable="yes" context="user">help</property>
+              </object>
+            </child>
+            <child>
+              <object class="GtkLabel" id="developer-help">
+                <property name="label" translatable="yes" context="developer">help</property>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/tests/cases/extract1.desktop b/tests/cases/extract1.desktop
new file mode 100644 (file)
index 0000000..e53ee79
--- /dev/null
@@ -0,0 +1,8 @@
+[Desktop Entry]
+_Name=Nautilus
+_Comment=Nautilus File Manager and Graphic Shell
+TryExec=run-nautilus
+Exec=run-nautilus
+Icon=nautilus-launch-icon.png
+Terminal=0
+Type=Application
diff --git a/tests/cases/extract10.templates_ b/tests/cases/extract10.templates_
new file mode 100644 (file)
index 0000000..c7bbc47
--- /dev/null
@@ -0,0 +1,20 @@
+Template: timezoneconf/toplevel
+Type: select
+Choices: ${choices}
+# This comment is inserted in PO files to help translators
+_Default: US
+_Description: Select Area
+ Please select your geographical area from the choices provided.  If you
+ are in the United States, you can just use the US option.  You can also
+ find UTC and GMT-offset zone settings in the Etc directory.
+
+Template: timezoneconf/zone
+Type: select
+Choices: ${choices}
+_Description: Time zone
+ Please select the time zone that is appropriate for your location.
+
+Template: timezoneconf/month
+Type: select
+_Choices: January, February, March, April, May, June, July, August, September, October, November, December
+_Description: Current month?
diff --git a/tests/cases/extract12.xml.in b/tests/cases/extract12.xml.in
new file mode 100644 (file)
index 0000000..00363ee
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<comps>
+<test _attribute="" _other="Other attribute"></test>
+<_name>Normal name</_name>
+<_name></_name>
+<_name>Other name</_name>
+</comps>
diff --git a/tests/cases/extract13.desktop.in b/tests/cases/extract13.desktop.in
new file mode 100644 (file)
index 0000000..19021be
--- /dev/null
@@ -0,0 +1,26 @@
+[Desktop Entry]
+Encoding=UTF-8
+# 1. This comment should NOT be extracted.
+# 2. This comment should be extracted.
+_Name=Find Files...
+# 3. This comment should NOT be extracted.
+# 4. This comment also should be extracted.
+_Comment=Locate documents and folders on this computer by name or content
+# 5. This comment should NOT be extracted.
+Exec=gnome-search-tool
+# 6. This comment should NOT be extracted.
+Icon=gnome-searchtool
+# 7. This comment should NOT be extracted.
+Terminal=false
+# 8. This comment should NOT be extracted.
+Type=Application
+# 9. This comment should NOT be extracted.
+StartupNotify=true
+# 10. This comment should NOT be extracted.
+Categories=GNOME;GTK;Core;
+# 11. This comment should NOT be extracted.
+X-GNOME-DocPath=gnome-search-tool/gnome-search-tool.xml
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-utils
+X-GNOME-Bugzilla-Component=gsearchtool
+_X-Color=Blue
diff --git a/tests/cases/extract14.xml.in b/tests/cases/extract14.xml.in
new file mode 100644 (file)
index 0000000..f80385f
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<messages>
+  <attrmsg _value="The &amp;lt; entity produces the &lt; character" />
+  <attrmsg _value="The &amp;gt; entity produces the &gt; character" />
+
+  <_childmsg>
+    The &amp;lt; entity produces the &lt; character
+  </_childmsg>
+  <_childmsg>
+    The &amp;gt; entity produces the &gt; character
+  </_childmsg>
+</messages>
diff --git a/tests/cases/extract3.xml.in b/tests/cases/extract3.xml.in
new file mode 100644 (file)
index 0000000..b51fe21
--- /dev/null
@@ -0,0 +1,3 @@
+<sect>
+    <_title.-_:>Fax</_title.-_:>
+</sect>
diff --git a/tests/cases/extract6.glade b/tests/cases/extract6.glade
new file mode 100644 (file)
index 0000000..7b4aa9e
--- /dev/null
@@ -0,0 +1,4 @@
+<widget>
+  <message>Are you sure you want
+to delete this contact?</message>
+</widget>
diff --git a/tests/cases/extract7.xml b/tests/cases/extract7.xml
new file mode 100644 (file)
index 0000000..51b957e
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gimp-tips>
+
+<!-- This is a list of tips for the GIMP.  Every time the GIMP is          -->
+<!-- started, one tip will be selected from this file and will be          -->
+<!-- displayed in the "Tip of the day" dialog.                             -->
+
+<!-- The tips parser supports a very basic markup language. You may use    -->
+<!-- the tag b to specify bold text, big to increase the font size and     -->
+<!-- tt to switch to a monospace font.                                     -->
+
+  <tip level="start">
+    <_welcome>
+      <big>Welcome to The GIMP !</big>
+    </_welcome>
+    <_thetip>  
+      Nearly all image operations are performed by right-clicking
+      on the image.  And don't worry, you can undo most mistakes...    
+    </_thetip>   
+  </tip>   
+
+<!--                                                                       -->
+<!-- Tips for beginners start here                                         -->
+<!-- (for people who are not familiar yet with layers and image formats)   -->
+<!--                                                                       -->
+  <tip level="beginner">
+    <_thetip>    
+    You can get context-sensitive help for most of the GIMP's features by
+    pressing the F1 key at any time.  This also works inside the menus.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>    
+    The GIMP uses layers to let you organize your image.  Think of them
+    as a stack of slides or filters, such that looking through them you
+    see a composite of their contents.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    You can perform many layer operations by right-clicking on the text
+    label of a layer in the &quot;Layers, Channels and Paths&quot; dialog.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    When you save an image to work on it again later, try using XCF,
+    the GIMP's native file format (use the file extension <tt>.xcf</tt>).
+    This preserves the layers and every aspect of your work-in-progress.
+    Once a project is completed, you can save it as JPEG, PNG, GIF, ...
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    The layer named &quot;Background&quot; it special because it lacks 
+    transparency. This prevents you from adding a layer mask or moving 
+    the layer up in the stack.  You may add transparency to it by 
+    right-clicking in the &quot;Layers, Channels and Paths&quot; dialog 
+    and selecting &quot;Add Alpha Channel&quot;.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    Most plug-ins work on the current layer of the current image.  In
+    some cases, you will have to merge all layers (Layers-&gt;Flatten Image)
+    if you want the plug-in to work on the whole image.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    Not all effects can be applied to all kinds of images.  This is
+    indicated by a grayed-out menu-entry.  You may need to change
+    the image mode to RGB (Image-&gt;Mode-&gt;RGB), add an alpha-channel
+    (Layers-&gt;Add Alpha Channel) or flatten it (Layers-&gt;Flatten Image).
+    </_thetip>  
+  </tip>   
+   
+<!--                                                                       -->
+<!-- (end of tips)                                                         -->
+<!--                                                                       -->
+</gimp-tips>
diff --git a/tests/cases/extract8.glade b/tests/cases/extract8.glade
new file mode 100644 (file)
index 0000000..fc37b1c
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd" >
+
+<glade-interface>
+  <menu id='app-menu'>
+    <section>
+      <item>
+        <attribute name="label" translatable="yes">_New Window</attribute>
+      </item>
+      <item>
+        <attribute name="label" translatable="yes">_New Tab</attribute>
+      </item>
+    </section>
+    <section>
+      <attribute name="label" translatable="yes">_Quit</attribute>
+    </section>
+  </menu>
+
+  <widget class="GtkWindow" id="window1">
+    <property name="title" translatable="yes">Testing</property>
+    <property name="border_width">10</property>
+    <property name="visible">yes</property>
+
+    <accessibility>
+      <atkproperty name="AtkObject::accessible-name">Test Frame</atkproperty>
+      <atkproperty name="AtkObject::accessible-description">
+          This is the first of two test windows.
+      </atkproperty>
+    </accessibility>
+
+    <child>
+      <widget class="GtkVBox" id="vbox1">
+        <property name="spacing">5</property>
+        <property name="visible">yes</property>
+
+        <child>
+          <widget class="GtkLabel" id="label1">
+            <property name="label" translatable="yes" comments="Comment on &lt;property&gt; tag">A label</property>
+            <property name="visible">yes</property>
+            <accessibility>
+              <atkproperty name="AtkObject::accessible-name">A label</atkproperty>
+              <atkrelation target="button1" type="label_for"/>
+            </accessibility> 
+          </widget>
+         <packing>
+            <property name="expand">no</property>
+         </packing>
+        </child>
+        <child>
+          <widget class="GtkButton" id="button1">
+            <property name="tooltip">I am a tooltip</property>
+            <property name="visible">yes</property>
+
+            <accessibility>
+              <atkproperty name="AtkObject::accessible-name">Push Me Button</atkproperty>
+              <atkproperty name="AtkObject::accessible-description">
+                This button wants to be pushed.
+              </atkproperty>
+              <atkaction action_name="click" description="This button
+dares you to invoke this action."/>
+              <atkaction action_name="press" description="This action
+does nothing interesting."/>
+              <atkrelation target="label1" type="labelled_by"/>
+            </accessibility> 
+
+           <signal name="clicked" handler="gtk_main_quit" />
+
+            <child>
+              <widget class="GtkLabel" id="label2">
+                <property name="label" translatable="yes" comments="Multiline comments
+should be supported as well">_Push me</property>
+                <property name="use_underline">yes</property>
+                <property name="visible">yes</property>
+              </widget>
+            </child>
+          </widget>
+        </child>
+      </widget>
+    </child>
+  </widget>
+
+  <widget class="GtkDialog" id="dialog1">
+    <property name="title" translatable="yes">Testing2</property>
+    <property name="border_width">10</property>
+    <property name="visible">yes</property>
+
+    <accessibility>
+      <atkproperty name="AtkObject::accessible-name">Testing 2</atkproperty>
+      <atkproperty name="AtkObject::accessible-description">
+          This is the second of two test windows, a test dialog box.
+      </atkproperty>
+    </accessibility>
+
+    <child internal-child="vbox">
+      <widget class="GtkVBox" id="vbox2">
+        <child>
+          <widget class="GtkLabel" id="label3">
+            <property name="label" translatable="yes">Click the button below</property>
+            <property name="visible">yes</property>
+            <accessibility>
+              <atkrelation target="button2" type="label_for"/>
+            </accessibility>
+          </widget>
+         <packing>
+            <property name="expand">yes</property>
+         </packing>
+        </child>
+       <child internal-child="action_area">
+         <widget class="GtkHButtonBox" id="buttonbox1">
+           <child>
+              <widget class="GtkButton" id="button2">
+                <property name="label">gtk-cancel</property>
+                <property name="use_stock">yes</property>
+                <property name="visible">yes</property>
+                <accessibility>
+                  <atkproperty name="AtkObject::accessible-name">Cancel</atkproperty>
+                  <atkproperty name="AtkObject::accessible-description">
+                    Another button that does the same as the first one...
+                  </atkproperty>
+                  <atkaction action_name="click" description="Cancel (and exit) the test."/>
+                  <atkaction action_name="press" description="This action
+does nothing interesting."/>
+                  <atkrelation target="label3" type="labelled_by"/>
+                </accessibility> 
+
+               <signal name="clicked" handler="gtk_main_quit" />
+              </widget>
+           </child>
+         </widget>
+       </child>
+      </widget>
+    </child>
+  </widget>
+</glade-interface>
+
diff --git a/tests/cases/extract9.po b/tests/cases/extract9.po
new file mode 100644 (file)
index 0000000..ad8fef2
--- /dev/null
@@ -0,0 +1,45 @@
+# Test file for intltool.
+# 
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2004-10-07 09:52+0200\n"
+"PO-Revision-Date: 2004-10-07 09:52+0200\n"
+"Last-Translator: Данило Шеган <danilo@gnome.org>\n"
+"Language-Team: NONE <danilo@gnome.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: extract9.xml.h:1
+msgid ""
+"\n"
+"\n"
+"\n"
+"      This tip should have lots of whitespace around it\n"
+"\n"
+"\n"
+"\n"
+"    "
+msgstr ""
+"\n"
+"\n"
+"\n"
+"      Овај савет мора бити окружен са доста белина\n"
+"\n"
+"\n"
+"\n"
+"    "
+
+#: extract9.xml.h:9
+msgid ""
+"Nearly all image operations are performed by right-clicking on the image. "
+"And don't worry, you can undo most mistakes."
+msgstr "Готово све операције на сликама се обављају десним кликом на слику. И не брините, можете опозвати већину грешака."
+
+#: extract9.xml.h:10
+msgid "Welcome to The GIMP !"
+msgstr "Добродошли у Гимп!"
diff --git a/tests/cases/extract9.xml.in b/tests/cases/extract9.xml.in
new file mode 100644 (file)
index 0000000..63b5430
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This test cases tests the use of the xml:space attribute -->
+<gimp-tips>
+  <tip level="start">
+    <_welcome>
+
+
+
+      Welcome to The GIMP !
+
+
+
+
+    </_welcome>
+    <_thetip xml:space="default">
+
+
+
+      Nearly all image operations are performed by right-clicking
+      on the image.  And don't worry, you can undo most mistakes.
+
+
+
+    </_thetip>
+    <_blah xml:space="preserve">
+
+
+      This tip should have lots of whitespace around it
+
+
+
+    </_blah>
+  </tip>
+</gimp-tips>
diff --git a/tests/cases/fr.po b/tests/cases/fr.po
new file mode 100644 (file)
index 0000000..a6008d0
--- /dev/null
@@ -0,0 +1,79 @@
+# Test file for intltool.
+# 
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-01-06 23:16+0200\n"
+"PO-Revision-Date: 2002-08-16 22:17+0200\n"
+"Last-Translator: Denis Barbier <barbier@linuxfr.org>\n"
+"Language-Team: NONE <kenneth@gnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Default
+#. This comment is inserted in PO files to help translators
+#: cases/extract10.templates_:5
+msgid "US"
+msgstr "Europe"
+
+#. Description
+#: cases/extract10.templates_:6
+msgid "Select Area"
+msgstr "Sélectionnez la zone"
+
+#. Description
+#: cases/extract10.templates_:6
+msgid ""
+"Please select your geographical area from the choices provided.  If you are "
+"in the United States, you can just use the US option.  You can also find UTC "
+"and GMT-offset zone settings in the Etc directory."
+msgstr ""
+"Veuillez sélectionner votre zone géographique à partir des choix proposés. "
+"Vous pouvez également trouver les paramètres de décalage horaire UTC et GMT "
+"dans le répertoire /etc."
+
+#. Description
+#: cases/extract10.templates_:14
+msgid "Time zone"
+msgstr "Fuseau horaire"
+
+#. Description
+#: cases/extract10.templates_:14
+msgid "Please select the time zone that is appropriate for your location."
+msgstr "Veuillez sélectionner le fuseau horaire approprié à votre emplacement."
+
+#. Choices
+#: cases/extract10.templates_:19
+msgid ""
+"January, February, March, April, May, June, July, August, September, "
+"October, November, December"
+msgstr ""
+"janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, "
+"novembre, décembre"
+
+#. Description
+#: cases/extract10.templates_:20
+msgid "Current month?"
+msgstr "Mois en cours ?"
+
+#: cases/context.xml.in.h:2
+msgctxt "1"
+msgid "Bar"
+msgstr "bar un"
+
+#: cases/context.xml.in.h:4
+msgctxt "2"
+msgid "Bar"
+msgstr "bar deux"
+
+#: cases/context.xml.in.h:6
+msgid "Baz"
+msgstr "le baz"
+
+#: cases/context.xml.in.h:7
+msgid "Foo"
+msgstr "le foo"
diff --git a/tests/cases/fr_BE.po b/tests/cases/fr_BE.po
new file mode 100644 (file)
index 0000000..8a87ef9
--- /dev/null
@@ -0,0 +1,28 @@
+# Test file for intltool.
+# 
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2001-01-31 17:45+0100\n"
+"PO-Revision-Date: 2000-05-29 02:16+01:00\n"
+"Last-Translator: Cyrille Chépélov <chepelov@calixo.net>\n"
+"Language-Team: NONE <kenneth@gnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: po/merge5.sheet.h:1
+msgid "ThisSheet"
+msgstr ""
+
+#: po/merge5.sheet.h:2
+msgid "This is a sheet for testing"
+msgstr "Ceci est une feuille pour tester"
+
+#: po/merge5.sheet.h:3
+msgid "A cake mixer"
+msgstr "Un mélangeur à pâtisserie"
+
diff --git a/tests/cases/fr_FR.po b/tests/cases/fr_FR.po
new file mode 100644 (file)
index 0000000..7d4098a
--- /dev/null
@@ -0,0 +1,28 @@
+# Test file for intltool.
+# 
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2001-01-31 17:45+0100\n"
+"PO-Revision-Date: 2000-05-29 02:16+01:00\n"
+"Last-Translator: Cyrille Chépélov <chepelov@calixo.net>\n"
+"Language-Team: NONE <kenneth@gnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: po/merge5.sheet.h:1
+msgid "ThisSheet"
+msgstr "CetteFeuille"
+
+#: po/merge5.sheet.h:2
+msgid "This is a sheet for testing"
+msgstr "Ceci est une feuille pour tester"
+
+#: po/merge5.sheet.h:3
+msgid "A cake mixer"
+msgstr "Un mélangeur à pâtisserie"
+
diff --git a/tests/cases/gsettings.gschema.xml b/tests/cases/gsettings.gschema.xml
new file mode 100644 (file)
index 0000000..c88b169
--- /dev/null
@@ -0,0 +1,57 @@
+<!-- This is an example gsettings schema file. -->
+<schemalist>
+  <schema id="org.gnome.font-rendering" path="/desktop/gnome/font_rendering/">
+    <key name="dpi" type="i">
+      <default>96</default>
+      <summary context="Dots Per Inch">DPI</summary>
+      <description>
+        The resolution used for converting font sizes to pixel sizes, in
+        dots per inch.
+      </description>
+    </key>
+    <key name="translated-default" type="s">
+      <default l10n='messages'>
+        'space   preserved   properly'
+      </default>
+    </key>
+    <key name="complicated" type="i">
+      <default>0</default>
+      <summary>
+        This is a complicated key.
+      </summary>
+      <description context='GSettings description'>
+        This key is very complicated.  You should not attempt to
+        understand it.
+
+        There was this one guy who attempted to make sense of it once.
+        We don't know what happened to him.
+      </description>
+    </key>
+    <key name="clocktype" type="i">
+      <!-- Translators: translate to either 12 or 24 to define the default
+           clock format. -->
+      <default l10n="messages" context="clock-format">24</default>
+      <summary>Time format</summary>
+      <description context="Time format gsettings description">
+        How many hours can you tell apart?
+      </description>
+    </key>
+    <key name="newline-normalization" type="i">
+      <default>0</default>
+      <summary>
+        This is a key with multiple newlines.
+      </summary>
+      <description context='GSettings description'>
+        Paragraph one. Please keep the whitespace indentation in empty
+        lines for testing as well.
+
+       
+        
+\r
+
+        Paragraph two.  There was never anyone who
+        tried to make sense out of this.
+      </description>
+    </key>
+  </schema>
+</schemalist>
diff --git a/tests/cases/iso88591text.xml.in b/tests/cases/iso88591text.xml.in
new file mode 100644 (file)
index 0000000..cf3bea1
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE gweather SYSTEM "locations.dtd">
+<gweather format="1.0">
+<!-- Here we demonstrate how intltools behave 
+when comments or _name names contain non-US-ASCII 
+characters.
+-->
+<region>
+  <_name>Europe</_name>
+  <country>
+    <city>
+      <!-- Translators: This is in France. -->
+      <_name>Chambéry</_name>
+      <location>
+        <!-- Translators: This is in Chambéry in France. -->
+        <_name>Aix-les-Bains</_name>
+        <code>LFLB</code>
+        <coordinates>45-39N 005-53E</coordinates>
+      </location>
+    </city>
+  </country>
+</region>
+</gweather>
diff --git a/tests/cases/merge-cdata.xml.in b/tests/cases/merge-cdata.xml.in
new file mode 100644 (file)
index 0000000..e84d090
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<foo>
+  <bar>This is a test<![CDATA[We use <bar> for testing]]></bar>
+  <![CDATA[More testing <foo test="1&amp;2" /> for the masses.]]>
+</foo>
diff --git a/tests/cases/merge-deepattr.xml.in b/tests/cases/merge-deepattr.xml.in
new file mode 100644 (file)
index 0000000..9d3f4f7
--- /dev/null
@@ -0,0 +1,5 @@
+<root>
+  <tag _translate="Time zone">
+    <_translate>Select Area</_translate>
+  </tag>
+</root>
diff --git a/tests/cases/merge1.xml.in b/tests/cases/merge1.xml.in
new file mode 100644 (file)
index 0000000..6dff40e
--- /dev/null
@@ -0,0 +1,97 @@
+<Root>
+    <strings>
+        <str name="MSG_SaveFailed"
+            _value="Could not write to the file %s."/>
+       <str name="MSG_SaveFailedWrite"
+           _value.-_:="Writing error when attempting to save %s"/>
+       <str name="MSG_SaveFailedExport"
+           _value="Error while attempting to save %s: could not construct exporter"/>
+    </strings>
+
+    <commands>
+       <cmd name="DLG_FileClose"
+           _label="_Close"
+           _tip="Close the current file"
+           pixtype="stock" pixname="Close"
+           accel="*Control*w"/>
+    </commands>
+
+    <menu>
+       <submenu name="DLG_File" _label="_File">
+           <menuitem name="DLG_FileNew" verb=""/>
+
+           <separator/>
+
+           <menuitem name="FileClose" verb=""/>
+
+           <menuitem name="ViewZoom" verb=""
+               _label="_Zoom..."
+               _tip="Zoom the spreadsheet in or out"/>
+
+           <menuitem name="ViewNewShared" verb=""
+               _label="New _Shared"
+               _tip="Create a new shared view of the workbook"/>
+
+           <placeholder name="BuiltMenuItems"/>
+
+           <menuitem name="HelpAbout" verb=""/>
+
+       </submenu>
+
+    </menu>
+
+    <dockitem name="StandardToolbar" behavior="exclusive" homogeneous="0"
+       band_num="1" look="icon" relief="none">
+
+       <toolitem name="New"
+           pixtype="stock" pixname="New"
+           _label="New"
+            _tip="Create a new workbook"
+           verb="FileNew"/>
+
+       <separator/>
+
+       <toolitem name="Print"
+           pixtype="stock" pixname="Print"
+           _label="Print"
+           _tip="Print the workbook"
+           verb="FilePrint"/>
+
+       <toolitem name="PrintPreview"
+           pixtype="file" _pixname="font-bold-f.png"
+           _label="Print Preview"
+           _tip="Print preview"
+           verb="FilePrintPreview"/>
+
+       <separator/>
+
+       <toolitem name="Copy"
+           pixtype="stock" pixname="Copy"
+           _label="Copy"
+           _tip="Copy the current selection to the clipboard"
+           verb="EditCopy"/>
+
+       <control name="EditUndo" _tip="Undo the last action"/>
+
+       <control name="EditRedo" _tip="Redo the undone action"/>
+
+       <separator/>
+
+       <toolitem name="Sum"
+           pixtype="stock" pixname="Gnumeric_AutoSum"
+           _label="Sum"
+           _tip="Sum into the current cell"
+           verb="AutoSum"/>
+           verb="InsertShapedComponent" behavior="pack-end"/>
+
+       <control name="SheetZoom"
+           _tip="Zoom the spreadsheet in or out"
+           vdisplay="none" behavior="pack-end"/>
+    </dockitem>
+
+    <status>
+       <item name="main"/>
+       <control name="Progress"/>
+       <control name="AutoExpr"/>
+    </status>
+</Root>
diff --git a/tests/cases/merge10.templates_ b/tests/cases/merge10.templates_
new file mode 100644 (file)
index 0000000..87d5408
--- /dev/null
@@ -0,0 +1,19 @@
+Template: timezoneconf/toplevel
+Type: select
+Choices: ${choices}
+_Default: US
+_Description: Select Area
+ Please select your geographical area from the choices provided.  If you
+ are in the United States, you can just use the US option.  You can also
+ find UTC and GMT-offset zone settings in the Etc directory.
+
+Template: timezoneconf/zone
+Type: select
+Choices: ${choices}
+_Description: Time zone
+ Please select the time zone that is appropriate for your location.
+
+Template: timezoneconf/month
+Type: select
+_Choices: January, February, March, April, May, June, July, August, September, October, November, December
+_Description: Current month?
diff --git a/tests/cases/merge11.xml.in b/tests/cases/merge11.xml.in
new file mode 100644 (file)
index 0000000..53694d8
--- /dev/null
@@ -0,0 +1,4 @@
+<root>
+<_translate>Sample <b>xml</b> data.</_translate>
+<_translate>Sample <i>xml</i> data.</_translate>
+</root>
diff --git a/tests/cases/merge12.xml.in b/tests/cases/merge12.xml.in
new file mode 100644 (file)
index 0000000..238fb36
--- /dev/null
@@ -0,0 +1,11 @@
+<messages>
+  <attrmsg _value="The &amp;lt; entity produces the &lt; character" />
+  <attrmsg _value="The &amp;gt; entity produces the &gt; character" />
+
+  <_childmsg>
+    The &amp;lt; entity produces the &lt; character
+  </_childmsg>
+  <_childmsg>
+    The &amp;gt; entity produces the &gt; character
+  </_childmsg>
+</messages>
diff --git a/tests/cases/merge4.xml.in b/tests/cases/merge4.xml.in
new file mode 100644 (file)
index 0000000..b51fe21
--- /dev/null
@@ -0,0 +1,3 @@
+<sect>
+    <_title.-_:>Fax</_title.-_:>
+</sect>
diff --git a/tests/cases/merge5p.sheet.in b/tests/cases/merge5p.sheet.in
new file mode 100644 (file)
index 0000000..273445b
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?> <!-- -*- xml -*- -->
+<sheet xmlns="http://www.lysator.liu.se/~alla/dia/dia-sheet-ns">
+  <_name>ThisSheet</_name>
+  <_description>This is a sheet for testing</_description>
+  <contents>
+    <object name="Test - Mixer" intdata="0">
+      <_description>A cake mixer</_description>
+    </object>
+  </contents>
+</sheet>
diff --git a/tests/cases/merge5u.sheet.in b/tests/cases/merge5u.sheet.in
new file mode 100644 (file)
index 0000000..273445b
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?> <!-- -*- xml -*- -->
+<sheet xmlns="http://www.lysator.liu.se/~alla/dia/dia-sheet-ns">
+  <_name>ThisSheet</_name>
+  <_description>This is a sheet for testing</_description>
+  <contents>
+    <object name="Test - Mixer" intdata="0">
+      <_description>A cake mixer</_description>
+    </object>
+  </contents>
+</sheet>
diff --git a/tests/cases/merge6.po b/tests/cases/merge6.po
new file mode 100644 (file)
index 0000000..ffc0560
--- /dev/null
@@ -0,0 +1,23 @@
+# Test file for intltool.
+# 
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2001-01-31 17:45+0100\n"
+"PO-Revision-Date: 2000-05-29 02:16+01:00\n"
+"Last-Translator: Cyrille Chépélov <chepelov@calixo.net>\n"
+"Language-Team: NONE <kenneth@gnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: po/merge6.sheet.h:1
+msgid "This is a &quot; test"
+msgstr "This is a \" test --> is this a success ?"
+
+#: po/merge6.sheet.h:2
+msgid "This is another ' test"
+msgstr "This is ' another \\ test, and a \123uccess."
diff --git a/tests/cases/merge6.xml.in b/tests/cases/merge6.xml.in
new file mode 100644 (file)
index 0000000..d179341
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<foo value="&lt;!DOCTYPE\ xbel" value-dash='testme' quotetest='a "quote" test' valuetesttwo="\177ELF            \004">
+  <_bar>This is a &quot; test</_bar>
+  <_bar>This is another ' test</_bar>
+</foo>
diff --git a/tests/cases/merge7.xml.in b/tests/cases/merge7.xml.in
new file mode 100644 (file)
index 0000000..51b957e
--- /dev/null
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gimp-tips>
+
+<!-- This is a list of tips for the GIMP.  Every time the GIMP is          -->
+<!-- started, one tip will be selected from this file and will be          -->
+<!-- displayed in the "Tip of the day" dialog.                             -->
+
+<!-- The tips parser supports a very basic markup language. You may use    -->
+<!-- the tag b to specify bold text, big to increase the font size and     -->
+<!-- tt to switch to a monospace font.                                     -->
+
+  <tip level="start">
+    <_welcome>
+      <big>Welcome to The GIMP !</big>
+    </_welcome>
+    <_thetip>  
+      Nearly all image operations are performed by right-clicking
+      on the image.  And don't worry, you can undo most mistakes...    
+    </_thetip>   
+  </tip>   
+
+<!--                                                                       -->
+<!-- Tips for beginners start here                                         -->
+<!-- (for people who are not familiar yet with layers and image formats)   -->
+<!--                                                                       -->
+  <tip level="beginner">
+    <_thetip>    
+    You can get context-sensitive help for most of the GIMP's features by
+    pressing the F1 key at any time.  This also works inside the menus.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>    
+    The GIMP uses layers to let you organize your image.  Think of them
+    as a stack of slides or filters, such that looking through them you
+    see a composite of their contents.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    You can perform many layer operations by right-clicking on the text
+    label of a layer in the &quot;Layers, Channels and Paths&quot; dialog.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    When you save an image to work on it again later, try using XCF,
+    the GIMP's native file format (use the file extension <tt>.xcf</tt>).
+    This preserves the layers and every aspect of your work-in-progress.
+    Once a project is completed, you can save it as JPEG, PNG, GIF, ...
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    The layer named &quot;Background&quot; it special because it lacks 
+    transparency. This prevents you from adding a layer mask or moving 
+    the layer up in the stack.  You may add transparency to it by 
+    right-clicking in the &quot;Layers, Channels and Paths&quot; dialog 
+    and selecting &quot;Add Alpha Channel&quot;.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    Most plug-ins work on the current layer of the current image.  In
+    some cases, you will have to merge all layers (Layers-&gt;Flatten Image)
+    if you want the plug-in to work on the whole image.
+    </_thetip>  
+  </tip>   
+  <tip level="beginner">
+    <_thetip>
+    Not all effects can be applied to all kinds of images.  This is
+    indicated by a grayed-out menu-entry.  You may need to change
+    the image mode to RGB (Image-&gt;Mode-&gt;RGB), add an alpha-channel
+    (Layers-&gt;Add Alpha Channel) or flatten it (Layers-&gt;Flatten Image).
+    </_thetip>  
+  </tip>   
+   
+<!--                                                                       -->
+<!-- (end of tips)                                                         -->
+<!--                                                                       -->
+</gimp-tips>
diff --git a/tests/cases/merge8.keys.in b/tests/cases/merge8.keys.in
new file mode 100644 (file)
index 0000000..b204d85
--- /dev/null
@@ -0,0 +1,12 @@
+application/oda
+       _description=ODA document
+
+application/pdf
+       _description=PDF document
+       default_action_type=application
+       short_list_component_iids_for_novice_user_level=OAFIID:gpdf_component:892f2727-e2ec-423c-91ad-6f7b75fec6c8
+       short_list_component_iids_for_intermediate_user_level=OAFIID:gpdf_component:892f2727-e2ec-423c-91ad-6f7b75fec6c8
+       short_list_component_iids_for_advanced_user_level=OAFIID:gpdf_component:892f2727-e2ec-423c-91ad-6f7b75fec6c8
+       short_list_application_ids_for_novice_user_level=acroread,xpdf,ggv,gv
+       short_list_application_ids_for_intermediate_user_level=acroread,xpdf,ggv,gv
+       short_list_application_ids_for_advanced_user_level=acroread,xpdf,ggv,gv
diff --git a/tests/cases/schemasmerge1.po b/tests/cases/schemasmerge1.po
new file mode 100644 (file)
index 0000000..10b9a35
--- /dev/null
@@ -0,0 +1,42 @@
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-panel\n"
+"POT-Creation-Date: 2002-10-03 14:14+0300\n"
+"PO-Revision-Date: 2002-09-13 01:59+0200\n"
+"Last-Translator: Christian Rose <menthos@menthos.com>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: extract11.schemas.in.h:1
+msgid "12"
+msgstr ""
+
+#: extract11.schemas.in.h:2
+msgid "24"
+msgstr "12"
+
+#: extract11.schemas.in.h:3
+msgid "Display seconds in time"
+msgstr "Visa sekunder i tiden"
+
+#: extract11.schemas.in.h:4
+msgid "Hour format"
+msgstr "Timformat"
+
+#: extract11.schemas.in.h:5
+msgid "Puh long."
+msgstr "fuuu"
+
+#: extract11.schemas.in.h:6
+msgid "Sets the hour format, may be either 12 or 24"
+msgstr "Ställer in formatet på timmar, kan vara antingen 12 eller 24"
+
+#: extract11.schemas.in.h:8
+msgid "Something random..even has >"
+msgstr ""
+
diff --git a/tests/cases/schemasmerge2.po b/tests/cases/schemasmerge2.po
new file mode 100644 (file)
index 0000000..ff6a1e3
--- /dev/null
@@ -0,0 +1,41 @@
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-panel\n"
+"POT-Creation-Date: 2002-10-03 14:14+0300\n"
+"PO-Revision-Date: 2002-08-20 02:20+0300\n"
+"Last-Translator: Yanko Kaneti <yaneti@declera.com>\n"
+"Language-Team: Bulgarian <dict@linux.zonebg.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: extract11.schemas.in.h:1
+msgid "12"
+msgstr "24"
+
+#: extract11.schemas.in.h:2
+msgid "24"
+msgstr ""
+
+#: extract11.schemas.in.h:3
+msgid "Display seconds in time"
+msgstr "Показва секунди"
+
+#: extract11.schemas.in.h:4
+msgid "Hour format"
+msgstr "Формат за часа"
+
+#: extract11.schemas.in.h:5
+msgid "Puh long."
+msgstr ""
+
+#: extract11.schemas.in.h:6
+msgid "Sets the hour format, may be either 12 or 24"
+msgstr "Установява формата на часа, може да бъде 12 или 24-часов"
+
+#: extract11.schemas.in.h:8
+msgid "Something random..even has >"
+msgstr ""
diff --git a/tests/cases/space-preserve.xml.in b/tests/cases/space-preserve.xml.in
new file mode 100644 (file)
index 0000000..d9797f8
--- /dev/null
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<error-list domain="shell" xml:space="preserve">
+
+ <error id="upgrade-nospace" type="error">
+  <_primary>Insufficient disk space for upgrade.</_primary>
+  <_secondary>Upgrading your data and settings will require up to {0} of disk
+space, but you only have {1} available.
+
+You will need to make more space available in your home directory before you can
+continue.</_secondary>
+  <button stock="gtk-quit" response="GTK_RESPONSE_CANCEL"/>
+ </error>
+
+ <!-- lets test reverting xml:space to default as well -->
+ <error xml:space="default">
+  <_primary>This is not an error.</_primary>
+  <_secondary>And this message should take no more than
+              one single row, no matter the spacing in 
+              the source file.
+  </_secondary>
+ </error>
+</error-list>
diff --git a/tests/cases/spacepreserve.po b/tests/cases/spacepreserve.po
new file mode 100644 (file)
index 0000000..bd16d5c
--- /dev/null
@@ -0,0 +1,44 @@
+# Test file for intltool.
+# Danilo Segan <danilo@gnome.org>, 2005.
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+msgid ""
+msgstr ""
+"Project-Id-Version: space preserving test\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2005-06-26 12:46+0200\n"
+"PO-Revision-Date: 2005-06-26 12:49+0200\n"
+"Last-Translator: Данило Шеган <danilo@gnome.org>\n"
+"Language-Team: Serbian <gnom@prevod.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: space-preserve.xml.in.h:1
+msgid ""
+"And this message should take no more than one single row, no matter the "
+"spacing in the source file."
+msgstr "Ова порука не сме заузети више од једног реда, без обзира на начин приказа у изворној датотеци."
+
+#: space-preserve.xml.in.h:2
+msgid "Insufficient disk space for upgrade."
+msgstr "Недовољно места на диску за освежавање."
+
+#: space-preserve.xml.in.h:3
+msgid "This is not an error."
+msgstr "Ово није грешка."
+
+#: space-preserve.xml.in.h:4
+msgid ""
+"Upgrading your data and settings will require up to {0} of disk\n"
+"space, but you only have {1} available.\n"
+"\n"
+"You will need to make more space available in your home directory before you "
+"can\n"
+"continue."
+msgstr ""
+"Освежавање ваших података и подешавања захтева бар {0} простора\n"
+"на диску, а вама је остало само {1}.\n"
+"\n"
+"Мораћете да ослободите још простора у вашем личном директоријуму\n"
+"пре него што наставите."
diff --git a/tests/cases/test-quoted.dtd b/tests/cases/test-quoted.dtd
new file mode 100644 (file)
index 0000000..0aaef26
--- /dev/null
@@ -0,0 +1,4 @@
+<!ENTITY password.title      "Channel requires &quot;authentication&quot;">
+<!ENTITY password.prompt     "Please enter the username and password given to you by this channel's publisher.">
+<!ENTITY password.username   "Username\"foo\":">
+<!ENTITY password.password   "Password\a:">
diff --git a/tests/cases/test-quoted.po b/tests/cases/test-quoted.po
new file mode 100644 (file)
index 0000000..7e2622b
--- /dev/null
@@ -0,0 +1,31 @@
+# Test file for intltool.
+# 
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2001-01-31 17:45+0100\n"
+"PO-Revision-Date: 2000-05-29 02:16+01:00\n"
+"Last-Translator: NONE <intltool-maint@gnome.org>\n"
+"Language-Team: NONE <kenneth@gnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: po/test-quoted.dtd.h:1
+msgid "Channel requires &quot;authentication&quot;"
+msgstr "This requires authentication"
+
+#: po/test-quoted.h:2
+msgid "Please enter the username and password given to you by this channel's publisher."
+msgstr "Enter your username and password."
+
+#: po/test-quoted.h:3
+msgid "Username\"foo\":"
+msgstr "User Name:"
+
+#: po/test-quoted.h:4
+msgid "Password\\a:"
+msgstr "Passphrase\\a:"
diff --git a/tests/cases/test.po b/tests/cases/test.po
new file mode 100644 (file)
index 0000000..908d317
--- /dev/null
@@ -0,0 +1,158 @@
+# Test file for intltool.
+# Copyright (C) 1999-2000 Free Software Foundation, Inc.
+# Kenneth Christiansen <kenneth@gnu.org>, 2000.
+#
+# THIS IS A TEST FILE - PLEASE DO NOT CHANGE
+# The fuzzies and non translated lines are meant to
+# be there
+
+msgid ""
+msgstr ""
+"Project-Id-Version: Test file - DON'T CHANGE\n"
+"POT-Creation-Date: 2001-01-31 17:45+0100\n"
+"PO-Revision-Date: 2007-02-24 16:02-0500\n"
+"Last-Translator: Kenneth Christiansen <kenneth@gnu.org>\n"
+"Language-Team: NONE <kenneth@gnu.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: po/abiword.xml.h:1
+msgid "Close the current file"
+msgstr ""
+
+#: po/abiword.xml.h:2
+msgid "Copy"
+msgstr "Kopiér"
+
+#: po/abiword.xml.h:3
+msgid "Copy the current selection to the clipboard"
+msgstr ""
+
+#: po/abiword.xml.h:4
+msgid "Create a new shared view of the workbook"
+msgstr ""
+
+#: po/abiword.xml.h:5
+msgid "Create a new workbook"
+msgstr ""
+
+#: po/abiword.xml.h:7
+#, no-c-format
+msgid "Error while attempting to save %s: could not construct exporter"
+msgstr "Kunne ikke skrive til & filen \"%s\" -- \\."
+
+#: po/abiword.xml.h:8
+msgid "New"
+msgstr "Ny"
+
+#: po/abiword.xml.h:9
+msgid "New _Shared"
+msgstr ""
+
+#: po/abiword.xml.h:10
+msgid "Print"
+msgstr "Udskriv"
+
+#: po/abiword.xml.h:11
+msgid "Print Preview"
+msgstr "Vis udskrift"
+
+#: po/abiword.xml.h:12
+#, fuzzy
+msgid "Print preview"
+msgstr "Eksempel"
+
+#: po/abiword.xml.h:13
+msgid "Print the workbook"
+msgstr ""
+
+#: po/abiword.xml.h:14
+msgid "Redo the undone action"
+msgstr ""
+
+#: po/abiword.xml.h:15
+msgid "Sum"
+msgstr ""
+
+#: po/abiword.xml.h:16
+msgid "Sum into the current cell"
+msgstr ""
+
+#: po/abiword.xml.h:17
+msgid "Undo the last action"
+msgstr ""
+
+#: po/abiword.xml.h:19
+#, no-c-format
+msgid "Writing error when attempting to save %s"
+msgstr "Kunne ikke skrive til filen %s."
+
+#: po/abiword.xml.h:20
+msgid "Zoom the spreadsheet in or out"
+msgstr ""
+
+#: po/abiword.xml.h:21
+msgid "_Close"
+msgstr "Luk"
+
+#: po/abiword.xml.h:23
+#, fuzzy
+msgid "_Zoom..."
+msgstr "Zoom"
+
+#: po/abiword.xml.h:24
+msgid "font-bold-f.png"
+msgstr ""
+
+#: fake/file.h:123
+msgid "Fax"
+msgstr "Translated Fax"
+
+msgid ""
+"Nearly all image operations are performed by right-clicking on the image. "
+"And don't worry, you can undo most mistakes..."
+msgstr "You are so very lucky to be using this excellent program."
+
+msgid "ODA document"
+msgstr "not an ODA document"
+
+msgid "PDF document"
+msgstr "not a PDF document"
+
+msgid "Sample <b>xml</b> data."
+msgstr "Well-formed <b>XML</b> data."
+
+msgid "Sample <i>xml</i> data."
+msgstr "Invalid <i>XML data."
+
+msgid "The &amp;gt; entity produces the &gt; character"
+msgstr "The following entity: &amp;gt; produces: &gt;"
+
+msgid "The &amp;lt; entity produces the &lt; character"
+msgstr "The following entity: &amp;lt; produces: &lt;"
+
+msgid "The &gt; entity produces the > character"
+msgstr "The following entity: &gt; produces: >"
+
+msgid "The &lt; entity produces the < character"
+msgstr "The following entity: &lt; produces: <"
+
+#~ msgid " Auto Update"
+#~ msgstr " Opdatér automatisk"
+
+#~ msgid "inch"
+#~ msgstr "tomme"
+
+#~ msgid "pico"
+#~ msgstr "pico"
+
+#~ msgid "points"
+#~ msgstr "punkter"
+
+#~ msgid ""
+#~ "Following Paragraph Following Paragraph Following Paragraph Following "
+#~ "Paragraph Following Paragraph Following Paragraph Following Paragraph"
+#~ msgstr ""
+#~ "Efterfølgende afsnit Efterfølgende afsnit Efterfølgende afsnit Efterfølgende "
+#~ "afsnit Efterfølgende afsnit Efterfølgende afsnit Efterfølgende afsnit"
diff --git a/tests/cases/test.schemas.in b/tests/cases/test.schemas.in
new file mode 100644 (file)
index 0000000..41284cb
--- /dev/null
@@ -0,0 +1,44 @@
+<!-- This is a test. Please DON'T CHANGE it. -->
+<gconfschemafile>
+    <schemalist>    
+
+      <schema>
+        <key>/schemas/apps/clock_applet/prefs/hour_format</key>
+        <owner>clock-applet</owner>
+        <type>int</type>
+        <locale name="C">
+          <default><!-- default value for /schemas/apps/clock_applet/prefs/hour_format  
+                    The translation should only include the localized default
+                    eg. 12 or 24 -->24</default>
+          <short>Hour format</short>
+          <long>Sets the hour format, may be either 12 or 24</long>
+        </locale>
+        <locale name="en_US">
+          <default>12</default>
+          <short>Hour format</short>
+          <long>Sets the hour format, may be either 12 or 24</long>
+        </locale>
+      </schema>
+                 
+      <schema>
+        <key>/schemas/apps/clock_applet/prefs/show_seconds</key>
+        <owner>clock-applet</owner>
+        <type>bool</type>
+        <default>true</default>
+        <locale name="C">
+          <long>Display seconds in time</long>
+        </locale>
+      </schema>
+
+      <schema>
+        <key>some random key</key>
+        <owner>clock-applet</owner>
+        <type>int</type>
+        <locale name="C">
+          <default>12</default>
+          <short>Something random..even has > </short>
+          <long>Puh long.</long>
+        </locale>
+      </schema>
+                
+</gconfschemafile>
diff --git a/tests/cases/unicodetext.xml.in b/tests/cases/unicodetext.xml.in
new file mode 100644 (file)
index 0000000..445d569
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE gweather SYSTEM "locations.dtd">
+<gweather format="1.0">
+<!-- Here we demonstrate how intltools behave 
+when comments or _name names contain non-US-ASCII 
+characters.
+-->
+<region>
+  <_name>Europe</_name>
+  <country>
+    <city>
+      <!-- Translators: This is in France. -->
+      <_name>Chambéry</_name>
+      <location>
+        <!-- Translators: This is in Chambéry in France. -->
+        <_name>Aix-les-Bains</_name>
+        <code>LFLB</code>
+        <coordinates>45-39N 005-53E</coordinates>
+      </location>
+    </city>
+  </country>
+</region>
+</gweather>
diff --git a/tests/results/Makefile.am b/tests/results/Makefile.am
new file mode 100644 (file)
index 0000000..4366c6b
--- /dev/null
@@ -0,0 +1,42 @@
+NULL = 
+
+EXTRA_DIST =                                   \
+       context.xml                             \
+       context.xml.in.h                        \
+       extract-comments.xml.h                  \
+       extract1.desktop.h                      \
+       extract10.templates_.h                  \
+       extract13.desktop                       \
+       extract13.desktop.in.h                  \
+       extract3.xml.in.h                       \
+       extract6.glade.h                        \
+       extract7.xml.h                          \
+       extract8.glade.h                        \
+       extract9.xml                            \
+       extract9.xml.in.h                       \
+       extract12.xml.in.h                      \
+       extract14.xml.in.h                      \
+       extract-gtkbuilder.ui.h                 \
+       gsettings.gschema.xml.h                 \
+       iso88591text.xml.in.h                   \
+       merge-cdata.xml                         \
+       merge-deepattr.xml                      \
+       merge1.xml                              \
+       merge10.templates                       \
+       merge11.xml                             \
+       merge12.xml                             \
+       merge4.xml                              \
+       merge5p.sheet                           \
+       merge5u.sheet                           \
+       merge6.xml                              \
+       merge7.xml                              \
+       merge8.keys                             \
+       multi.merge6.xml                        \
+       multi.test-quoted.dtd                   \
+       space-preserve.xml                      \
+       space-preserve.xml.in.h                 \
+       test-quoted.dtd.h                       \
+       test.schemas                            \
+       test.schemas.in.h                       \
+       unicodetext.xml.in.h                    \
+       $(NULL)
diff --git a/tests/results/Makefile.in b/tests/results/Makefile.in
new file mode 100644 (file)
index 0000000..f67ddfe
--- /dev/null
@@ -0,0 +1,343 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
+VPATH = @srcdir@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+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 = :
+subdir = tests/results
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = @pkgdatadir@
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BZR = @BZR@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+aclocaldir = @aclocaldir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+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@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+NULL = 
+EXTRA_DIST = \
+       context.xml                             \
+       context.xml.in.h                        \
+       extract-comments.xml.h                  \
+       extract1.desktop.h                      \
+       extract10.templates_.h                  \
+       extract13.desktop                       \
+       extract13.desktop.in.h                  \
+       extract3.xml.in.h                       \
+       extract6.glade.h                        \
+       extract7.xml.h                          \
+       extract8.glade.h                        \
+       extract9.xml                            \
+       extract9.xml.in.h                       \
+       extract12.xml.in.h                      \
+       extract14.xml.in.h                      \
+       extract-gtkbuilder.ui.h                 \
+       gsettings.gschema.xml.h                 \
+       iso88591text.xml.in.h                   \
+       merge-cdata.xml                         \
+       merge-deepattr.xml                      \
+       merge1.xml                              \
+       merge10.templates                       \
+       merge11.xml                             \
+       merge12.xml                             \
+       merge4.xml                              \
+       merge5p.sheet                           \
+       merge5u.sheet                           \
+       merge6.xml                              \
+       merge7.xml                              \
+       merge8.keys                             \
+       multi.merge6.xml                        \
+       multi.test-quoted.dtd                   \
+       space-preserve.xml                      \
+       space-preserve.xml.in.h                 \
+       test-quoted.dtd.h                       \
+       test.schemas                            \
+       test.schemas.in.h                       \
+       unicodetext.xml.in.h                    \
+       $(NULL)
+
+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 ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/results/Makefile'; \
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --foreign tests/results/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
+$(am__aclocal_m4_deps):
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+           fi; \
+           cp -fpR $$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
+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)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+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:
+
+.MAKE: install-am install-strip
+
+.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-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-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:
diff --git a/tests/results/context.xml b/tests/results/context.xml
new file mode 100644 (file)
index 0000000..719ae3e
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<test>
+    <entry>
+       <name>Foo</name>
+       <name xml:lang="az">az-foo</name>
+       <name xml:lang="fr">le foo</name>
+    </entry>
+    <entry>
+       
+       <name msgctxt="1">Bar</name>
+       <name xml:lang="fr" msgctxt="1">bar un</name>
+    </entry>
+    <entry>
+       
+       <name msgctxt="2">Bar</name>
+       <name xml:lang="fr" msgctxt="2">bar deux</name>
+    </entry>
+    <entry>
+       
+       <name>Baz</name>
+       <name xml:lang="az">az-baz</name>
+       <name xml:lang="fr">le baz</name>
+    </entry>
+</test>
\ No newline at end of file
diff --git a/tests/results/context.xml.in.h b/tests/results/context.xml.in.h
new file mode 100644 (file)
index 0000000..161a65b
--- /dev/null
@@ -0,0 +1,7 @@
+char *s = N_("Foo");
+/*  This is the comment on the first Bar  */
+char *s = C_("1", "Bar");
+/*  This is the comment on the second Bar  */
+char *s = C_("2", "Bar");
+/*  This is the comment on Baz  */
+char *s = N_("Baz");
diff --git a/tests/results/extract-comments.xml.h b/tests/results/extract-comments.xml.h
new file mode 100644 (file)
index 0000000..d7e1222
--- /dev/null
@@ -0,0 +1,19 @@
+/*  This comment is not ignored  */
+char *s = N_("First thing to translate");
+/*  This is multi line comment for the following string;
+     second line of multi-line comment  */
+char *s = N_("Something to translate");
+/*  If comment doesn't end on the previous line, it should be handled
+     correctly  */
+char *s = N_("Final thing to translate");
+char *s = N_("This doesn't have a comment for translators");
+/*  This comment is not ignored even if it contains > (greater than) 
+sign in it, and the following string shows up as well  */
+char *s = N_("Dum-dee-dum");
+char *s = N_("attribute without comment");
+/*  This comment will appear if attributes can be commented about  */
+char *s = N_("attribute with comment");
+/*  Comment for *both* attributes and content  */
+char *s = N_("attribute value");
+/*  Comment for *both* attributes and content  */
+char *s = N_("even more content");
diff --git a/tests/results/extract-gtkbuilder.ui.h b/tests/results/extract-gtkbuilder.ui.h
new file mode 100644 (file)
index 0000000..da417c8
--- /dev/null
@@ -0,0 +1,3 @@
+char *s = N_("help");
+char *s = C_("user", "help");
+char *s = C_("developer", "help");
diff --git a/tests/results/extract1.desktop.h b/tests/results/extract1.desktop.h
new file mode 100644 (file)
index 0000000..f7f05f2
--- /dev/null
@@ -0,0 +1,2 @@
+char *s = N_("Nautilus");
+char *s = N_("Nautilus File Manager and Graphic Shell");
diff --git a/tests/results/extract10.templates_.h b/tests/results/extract10.templates_.h
new file mode 100644 (file)
index 0000000..71c1f9e
--- /dev/null
@@ -0,0 +1,22 @@
+# 3 "cases/extract10.templates_"
+/* Default
+ This comment is inserted in PO files to help translators */
+char *s = N_("US");
+# 5 "cases/extract10.templates_"
+/* Description */
+char *s = N_("Select Area");
+# 5 "cases/extract10.templates_"
+/* Description */
+char *s = N_("Please select your geographical area from the choices provided.  If you are in the United States, you can just use the US option.  You can also find UTC and GMT-offset zone settings in the Etc directory.");
+# 13 "cases/extract10.templates_"
+/* Description */
+char *s = N_("Time zone");
+# 13 "cases/extract10.templates_"
+/* Description */
+char *s = N_("Please select the time zone that is appropriate for your location.");
+# 18 "cases/extract10.templates_"
+/* Choices */
+char *s = N_("January, February, March, April, May, June, July, August, September, October, November, December");
+# 19 "cases/extract10.templates_"
+/* Description */
+char *s = N_("Current month?");
diff --git a/tests/results/extract12.xml.in.h b/tests/results/extract12.xml.in.h
new file mode 100644 (file)
index 0000000..4277e62
--- /dev/null
@@ -0,0 +1,3 @@
+char *s = N_("Other attribute");
+char *s = N_("Normal name");
+char *s = N_("Other name");
diff --git a/tests/results/extract13.desktop b/tests/results/extract13.desktop
new file mode 100644 (file)
index 0000000..e8b60a1
--- /dev/null
@@ -0,0 +1,26 @@
+[Desktop Entry]
+Encoding=UTF-8
+# 1. This comment should NOT be extracted.
+# 2. This comment should be extracted.
+Name=Find Files...
+# 3. This comment should NOT be extracted.
+# 4. This comment also should be extracted.
+Comment=Locate documents and folders on this computer by name or content
+# 5. This comment should NOT be extracted.
+Exec=gnome-search-tool
+# 6. This comment should NOT be extracted.
+Icon=gnome-searchtool
+# 7. This comment should NOT be extracted.
+Terminal=false
+# 8. This comment should NOT be extracted.
+Type=Application
+# 9. This comment should NOT be extracted.
+StartupNotify=true
+# 10. This comment should NOT be extracted.
+Categories=GNOME;GTK;Core;
+# 11. This comment should NOT be extracted.
+X-GNOME-DocPath=gnome-search-tool/gnome-search-tool.xml
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-utils
+X-GNOME-Bugzilla-Component=gsearchtool
+X-Color=Blue
diff --git a/tests/results/extract13.desktop.in.h b/tests/results/extract13.desktop.in.h
new file mode 100644 (file)
index 0000000..e9df7b9
--- /dev/null
@@ -0,0 +1,5 @@
+/*  2. This comment should be extracted. */
+char *s = N_("Find Files...");
+/*  4. This comment also should be extracted. */
+char *s = N_("Locate documents and folders on this computer by name or content");
+char *s = N_("Blue");
diff --git a/tests/results/extract14.xml.in.h b/tests/results/extract14.xml.in.h
new file mode 100644 (file)
index 0000000..a021664
--- /dev/null
@@ -0,0 +1,4 @@
+char *s = N_("The &lt; entity produces the < character");
+char *s = N_("The &gt; entity produces the > character");
+char *s = N_("The &amp;lt; entity produces the &lt; character");
+char *s = N_("The &amp;gt; entity produces the &gt; character");
diff --git a/tests/results/extract3.xml.in.h b/tests/results/extract3.xml.in.h
new file mode 100644 (file)
index 0000000..506aad6
--- /dev/null
@@ -0,0 +1 @@
+char *s = N_("Fax");
diff --git a/tests/results/extract6.glade.h b/tests/results/extract6.glade.h
new file mode 100644 (file)
index 0000000..9514443
--- /dev/null
@@ -0,0 +1,2 @@
+char *s = N_("Are you sure you want\n"
+             "to delete this contact?");
diff --git a/tests/results/extract7.xml.h b/tests/results/extract7.xml.h
new file mode 100644 (file)
index 0000000..13a1f3e
--- /dev/null
@@ -0,0 +1,9 @@
+char *s = N_("<big>Welcome to The GIMP !</big>");
+char *s = N_("Nearly all image operations are performed by right-clicking on the image. And don't worry, you can undo most mistakes...");
+char *s = N_("You can get context-sensitive help for most of the GIMP's features by pressing the F1 key at any time. This also works inside the menus.");
+char *s = N_("The GIMP uses layers to let you organize your image. Think of them as a stack of slides or filters, such that looking through them you see a composite of their contents.");
+char *s = N_("You can perform many layer operations by right-clicking on the text label of a layer in the &quot;Layers, Channels and Paths&quot; dialog.");
+char *s = N_("When you save an image to work on it again later, try using XCF, the GIMP's native file format (use the file extension <tt>.xcf</tt>). This preserves the layers and every aspect of your work-in-progress. Once a project is completed, you can save it as JPEG, PNG, GIF, ...");
+char *s = N_("The layer named &quot;Background&quot; it special because it lacks transparency. This prevents you from adding a layer mask or moving the layer up in the stack. You may add transparency to it by right-clicking in the &quot;Layers, Channels and Paths&quot; dialog and selecting &quot;Add Alpha Channel&quot;.");
+char *s = N_("Most plug-ins work on the current layer of the current image. In some cases, you will have to merge all layers (Layers-&gt;Flatten Image) if you want the plug-in to work on the whole image.");
+char *s = N_("Not all effects can be applied to all kinds of images. This is indicated by a grayed-out menu-entry. You may need to change the image mode to RGB (Image-&gt;Mode-&gt;RGB), add an alpha-channel (Layers-&gt;Add Alpha Channel) or flatten it (Layers-&gt;Flatten Image).");
diff --git a/tests/results/extract8.glade.h b/tests/results/extract8.glade.h
new file mode 100644 (file)
index 0000000..f5d13a8
--- /dev/null
@@ -0,0 +1,16 @@
+char *s = N_("_New Window");
+char *s = N_("_New Tab");
+char *s = N_("_Quit");
+char *s = N_("Testing");
+/* Comment on <property> tag */
+char *s = N_("A label");
+/* Multiline comments
+should be supported as well */
+char *s = N_("_Push me");
+char *s = N_("Testing2");
+char *s = N_("Click the button below");
+char *s = N_("This button\n"
+             "dares you to invoke this action.");
+char *s = N_("This action\n"
+             "does nothing interesting.");
+char *s = N_("Cancel (and exit) the test.");
diff --git a/tests/results/extract9.xml b/tests/results/extract9.xml
new file mode 100644 (file)
index 0000000..f366121
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gimp-tips>
+  <tip level="start">
+    <welcome>Welcome to The GIMP !</welcome>
+    <welcome xml:lang="extract9">Добродошли у Гимп!</welcome>
+    <thetip xml:space="default">Nearly all image operations are performed by right-clicking on the image. And don't worry, you can undo most mistakes.</thetip>
+    <thetip xml:lang="extract9" xml:space="default">Готово све операције на сликама се обављају десним кликом на слику. И не брините, можете опозвати већину грешака.</thetip>
+    <blah xml:space="preserve">
+
+
+      This tip should have lots of whitespace around it
+
+
+
+    </blah>
+    <blah xml:lang="extract9" xml:space="preserve">
+
+
+      Овај савет мора бити окружен са доста белина
+
+
+
+    </blah>
+  </tip>
+</gimp-tips>
\ No newline at end of file
diff --git a/tests/results/extract9.xml.in.h b/tests/results/extract9.xml.in.h
new file mode 100644 (file)
index 0000000..ee8ac42
--- /dev/null
@@ -0,0 +1,10 @@
+char *s = N_("Welcome to The GIMP !");
+char *s = N_("Nearly all image operations are performed by right-clicking on the image. And don't worry, you can undo most mistakes.");
+char *s = N_("\n"
+             "\n"
+             "\n"
+             "      This tip should have lots of whitespace around it\n"
+             "\n"
+             "\n"
+             "\n"
+             "    ");
diff --git a/tests/results/gsettings.gschema.xml.h b/tests/results/gsettings.gschema.xml.h
new file mode 100644 (file)
index 0000000..0140c9d
--- /dev/null
@@ -0,0 +1,16 @@
+char *s = C_("Dots Per Inch", "DPI");
+char *s = N_("The resolution used for converting font sizes to pixel sizes, in dots per inch.");
+char *s = N_("'space   preserved   properly'");
+char *s = N_("This is a complicated key.");
+char *s = C_("GSettings description", "This key is very complicated. You should not attempt to understand it.\n"
+             "\n"
+             "There was this one guy who attempted to make sense of it once. We don't know what happened to him.");
+/*  Translators: translate to either 12 or 24 to define the default
+           clock format.  */
+char *s = C_("clock-format", "24");
+char *s = N_("Time format");
+char *s = C_("Time format gsettings description", "How many hours can you tell apart?");
+char *s = N_("This is a key with multiple newlines.");
+char *s = C_("GSettings description", "Paragraph one. Please keep the whitespace indentation in empty lines for testing as well.\n"
+             "\n"
+             "Paragraph two. There was never anyone who tried to make sense out of this.");
diff --git a/tests/results/iso88591text.xml.in.h b/tests/results/iso88591text.xml.in.h
new file mode 100644 (file)
index 0000000..28005a7
--- /dev/null
@@ -0,0 +1,5 @@
+char *s = N_("Europe");
+/*  Translators: This is in France.  */
+char *s = N_("Chambéry");
+/*  Translators: This is in Chambéry in France.  */
+char *s = N_("Aix-les-Bains");
diff --git a/tests/results/merge-cdata.xml b/tests/results/merge-cdata.xml
new file mode 100644 (file)
index 0000000..bd6d9a3
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<foo>
+  <bar>This is a test<![CDATA[We use <bar> for testing]]></bar>
+  <![CDATA[More testing <foo test="1&amp;2" /> for the masses.]]>
+</foo>
\ No newline at end of file
diff --git a/tests/results/merge-deepattr.xml b/tests/results/merge-deepattr.xml
new file mode 100644 (file)
index 0000000..2ef2845
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+  <tag translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="az" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="extract9" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="fr" translate="Fuseau horaire">
+    <translate xml:lang="fr">Sélectionnez la zone</translate>
+  </tag>
+  <tag xml:lang="fr_BE" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="fr_FR" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="merge6" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="schemasmerge1" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="schemasmerge2" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="spacepreserve" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="test" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+  <tag xml:lang="test-quoted" translate="Time zone">
+    <translate>Select Area</translate>
+  </tag>
+</root>
\ No newline at end of file
diff --git a/tests/results/merge1.xml b/tests/results/merge1.xml
new file mode 100644 (file)
index 0000000..2da84f4
--- /dev/null
@@ -0,0 +1,126 @@
+<Root>
+    <strings>
+        <str name="MSG_SaveFailed"
+            value="Could not write to the file %s."/>
+       <str name="MSG_SaveFailedWrite"
+           value.-_:="Writing error when attempting to save %s"/>
+       <str name="MSG_SaveFailedWrite-test"
+           value.-_:="Kunne ikke skrive til filen %s."/>
+       <str name="MSG_SaveFailedExport"
+           value="Error while attempting to save %s: could not construct exporter"/>
+       <str name="MSG_SaveFailedExport-test"
+           value="Kunne ikke skrive til &amp; filen &quot;%s&quot; -- \."/>
+    </strings>
+
+    <commands>
+       <cmd name="DLG_FileClose"
+           label="_Close"
+           tip="Close the current file"
+           pixtype="stock" pixname="Close"
+           accel="*Control*w"/>
+       <cmd name="DLG_FileClose-test"
+           label="Luk"
+           tip="Close the current file"
+           pixtype="stock" pixname="Close"
+           accel="*Control*w"/>
+    </commands>
+
+    <menu>
+       <submenu name="DLG_File" label="_File">
+           <menuitem name="DLG_FileNew" verb=""/>
+
+           <separator/>
+
+           <menuitem name="FileClose" verb=""/>
+
+           <menuitem name="ViewZoom" verb=""
+               label="_Zoom..."
+               tip="Zoom the spreadsheet in or out"/>
+
+           <menuitem name="ViewNewShared" verb=""
+               label="New _Shared"
+               tip="Create a new shared view of the workbook"/>
+
+           <placeholder name="BuiltMenuItems"/>
+
+           <menuitem name="HelpAbout" verb=""/>
+
+       </submenu>
+
+    </menu>
+
+    <dockitem name="StandardToolbar" behavior="exclusive" homogeneous="0"
+       band_num="1" look="icon" relief="none">
+
+       <toolitem name="New"
+           pixtype="stock" pixname="New"
+           label="New"
+            tip="Create a new workbook"
+           verb="FileNew"/>
+       <toolitem name="New-test"
+           pixtype="stock" pixname="New"
+           label="Ny"
+            tip="Create a new workbook"
+           verb="FileNew"/>
+
+       <separator/>
+
+       <toolitem name="Print"
+           pixtype="stock" pixname="Print"
+           label="Print"
+           tip="Print the workbook"
+           verb="FilePrint"/>
+       <toolitem name="Print-test"
+           pixtype="stock" pixname="Print"
+           label="Udskriv"
+           tip="Print the workbook"
+           verb="FilePrint"/>
+
+       <toolitem name="PrintPreview"
+           pixtype="file" pixname="font-bold-f.png"
+           label="Print Preview"
+           tip="Print preview"
+           verb="FilePrintPreview"/>
+       <toolitem name="PrintPreview-test"
+           pixtype="file" pixname="font-bold-f.png"
+           label="Vis udskrift"
+           tip="Print preview"
+           verb="FilePrintPreview"/>
+
+       <separator/>
+
+       <toolitem name="Copy"
+           pixtype="stock" pixname="Copy"
+           label="Copy"
+           tip="Copy the current selection to the clipboard"
+           verb="EditCopy"/>
+       <toolitem name="Copy-test"
+           pixtype="stock" pixname="Copy"
+           label="Kopiér"
+           tip="Copy the current selection to the clipboard"
+           verb="EditCopy"/>
+
+       <control name="EditUndo" tip="Undo the last action"/>
+
+       <control name="EditRedo" tip="Redo the undone action"/>
+
+       <separator/>
+
+       <toolitem name="Sum"
+           pixtype="stock" pixname="Gnumeric_AutoSum"
+           label="Sum"
+           tip="Sum into the current cell"
+           verb="AutoSum"/>
+           verb="InsertShapedComponent" behavior="pack-end"/>
+
+       <control name="SheetZoom"
+           tip="Zoom the spreadsheet in or out"
+           vdisplay="none" behavior="pack-end"/>
+    </dockitem>
+
+    <status>
+       <item name="main"/>
+       <control name="Progress"/>
+       <control name="AutoExpr"/>
+    </status>
+</Root>
diff --git a/tests/results/merge10.templates b/tests/results/merge10.templates
new file mode 100644 (file)
index 0000000..4d3c898
--- /dev/null
@@ -0,0 +1,28 @@
+Template: timezoneconf/toplevel
+Type: select
+Choices: ${choices}
+Default: US
+Default-fr.iso-8859-1: Europe
+Description: Select Area
+ Please select your geographical area from the choices provided.  If you
+ are in the United States, you can just use the US option.  You can also
+ find UTC and GMT-offset zone settings in the Etc directory.
+Description-fr.iso-8859-1: Sélectionnez la zone
+ Veuillez sélectionner votre zone géographique à partir des choix proposés.
+ Vous pouvez également trouver les paramètres de décalage horaire UTC et
+ GMT dans le répertoire /etc.
+
+Template: timezoneconf/zone
+Type: select
+Choices: ${choices}
+Description: Time zone
+ Please select the time zone that is appropriate for your location.
+Description-fr.iso-8859-1: Fuseau horaire
+ Veuillez sélectionner le fuseau horaire approprié à votre emplacement.
+
+Template: timezoneconf/month
+Type: select
+Choices: January, February, March, April, May, June, July, August, September, October, November, December
+Choices-fr.iso-8859-1: janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre
+Description: Current month?
+Description-fr.iso-8859-1: Mois en cours ?
diff --git a/tests/results/merge11.xml b/tests/results/merge11.xml
new file mode 100644 (file)
index 0000000..d653af2
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<root>
+<translate>Sample <b>xml</b> data.</translate>
+<translate xml:lang="test">Well-formed <b>XML</b> data.</translate>
+<translate>Sample <i>xml</i> data.</translate>
+</root>
\ No newline at end of file
diff --git a/tests/results/merge12.xml b/tests/results/merge12.xml
new file mode 100644 (file)
index 0000000..841e991
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<messages>
+  <attrmsg value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="az" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="extract9" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="fr" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="fr_BE" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="fr_FR" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="merge6" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="schemasmerge1" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="schemasmerge2" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="spacepreserve" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg xml:lang="test" value="The following entity: &amp;lt; produces: &lt;"></attrmsg>
+  <attrmsg xml:lang="test-quoted" value="The &amp;lt; entity produces the &lt; character"></attrmsg>
+  <attrmsg value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="az" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="extract9" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="fr" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="fr_BE" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="fr_FR" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="merge6" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="schemasmerge1" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="schemasmerge2" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="spacepreserve" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+  <attrmsg xml:lang="test" value="The following entity: &amp;gt; produces: &gt;"></attrmsg>
+  <attrmsg xml:lang="test-quoted" value="The &amp;gt; entity produces the &gt; character"></attrmsg>
+
+  <childmsg>The &amp;lt; entity produces the &lt; character</childmsg>
+  <childmsg xml:lang="test">The following entity: &amp;lt; produces: &lt;</childmsg>
+  <childmsg>The &amp;gt; entity produces the &gt; character</childmsg>
+  <childmsg xml:lang="test">The following entity: &amp;gt; produces: &gt;</childmsg>
+</messages>
\ No newline at end of file
diff --git a/tests/results/merge4.xml b/tests/results/merge4.xml
new file mode 100644 (file)
index 0000000..5e1c0d2
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sect>
+    <title.-_:>Fax</title.-_:>
+    <title.-_: xml:lang="test">Translated Fax</title.-_:>
+</sect>
\ No newline at end of file
diff --git a/tests/results/merge5p.sheet b/tests/results/merge5p.sheet
new file mode 100644 (file)
index 0000000..2293216
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sheet xmlns="http://www.lysator.liu.se/~alla/dia/dia-sheet-ns">
+  <name>ThisSheet</name>
+  <name xml:lang="az">BuLay</name>
+  <name xml:lang="fr_FR">CetteFeuille</name>
+  <description>This is a sheet for testing</description>
+  <description xml:lang="az">Bu lay sınaq üçündür</description>
+  <description xml:lang="fr_BE">Ceci est une feuille pour tester</description>
+  <description xml:lang="fr_FR">Ceci est une feuille pour tester</description>
+  <contents>
+    <object name="Test - Mixer" intdata="0">
+      <description>A cake mixer</description>
+      <description xml:lang="az">Kökə qarışdırıcı</description>
+      <description xml:lang="fr_BE">Un mélangeur à pâtisserie</description>
+      <description xml:lang="fr_FR">Un mélangeur à pâtisserie</description>
+    </object>
+  </contents>
+</sheet>
\ No newline at end of file
diff --git a/tests/results/merge5u.sheet b/tests/results/merge5u.sheet
new file mode 100644 (file)
index 0000000..2293216
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sheet xmlns="http://www.lysator.liu.se/~alla/dia/dia-sheet-ns">
+  <name>ThisSheet</name>
+  <name xml:lang="az">BuLay</name>
+  <name xml:lang="fr_FR">CetteFeuille</name>
+  <description>This is a sheet for testing</description>
+  <description xml:lang="az">Bu lay sınaq üçündür</description>
+  <description xml:lang="fr_BE">Ceci est une feuille pour tester</description>
+  <description xml:lang="fr_FR">Ceci est une feuille pour tester</description>
+  <contents>
+    <object name="Test - Mixer" intdata="0">
+      <description>A cake mixer</description>
+      <description xml:lang="az">Kökə qarışdırıcı</description>
+      <description xml:lang="fr_BE">Un mélangeur à pâtisserie</description>
+      <description xml:lang="fr_FR">Un mélangeur à pâtisserie</description>
+    </object>
+  </contents>
+</sheet>
\ No newline at end of file
diff --git a/tests/results/merge6.xml b/tests/results/merge6.xml
new file mode 100644 (file)
index 0000000..2008552
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<foo valuetesttwo="\177ELF            \004" value-dash='testme' value="&lt;!DOCTYPE\ xbel" quotetest='a "quote" test'>
+  <bar>This is a &quot; test</bar>
+  <bar xml:lang="merge6">This is a " test --> is this a success ?</bar>
+  <bar>This is another ' test</bar>
+  <bar xml:lang="merge6">This is ' another \ test, and a Success.</bar>
+</foo>
\ No newline at end of file
diff --git a/tests/results/merge7.xml b/tests/results/merge7.xml
new file mode 100644 (file)
index 0000000..ddd2bac
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gimp-tips>
+
+
+
+
+
+
+
+
+
+  <tip level="start">
+    <welcome><big>Welcome to The GIMP !</big></welcome>
+    <thetip>Nearly all image operations are performed by right-clicking on the image. And don't worry, you can undo most mistakes...</thetip>
+    <thetip xml:lang="test">You are so very lucky to be using this excellent program.</thetip>   
+  </tip>   
+
+
+
+
+
+  <tip level="beginner">
+    <thetip>You can get context-sensitive help for most of the GIMP's features by pressing the F1 key at any time. This also works inside the menus.</thetip>  
+  </tip>   
+  <tip level="beginner">
+    <thetip>The GIMP uses layers to let you organize your image. Think of them as a stack of slides or filters, such that looking through them you see a composite of their contents.</thetip>  
+  </tip>   
+  <tip level="beginner">
+    <thetip>You can perform many layer operations by right-clicking on the text label of a layer in the &quot;Layers, Channels and Paths&quot; dialog.</thetip>  
+  </tip>   
+  <tip level="beginner">
+    <thetip>When you save an image to work on it again later, try using XCF, the GIMP's native file format (use the file extension <tt>.xcf</tt>). This preserves the layers and every aspect of your work-in-progress. Once a project is completed, you can save it as JPEG, PNG, GIF, ...</thetip>  
+  </tip>   
+  <tip level="beginner">
+    <thetip>The layer named &quot;Background&quot; it special because it lacks transparency. This prevents you from adding a layer mask or moving the layer up in the stack. You may add transparency to it by right-clicking in the &quot;Layers, Channels and Paths&quot; dialog and selecting &quot;Add Alpha Channel&quot;.</thetip>  
+  </tip>   
+  <tip level="beginner">
+    <thetip>Most plug-ins work on the current layer of the current image. In some cases, you will have to merge all layers (Layers-&gt;Flatten Image) if you want the plug-in to work on the whole image.</thetip>  
+  </tip>   
+  <tip level="beginner">
+    <thetip>Not all effects can be applied to all kinds of images. This is indicated by a grayed-out menu-entry. You may need to change the image mode to RGB (Image-&gt;Mode-&gt;RGB), add an alpha-channel (Layers-&gt;Add Alpha Channel) or flatten it (Layers-&gt;Flatten Image).</thetip>  
+  </tip>   
+   
+
+
+
+</gimp-tips>
\ No newline at end of file
diff --git a/tests/results/merge8.keys b/tests/results/merge8.keys
new file mode 100644 (file)
index 0000000..d17131f
--- /dev/null
@@ -0,0 +1,14 @@
+application/oda
+       description=ODA document
+       [test]description=not an ODA document
+
+application/pdf
+       description=PDF document
+       [test]description=not a PDF document
+       default_action_type=application
+       short_list_component_iids_for_novice_user_level=OAFIID:gpdf_component:892f2727-e2ec-423c-91ad-6f7b75fec6c8
+       short_list_component_iids_for_intermediate_user_level=OAFIID:gpdf_component:892f2727-e2ec-423c-91ad-6f7b75fec6c8
+       short_list_component_iids_for_advanced_user_level=OAFIID:gpdf_component:892f2727-e2ec-423c-91ad-6f7b75fec6c8
+       short_list_application_ids_for_novice_user_level=acroread,xpdf,ggv,gv
+       short_list_application_ids_for_intermediate_user_level=acroread,xpdf,ggv,gv
+       short_list_application_ids_for_advanced_user_level=acroread,xpdf,ggv,gv
diff --git a/tests/results/multi.merge6.xml b/tests/results/multi.merge6.xml
new file mode 100644 (file)
index 0000000..db063ad
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<foo valuetesttwo="\177ELF            \004" value-dash='testme' value="&lt;!DOCTYPE\ xbel" quotetest='a "quote" test'>
+  <bar xml:lang="merge6">This is a " test --> is this a success ?</bar>
+  <bar xml:lang="merge6">This is ' another \ test, and a Success.</bar>
+</foo>
\ No newline at end of file
diff --git a/tests/results/multi.test-quoted.dtd b/tests/results/multi.test-quoted.dtd
new file mode 100644 (file)
index 0000000..f452f97
--- /dev/null
@@ -0,0 +1,4 @@
+<!ENTITY password.title      "This requires authentication">
+<!ENTITY password.prompt     "Enter your username and password.">
+<!ENTITY password.username   "User Name:">
+<!ENTITY password.password   "Passphrase\a:">
diff --git a/tests/results/space-preserve.xml b/tests/results/space-preserve.xml
new file mode 100644 (file)
index 0000000..1b06cdc
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<error-list xml:space="preserve" domain="shell">
+
+ <error type="error" id="upgrade-nospace">
+  <primary>Insufficient disk space for upgrade.</primary>
+  <primary xml:lang="spacepreserve">Недовољно места на диску за освежавање.</primary>
+  <secondary>Upgrading your data and settings will require up to {0} of disk
+space, but you only have {1} available.
+
+You will need to make more space available in your home directory before you can
+continue.</secondary>
+  <secondary xml:lang="spacepreserve">Освежавање ваших података и подешавања захтева бар {0} простора
+на диску, а вама је остало само {1}.
+
+Мораћете да ослободите још простора у вашем личном директоријуму
+пре него што наставите.</secondary>
+  <button stock="gtk-quit" response="GTK_RESPONSE_CANCEL"/>
+ </error>
+
+ <error xml:space="default">
+  <primary>This is not an error.</primary>
+  <primary xml:lang="spacepreserve">Ово није грешка.</primary>
+  <secondary>And this message should take no more than one single row, no matter the spacing in the source file.</secondary>
+  <secondary xml:lang="spacepreserve">Ова порука не сме заузети више од једног реда, без обзира на начин приказа у изворној датотеци.</secondary>
+ </error>
+</error-list>
\ No newline at end of file
diff --git a/tests/results/space-preserve.xml.in.h b/tests/results/space-preserve.xml.in.h
new file mode 100644 (file)
index 0000000..d489d39
--- /dev/null
@@ -0,0 +1,8 @@
+char *s = N_("Insufficient disk space for upgrade.");
+char *s = N_("Upgrading your data and settings will require up to {0} of disk\n"
+             "space, but you only have {1} available.\n"
+             "\n"
+             "You will need to make more space available in your home directory before you can\n"
+             "continue.");
+char *s = N_("This is not an error.");
+char *s = N_("And this message should take no more than one single row, no matter the spacing in the source file.");
diff --git a/tests/results/test-quoted.dtd.h b/tests/results/test-quoted.dtd.h
new file mode 100644 (file)
index 0000000..e7e0476
--- /dev/null
@@ -0,0 +1,8 @@
+# 1 "cases/test-quoted.dtd"
+char *s = N_("Channel requires &quot;authentication&quot;");
+# 2 "cases/test-quoted.dtd"
+char *s = N_("Please enter the username and password given to you by this channel's publisher.");
+# 3 "cases/test-quoted.dtd"
+char *s = N_("Username\"foo\":");
+# 4 "cases/test-quoted.dtd"
+char *s = N_("Password\\a:");
diff --git a/tests/results/test.schemas b/tests/results/test.schemas
new file mode 100644 (file)
index 0000000..0760914
--- /dev/null
@@ -0,0 +1,76 @@
+<!-- This is a test. Please DON'T CHANGE it. -->
+<gconfschemafile>
+    <schemalist>    
+
+      <schema>
+        <key>/schemas/apps/clock_applet/prefs/hour_format</key>
+        <owner>clock-applet</owner>
+        <type>int</type>
+        <locale name="C">
+          <default><!-- default value for /schemas/apps/clock_applet/prefs/hour_format  
+                    The translation should only include the localized default
+                    eg. 12 or 24 -->24</default>
+          <short>Hour format</short>
+          <long>Sets the hour format, may be either 12 or 24</long>
+        </locale>
+
+        <locale name="schemasmerge1">
+          <default>12</default>
+          <short>Timformat</short>
+          <long>Ställer in formatet på timmar, kan vara antingen 12 eller 24</long>
+        </locale>
+
+        <locale name="schemasmerge2">
+          
+          <short>Формат за часа</short>
+          <long>Установява формата на часа, може да бъде 12 или 24-часов</long>
+        </locale>
+        <locale name="en_US">
+          <default>12</default>
+          <short>Hour format</short>
+          <long>Sets the hour format, may be either 12 or 24</long>
+        </locale>
+      </schema>
+                 
+      <schema>
+        <key>/schemas/apps/clock_applet/prefs/show_seconds</key>
+        <owner>clock-applet</owner>
+        <type>bool</type>
+        <default>true</default>
+        <locale name="C">
+          <long>Display seconds in time</long>
+        </locale>
+
+        <locale name="schemasmerge1">
+          <long>Visa sekunder i tiden</long>
+        </locale>
+
+        <locale name="schemasmerge2">
+          <long>Показва секунди</long>
+        </locale>
+      </schema>
+
+      <schema>
+        <key>some random key</key>
+        <owner>clock-applet</owner>
+        <type>int</type>
+        <locale name="C">
+          <default>12</default>
+          <short>Something random..even has > </short>
+          <long>Puh long.</long>
+        </locale>
+
+        <locale name="schemasmerge1">
+          
+          
+          <long>fuuu</long>
+        </locale>
+
+        <locale name="schemasmerge2">
+          <default>24</default>
+          
+          
+        </locale>
+      </schema>
+                
+</gconfschemafile>
diff --git a/tests/results/test.schemas.in.h b/tests/results/test.schemas.in.h
new file mode 100644 (file)
index 0000000..ee467e3
--- /dev/null
@@ -0,0 +1,10 @@
+/*  default value for /schemas/apps/clock_applet/prefs/hour_format  
+                    The translation should only include the localized default
+                    eg. 12 or 24  */
+char *s = N_("24");
+char *s = N_("Hour format");
+char *s = N_("Sets the hour format, may be either 12 or 24");
+char *s = N_("Display seconds in time");
+char *s = N_("12");
+char *s = N_("Something random..even has >");
+char *s = N_("Puh long.");
diff --git a/tests/results/unicodetext.xml.in.h b/tests/results/unicodetext.xml.in.h
new file mode 100644 (file)
index 0000000..ad78437
--- /dev/null
@@ -0,0 +1,5 @@
+char *s = N_("Europe");
+/*  Translators: This is in France.  */
+char *s = N_("Chambéry");
+/*  Translators: This is in Chambéry in France.  */
+char *s = N_("Aix-les-Bains");
diff --git a/tests/selftest.pl.in b/tests/selftest.pl.in
new file mode 100755 (executable)
index 0000000..e27d965
--- /dev/null
@@ -0,0 +1,295 @@
+#!@PERL@ -w
+
+#  Selftest for intltool
+#
+#  Copyright (C) 2000 Free Software Foundation.
+#
+#  This library is free software; you can redistribute 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 script is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR 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 library; if not, write to the Free Software
+#  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+#  Author(s): Kenneth Christiansen
+#             Rodney Dawes
+
+## Unset LINGUAS environment variable
+$ENV{"LINGUAS"} = "";
+
+## Release information
+my $PROGRAM  = "selftest";
+my $VERSION  = "0.1";
+my $result;
+my $case;
+
+## Loaded modules
+use strict;
+
+## Always print as the first thing
+$| = 1;
+
+my $failed = 0;
+
+my $srcdir = $ENV{"srcdir"} || ".";
+
+my $strip_trailing_cr = ($^O eq 'MSWin32' || $^O eq 'msys') ? '--strip-trailing-cr' : '';
+
+sub check_command_result
+{
+    my ($command) = shift;
+    my ($testcase) = shift;
+
+    my $result =`$command`;
+    
+    if ($? == 0 && ($result eq "" || $result =~ /^No differences/)) { 
+        print "[OK]\n"; ## diff was empty, ie. files were equal
+    } else { 
+        print "[FAILED] ($testcase)\n"; 
+        open OUT, ">>errors";
+        print OUT $result;
+        close OUT;
+        $failed = 1;
+    }
+}
+
+sub check_extract_result($)
+{
+    my ($testcase) = @_;
+    check_command_result("diff -u $strip_trailing_cr $srcdir/results/$testcase.h cases/$testcase.h", $testcase);
+}
+
+sub check_merge_result($)
+{
+    my ($testcase) = @_;
+
+    $testcase =~ s/\.in$//;
+    check_command_result("diff -u $strip_trailing_cr $srcdir/results/$testcase cases/$testcase", $testcase);
+}
+
+
+sub check_multimerge_result
+{
+    my ($testcase) = shift;
+    my ($language) = shift;
+
+    $testcase =~ s/\.in$//;
+    check_command_result("diff -u $strip_trailing_cr $srcdir/results/multi.$testcase $language/$testcase", $testcase);
+}
+
+
+## SELFTESTS
+
+my $INTLTOOL_MERGE="env LC_ALL=C @PERL@ ../intltool-merge";
+my $INTLTOOL_EXTRACT="env LC_ALL=C @PERL@ ../intltool-extract";
+
+## Welcome notice
+
+print "Running self test of the intltool module\n\n";
+unlink "errors";
+
+system("cp $srcdir/cases/*.* cases") if $srcdir ne ".";
+
+print " 1. Extract messages from simple desktop file:                       ";
+$case = "extract1.desktop";
+system("$INTLTOOL_EXTRACT --type=gettext/ini --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print " 2. Merge translations into a Bonobo UI style file:                  ";
+$case = "merge1.xml";
+system("$INTLTOOL_MERGE -o --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print " 3. Extract messages from a multi-line XML file:                     ";
+$case = "extract7.xml";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print " 4. Merge translations into a multi-line XML file:                   ";
+$case = "merge7.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print " 5. Extract messages with unusual characters in the XML tag:         ";
+$case = "extract3.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print " 6. Merge translations into a pong style XML file:                   ";
+$case = "merge4.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print " 7. Extract messages from a glade style XML file:                    ";
+$case = "extract6.glade";
+system("$INTLTOOL_EXTRACT --type=gettext/glade --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print " 8. Merge translations into a dia sheet style XML file:              ";
+$case = "merge5u.sheet";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print " 9. Merge translations into a dia sheet style XML file [broken XML]: ";
+$case = "merge5p.sheet";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "10. Merge translations that include escaped .po strings:             ";
+$case = "merge6.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "11. Merge translations into a .keys file:                            ";
+$case = "merge8.keys";
+system("$INTLTOOL_MERGE -k --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "12. Extract messages from a glade 2.0 style XML file:                ";
+$case = "extract8.glade";
+system("$INTLTOOL_EXTRACT --type=gettext/glade --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "13. Extract messages from an rfc822 style file:                      ";
+$case = "extract10.templates_";
+system("$INTLTOOL_EXTRACT --type=gettext/rfc822deb --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "14. Merge translations into an rfc822 style file:                    ";
+$case = "merge10.templates";
+system("$INTLTOOL_MERGE -r --quiet cases cases/${case}_ cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "15. Extract messages from a gconf schema style file:                 ";
+$case = "test.schemas.in";
+system("$INTLTOOL_EXTRACT --type=gettext/schemas --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "16. Merge translations into a gconf schema  style file:              ";
+$case = "test.schemas";
+system("$INTLTOOL_MERGE -s --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "17. Extract messages from a xml file using the xml:space attribute:  ";
+$case = "extract9.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "18. Merge messages into xml file using the xml:space attribute:      ";
+$case = "extract9.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "19. Merge translations into multiple files:                          ";
+$case = "merge6.xml";
+system("$INTLTOOL_MERGE -x -s --quiet --multiple-output cases cases/$case.in $case") == 0 or $failed = 1;
+check_multimerge_result($case, "merge6");
+
+print "20. Extract comments for translators from XML file:                  ";
+$case = "extract-comments.xml";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "21. Merge into file with CDATA sections:                             ";
+$case = "merge-cdata.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "22. Merge into XML file with deep translation/attribute nesting:     ";
+$case = "merge-deepattr.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "23. Ignore empty strings from XML file                               ";
+$case = "extract12.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "24. Extract messages from a xml file using inherited xml:space:      ";
+$case = "space-preserve.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "25. Merge messages into xml file using inherited xml:space:          ";
+$case = "space-preserve.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "26. Merge non-well-formed translations into xml file:                ";
+$case = "merge11.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+print "27. Extract UTF-8 encoded messages/comments from xml file:           ";
+$case = "unicodetext.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "28. Extract iso-8859-1 encoded messages/comments from xml file:      ";
+$case = "iso88591text.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "29. Extract messages from a quoted style file:                       ";
+$case = "test-quoted.dtd";
+system("$INTLTOOL_EXTRACT --type=gettext/quoted --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "30. Merge translations into multiple quoted style files:             ";
+$case = "test-quoted.dtd";
+system("$INTLTOOL_MERGE --quoted-style --quiet --multiple-output cases cases/$case $case") == 0 or $failed = 1;
+check_multimerge_result($case, "test-quoted");
+
+print "31. Extract comments for translators from a .desktop.in file:        ";
+$case = "extract13.desktop.in";
+system("$INTLTOOL_EXTRACT --type=gettext/ini --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "32. Merge translations from a .desktop.in file:                      ";
+$case = "extract13.desktop.in";
+$result = $case;
+($result = $case) =~ s/\.in//;
+system("$INTLTOOL_MERGE -d --quiet cases cases/$case cases/$result") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "33. Decode XML entities in the right order when extracting:          ";
+$case = "extract14.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "34. Merge XML translations, decoding entities in the right order:    ";
+$case = "merge12.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "35. Extract messages from an XML file with msgctxts:                 ";
+$case = "context.xml.in";
+system("$INTLTOOL_EXTRACT --type=gettext/xml --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "36. Merge translations into an XML file with msgctxts:               ";
+$case = "context.xml";
+system("$INTLTOOL_MERGE -x --quiet cases cases/$case.in cases/$case") == 0 or $failed = 1;
+check_merge_result($case);
+
+print "37. Extract messages from an GtkBuilder XML file with msgctxts:      ";
+$case = "extract-gtkbuilder.ui";
+system("$INTLTOOL_EXTRACT --type=gettext/glade --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+print "38. Extract messages from an GSettings gschema XML file:             ";
+$case = "gsettings.gschema.xml";
+system("$INTLTOOL_EXTRACT --type=gettext/gsettings --quiet --update cases/$case") == 0 or $failed = 1;
+check_extract_result($case);
+
+system("rm -f cases/*.*") if $srcdir ne ".";
+system("rm -rf C az extract9 fr fr_BE fr_FR merge6 schemasmerge1 schemasmerge2 spacepreserve test test-quoted merge6.xml");
+
+exit $failed;